




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
linux 简介linux是什么?linux是一套操作系统 OS(Openration System),是一类发行版的简称.同时又是内核.由linus Torvalds于1991年在芬兰的赫尔辛基大学发布.linux是一个与unix类似的操作系统,什么是UNIX?UNIX是操作系统的始祖,于1969年贝尔实验室的一个项目要建立一套多用户、多任务、多层次的操作系统,后来这个项目进度太慢就搁浅了.后由Ken Thompson与Dennis Rirthchie将一个程序星际旅行移植到PDP-7上,因其只支持单用户单任务的运行方式,于是用汇编和B语言写出了简单的UNIX这套系统,后来硬件升级到PDP-11,在系统移植过程中十分复杂.于是就有了重写这套操作系统的想法,为了重写这套操作系统Dennis Rirthchie开发了C语言,1973年UNIX被重写移植到PDP-11上,版本号为V3,可以说C语言的诞生就是为了重写UNIX系统.之后UNIX在BeL Lan延续出了V4-V10的各个版本,在1975年左右六版时,UNIX开始走出贝尔实验室.被应用到厂商和大学学习.被分成了两大流派:1.BSD家族由伯克利大学发起后产生有名的产品Free BSD等.比爾喬伊,在BSD基础上开发了SunOS,并最终创办了太阳计算机系统公司2.System V & SVR由各个厂商从AT&T购得源代码后自己发布的版本,有名产品AIX,HP-UX等.他们都从UNIX发展而来,有的与UNIX完全相容,有的部分相容,所以我们称他们为类UNIX系统.那么我们要学习的linux到底处在哪里呢?linus的祖父在赫尔辛基大学做教授,借用这个条件,linus 10岁时就接触了电脑并能自由操作,当linus来到赫尔辛基读计算机时就已经自学成一名程序员了.当时大学中使用minix这套教学系统来学习.在学习之后linus就决定开发超出Minix标准的一个运行在I386上的操作系统。后来被人们称为 Linux,Linus Minix的缩写.linux是一个套免费开放源代码的操作系统,这是linus发布时就定下的.也正因为这一规则,才使linux在今天得以如此的壮大.linux除了开放源代码外,还是一个自由的操作系统.什么是自由软件,自由软件有什么特色呢?自由软件 free software凡事可以自由使用而不受任何限制的软件.称为自由软件.free是自由,而不是免费这些自由软件的特点都是由基金会所提倡的.它的创办人是 Richard Stallman,自由软件基金会创办后,首先成立了GNU计划,目标是希望能开发一套完全自由,且与UNIX相容的操纵系统.但不要像商业版的UNIX那样昂贵.GNU 又是 GNU is Not Unix的缩写GNU GPL通用公共授权自由的获得自由的使用自由的修订自由的发布 但必须把您享有的权利完全授予和要求下一个使用者使用和遵守.传统的商业软件一般都是保护厂商的权利,称为 Copyright;而GPL是确保使用者可以自由的使用软件的权利,因此,GNU通用公共授权又被称为Copyleft;LINUX 的用途internet网络服务器 WEB FTP MAIL等企业服务器 数据库服务器 文件服务器等分散式运算系统嵌入式系统手机 PDA桌面系统发布版本:严格意义上来说linus所开发的是一个操作核心(kernel),只是操作系统中的一部分,好比汽车的引擎;而若让让这个核心完成各种我们所需要的功能还需要添加各种软件.为此,很多厂商收集并整合linux核心以及其上的应用软件经过编译优化后发布自己的版本.其中最著名的就是RED HAT了 旗下产品RHELREDHAT = FC如何使用linuxlinux系统给我们提供两种用户使用接口(User Interface);分别是图形用户接口GUI(Graphics)和文字用户接口TUI(text);文字界面又叫命令行CLI; 顾名思义就是用户通过命令来控制linux执行工作,为了能解释我们输入的命令 linux提供了一个叫做SHELL的解析器来负责解析命令; 优点:效率高缺点:学习曲线高.图形界面 和windows类似,linux的图形标准是X window 优点:简单易用缺点:效率低下控制台: 无论是图形还是命令行,我们都必须通过终端或主控制台才能与linux沟通; 那么什么是控制台呢?其实无非是键盘和显示器而已;虚拟控制台 linux提供12个虚拟控制台,每一个控制台都有一个名字叫tty1,tty2.tty12,其中1-6是文字,78图形 在不同的控制台切换使用ctrl+alt+FN演示: 切换控制台 并解释系统版本和内核版本登录系统 介绍PS(prompt string) 远程登录SSH登出系统 exit logout ctrl+D简单的文件管理命令命令语法格式: 命令 参数 目标对象切换目录在图形界面 我们用鼠标双击来进入一个目录,那么在命令行里该如何切换呢?既然要切换,就要知道切换到什么地方,先来了解一下linux的目录结构Linux和UNIX的文件系统是一个以“/ “为根的阶层式的树状文件结构,/ 因此被称为根目录。所有的文件和目录都置于根目录/ 之下。根目录/下面有/bin,/home,/usr等子目录。在早期的UNIX系统中,各个厂家各自定义了自己的UNIX系统的文件系统构成,比较混乱。为了避免在Linux也产生同样的问题,在Linux面世不久,就开始了对Linux文件系统进行标准化的活动,于1994年推出了名为FSSTND(Filesystem Standard)的Linux文件系统层次结构标准。之后,FSSTND标准吸引了UNIX社团的开发人员,他们把FSSTND扩大到UNIX系统,FSSTND就变为FHS (Filesystem Hierarchy Standard)。cd cd 回到家目录 cd / 目的目录 cd - 上次工作目录 cd . 当前目录 cd .上级目录相对路径和绝对路径我在哪?pwdtree 以树状结构显示ls 介绍颜色的用处为什么会有颜色 因为有参数长参数 短参数如何查看文件的详细属性 文件类型-普通文件 d目录 b块 c字符 l连接 p管道 s套接字如何查看隐藏文件 ls -a没有颜色时 我们该怎么办? ls -F常用组合 ls -lthr系统为我们定义的常用组合 ll l.自定义 alias lt=ls -lthr学会查看文件的属性后,我们来学习怎么查看文件内容cat -n 打印行号cat -b 同上,但排除空行分屏查看 more 只能向下less 上下均可 more 和 less 的搜索功能/ 向下搜? 向上搜n 下一个N 上一个head 查看文件头-n X 指定行数默认10行tail 查看文件尾-n X 指定行数-f 时时监控文件变化rev 左右颠倒tac 上下颠倒文件拓展名:在linux中没有拓展名的概念 需要用file命令来识别# file install.log install.log: UTF-8 Unicode text建立自己的目录和文件mkdir 建立目录mkdir -p 建立多级目录touch 建立文件touch -d 20080808 修改文件日期touch -d 1215 修改文件时间指定时间的修改方法linux里没有记录文件的创建时间# stat big_file Access: 2009-05-02 12:13:00.000000000 +0800 访问时间 cat Modify: 2009-05-02 12:13:00.000000000 +0800 内容修改时间 echo Change: 2009-05-02 17:41:55.000000000 +0800 属性修改时间 chmodtouch -m -t 200809101112.13 bigfile修改文件内容echo abcd file_namevim 编辑器的增删改存gedit复制文件 cp src dest-r 包含子目录和文件-a 保持文件权限 包含子目录和文件 保持文件连接-f 强制覆盖 不提示删除文件 rm-r 递归删除-f 强制删除 不提示移动改名 mvold new-i 提示-f 强制覆盖 不提示那么我们学习了这么多命令 又有那么多参数 该如何记忆呢?怎么查看命令帮助ls -helpman lsman 的类型章节 重点 1 用户命令 5 配置文件 8 管理员命令帮助的阅读方法 .代表可重复 代表可选择 代表必选项 |代表其中之一 info 类似浏览网页 有连接 比man更全面TAB寻找*连接?帮助man 和 info 也有搜索功能rpm包自带的帮助文档/usr/share/doc/网络vim 编辑器模式切换:编辑模式 命令模式 命令行模式 字符操作i 当前插入I 行首插入a 当前字符之后插入A 行尾插入o 下一行插入O 上一行插入x 向后删除一个字符X 向前删除一个字符u 撤销一步U 撤销所有更改c 剪切 行操作 行首 $行尾dd 删除一行 Nddyy 复制一行 Nyyp 将复制行粘贴 P上粘 词操作dw 删除一个词yw 复制一个词 块操作d$ 删至行尾 d 删至行首y$ 复制至尾 y 复制至首v 模式进入v模式 移动光标选择区域 VIM命令行操作:%s/old/new/g:set nu/nonu:e! 重新读入/ 正查? 反查: !ls 调用系统命令vim 的练习作业vimtutor 如果乱码 用gedit打开 另存为UTF-8用户管理 (增删改切)用户都存储哪些信息?用户名 密码 用户识别码UID 组识别码GID 家目录HOME shell 备注linux系统是支持多用户的系统用户分为三种以UID来区分超级用户 UID = 0在系统中拥有至高无上的权限.系统用户 UID 1-499bin,ftp,mail等,不具备登录系统的权利,却是系统运行不可缺少的.普通用户 UID 500-60000 管理员建立的用户.密码和权限都由管理员制定.群组都存储哪些信息?组名 组密码 组识别码 组成员Linux系统中的组是把一系列具有相同属性的用户加以规划后的集合.组也是分种类的 用GID来标识超级组 GID = 0系统组 GID = 1-499普通组 GID = 500-60000添加 修改 删除 登录useradd-u UID-d 主目录-g GID-G 附属组-s 登录使用的SHELLpasswd-d 删除口令-S 查看密码状态-x 密码最大时间-n 密码最小时间-w 密码警告时间-i 密码过期锁定时间-stdin 非交互添加密码echo 123 | passwd -stdin sekerid查看验证主要属组与附属组 主要属组:每一个用户都必须有且只有一个主要属组,因为文件在建立时就会使用到主属组 附属组 :每一个用户可以加入其它组,这些组被称为用户的附属组需要注意的是一个用户建立时,如果不明确指定,则系统自动建立一个与用户名相同的群组同时将这个群组也设置为该用户的附属组他们都是为了linux内的系统权限分派而存在的.用户创建的流程/etc/passwd/etc/shadow/etc/group/etc/gshadowmkdir /home/usernamecp /etc/ske1/.* /home/usernamechown username:username /home/username演示手动创建用户建立用户后如何更改usermod-u UID-d 主目录-g GID-G 附属组userdel-r 删除主目录及其文件su 切换用户 以root用户切换其他用户则不需要密码 而其他用户做任何切换都需要密码su - 加 - 与不加 - 的区别sekerlan2 $ iduid=502(seker) gid=503(zorro) groups=502(seker),503(zorro)sekerlan2 $ su root口令:rootlan2 seker# ifconfigbash: ifconfig: command not foundrootlan2 seker# pwd/home/sekerrootlan2 seker# echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/seker/bin:/home/seker/binrootlan2 seker# exitexitsekerlan2 $ iduid=502(seker) gid=503(zorro) groups=502(seker),503(zorro)sekerlan2 $ su - root口令:rootlan2 # ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:F9:41:37 rootlan2 # pwd/rootrootlan2 # 这是为什么呢?我们都知道,有些命令是只有管理员才能使用的,一般用户没有权限.就像本例中的 ifconfig.用第二种方法切换身份,相当于重新登陆,此时用户的家目录和PATH等信息会发生改变,和直接用root登陆一致;但第一种情况,切换到root身份后用户的家目录和PATH仍然是原先一般用户的家目录和PATH,我们知道,PATH里设置的是一些路径,指向一些目录,这些目录包含着一些常用的工具.如果你的PATH没有设置相应的路径,那么直接运行ifconfig系统肯定会找不到ifconfig工具在哪里.所以会提示:没有这个命令.切换组gpasswd sekergroupsu - zorrosg - sekergroupxxx xxxidgpasswd -r sekergroup 清除密码登录后检查whoami 查看当前用户身份who登录本机用户及来源,+表示mesg是否开启接收的标志w登录用户在做什么id验证用户和查看用户的群组users都有哪些登录用户退出登陆exit 退出登陆shelllogout 退出非登录shell演示rootlan2 # bashrootlan2 # logoutbash: logout: not login shell: use exitrootlan2 # .文字处理高级命令输入输出重定向标准输入 设备:键盘 文件 标记:0标准输出 设备:屏幕 终端 标记:1错误输出 设备:屏幕 终端 标记:2输入输出流程: /键盘APP 输入 - 屏幕 2 错误输出 /2.如果我想把一个程序的输出错误存放到单独的一个文件中,那么我们在这个流程中该如何介入呢?其实很简单,只是用标记符来控制输入的源和输出的目标.试验: ls out.file 将标准输出定向到文件 如果文件不存在则创建,如果文件存在则覆盖 ls out.file 将标准输出定向到文件 如果文件不存在则创建,如果文件存在则追加 ls 2 err.file 将标准输出定向到文件 如果文件不存在则创建,如果文件存在则覆盖 ls 2 err.file 将标准输出定向到文件 如果文件不存在则创建,如果文件存在则追加 ls out.file 2 err.file 将标准输出与标准错误分别定向到文件 ls & all.file 将标准错误和标准输出合并定向到文件 ls /dev/null 2&1 讲标准错误和标准输出合并定向到系统黑洞 cat infile 将文件内容读出做cat命令的输入 # cat 123 abc EOF 123 abc # 用here document避免交互输入 # passwd linuxcom linuxcom EOF Changing password for user root. passwd: all authentication tokens updated successfully. # rootstu93 # passwd seker 0987 0987 EOF/dev/null /dev/zero 介绍/dev/null 是系统的黑洞/dev/zero 是系统的零发生器4.dd if=/dev/zero of=./big_file bs=10 count=1Mrootstu93 # dd if=/dev/hda of=./mbr bs=512 count=11+0 records in1+0 records out512 bytes (512 B) copied, 0.000147336 seconds, 3.5 MB/s5.wc 计算文件的行数,单词数,字节数# wc /etc/passwd 40 59 1800 /etc/passwd# wc -l /etc/passwd 40 /etc/passwd# wc -w /etc/passwd 59 /etc/passwd# wc -c /etc/passwd 1800 /etc/passwd# 6.cut 按列提取文件-d 指明列分隔符 -f 选择输出的区域 -c 指定字符位置# cut -d: -f 1,7 /etc/passwd |head -n 2 root:/bin/bash bin:/sbin/nologin# cut -c 1-3,6-9 /etc/passwd |head -n 27.tr 字符的删除替换 -d 删除 # tr -d : /etc/passwd |head -n 2改内存信息文家信息没改 替换 # tr a-z A-Z /etc/passwd |head -n 2注意:做替换是一定写上单引号8.sort 排序输出 默认按首字符从头至尾的顺序排序 -r 逆序 -n 按数字排序 -t 指明分隔符 与 -k 连用 -k 按指定的域排序 sort -t: -gk 3 /etc/passwd# sort /etasswdc/p -t: -gk 3sort /etasswdc9.diff 对比两文件的差异d 删除了(delete) -a 新增了(append) -c 改变了(change)cp /etc/passwd .删几行 改几行 加几行diff /etc/passwd passwd做解释代表第二个文件的内容 补丁升级diff -u version1 version2 vi_to_v2.pathpath -p1 version1 vi_to_v2.path10.| 管道妙用将上一个命令的标准输出,传递给下一个命令做标准输入cat /etc/passwd | head -n 3 | cut -d: -f 1,3,7 |sort -rt: -k 3 |tr a-z A-Z | wcxargs前面我们学习了管道,管道只是让后面的命令从前一个命令获取输入那我们要建立一个/etc/passwd第一域(用户名)的目录的话,只利用管道就无法实现了11.# cut -d: -f 1 /etc/passwd |head -n 5 | mkdir-d 是分隔符 -f是题区域 -c是提取字符串的 mkdir: 缺少操作数 请尝试执行“mkdir -help”来获取更多信息。# cut -d: -f 1 /etc/passwd |head -n 5 | xargs mkdir# ls adm bin daemon lp root# 12.AWK/SED简单使用awk -F: print file sed -n s/old/new/p fileawkBEGINi=0i+ENDprint i etc/passwdsed -n 5,3p打印5到3的倍数sed -n 13p间隔3行sed -n 1,3p打印一到三行sed -n 1,+3p聪指定行往下数三行sed -n $p打印最后一行sed -n $!p出了最后一行打印其余行sed -n 1,33d删除133行sed -n 1-10wadmin提取110行sed 1r a.txt|head插入行sed 1c a.tct| head替换sed -n s/old/new/p /etc/passwd替换打印行sed -n s/root/AA&AA/p/etc/passwd注意&引用了root13 grep家族grepfgrep搜索文本pgrep找进程号egrep系统变量FS 定义字段分隔符,默认为一个空格OFS 输出的字段分隔符,默认为一个空格RS 记录分隔符,默认为一个换行符ORS 输出的记录分隔符,默认为一个换行符NR 行数FNR 行数,多文件操作时会重新排序NF 输出当前输入记录的编号(字段的个数)FILENAME 文件名1正则介绍 行首 $行尾 .除了换行符以外的任意单个字符 *前导字符的零个或多个 .*所有字符 字符组内的任一字符 对字符组内的每个字符取反(不匹配字符组内的每个字符) 非字符组内的字符开头的行 a-z 小写字母 A-Z 大写字母 a-Z 小写和大写字母 0-9 数字 单词尾扩展正则 sed 加 -r 参数 或转义 grep 加 -E 或 egrep 或转义 AWK 直接支持 sed -n /roo?/p /etc/passwd sed -rn /roo?/p /etc/passwd ? 前导字符零个或一个 + 前导字符一个或多个 abc|def abc或def a(bc|de)f abcf 或 adef xm x出现m次 xm, x出现m次至多次(至少m次) xm,n x出现m次至n次查找文件which 搜索命令的位置 搜索的源是内存中的命令别名和$PATH# which lslll /usr/bin/which: no lslll in ($PATH)# which ls alias ls=ls -color=tty /bin/ls# locate 搜索所有文件 搜索的源始updatadb库 库定期更新 所以不能搜到最新的资料locate passwd | head -n 3find 搜索真是文件系统,搜索方式多样find . -type 类型 f d l p c b s-name 名称 可以通配 find. -type f -name-size 大小 +1M 大于1M,-1M 小于1M,1M 等于1Mfind .-type f -size 5M-user 文件拥有者-group文件属组-perm 权限 有+ -时0是通配; +代表(或)三组权限匹配其中之一;比如 r-x 满足r- -x r-x 三个都成立 -代表(与)三组权限同时匹配; 比如 r-xr-xr-x 满足r-xr-x 也算成立 -o 或-not 非-ls 详细信息find . -type f -perm +044(-044)0遇到-代表通配find . -type f -perm +644(-644)此时的+是或是与find /sbin /bin /usr/sbin /usr/bin -type f -perm +4000 -ls-exec CMD ; -ok CMD ;find. -type f -size 7M -exec rm ;find. -type f -size 7M -exec cp .doc ;-mtime +3 从当天向历史天数推算的第三天前(三天前 不包含第三天)-atime -3 从当前向历史天数推算的前三天至当天这个段范围-ctime 3 从当天向历史天数推算的第三天与管道连用 | xargs 按照批量的执行 格式转换 创建目录find . -type f -size 8M|xargs -i cp.txtfind . -type f -size 7M -exec rm ;awk -F print $1 /etc/passwd | xargs -i mkdir /opt创建指定目录14计算器echo $()echo $expr 8+9压缩和解压.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip2 -z FileName创建各种不同类型的压缩文件tar cvf etc_init.d.tar /etc/init.d/打包tar xvf etc_init.d.tar /etc/init.d/解包查看压缩文件中的内容tar tvf etc_init.d.tartar 不过是一个打包工具;若需要进行对打包文件进行压缩 还需要其他工具gzip gunzip bzip2 bunzip2这些工具已经被tar所集成tar cvzf etc_init.d.tar.gz /etc/init.d/tar cvjf etc_init.d.tar.bz2 /etc/init.d/zip etc-backup.tar.bz2.zip etc-backup.tar.bz2unzip etc-backup.tar.bz2.zipgz gunzip etc-backup.gz备份还原dump restoret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 明星考试题及答案
- 风雨考试题及答案
- 咖啡考试题及答案
- 中级财务会计(山东工商学院)知到智慧树答案
- 建筑起重机械防御台风培训考试试题(附答案)
- 国家基层高血压、糖尿病防治管理指南培训考核试题及答案
- 2025版新能源汽车租赁及代购一体化服务合同
- 2025年工业自动化设备购销合同样本
- 2025年全新建材代购代理合同
- 2025版市政道路施工合同gf
- 2025年建筑工程-安全员C证-安全员(C证·上海)历年参考题库典型考点含答案解析
- 光伏项目施工组织设计方案
- 2025至2030医学混合成像系统行业产业运行态势及投资规划深度研究报告
- 2025年内蒙古交通集团考试笔试试题(含答案)
- 低压安全隐患排查
- 学堂在线 高技术与现代局部战争 章节测试答案
- 水费收缴使用管理办法
- 《研学旅行指导师实务》课件-第1章 研学旅行指导师职业基础
- 广东省汕头市金平区2023-2024学年七年级下学期期末数学试题(无答案)
- 输液泵/微量注射泵使用技术操作考核评分标准
- PWM控制技术的最新科技成果-介绍ISL6752
评论
0/150
提交评论