




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8章章 UNIX实用程序实用程序 8.1.1 文件查找工具find 8.1.2 模式匹配工具grep 8.1.3 排序工具sort 8.1.4 head和tail工具 8.1.5 网络基本工具 8.1.6 归档工具tar8.1 UNIX实用程序(一) 8.2.1 xargs命令 8.2.2 可执行文件查找工具 8.2.3 确定文件类型工具(file) 8.2.4 文件比较工具 8.2.5 解压缩工具 8.2.6 显示特殊字符8.2 UNIX实用程序(二)习题掌握find命令的使用掌握grep命令并了解其工作原理掌握sort命令的使用掌握正则表达式的使用掌握head及tail命令的使用掌握如
2、何定位命令所在路径掌握文件及目录比较命令掌握文件压缩命令l 命令语法:命令语法:find path expressionl 功能:功能:1. 在指定路径(一个或多个目录)和其下所有的子目录中递归的查找符合指定规则的文件查找符合指定规则的文件2. 显示找到的文件名显示找到的文件名或对这些文件执行命令执行命令fleasmiscphone1phone2childlargemediumsmallsyncsizeblue brown greensumwhiteyellowcolormiscoval roundspheresumsyncshapejoehome/l 一般来说find主要用于在指定目录结构目
3、录结构中查找特定文件特定文件:$ find . -name sum ./color/sum ./shape/sum l 在一些较老的UNIX系统(例如AIX 4.2),如果需要将查找到的文件名打印出来要指定选项-print: $ find . -name sum -print ./color/sum ./shape/sum场景场景: 在当前目录下查找所有以在当前目录下查找所有以c开头的文件开头的文件 $ ls c* c1 c2 $ find . -name c* ./c1 ./c2 ./dir1/c3 ./dir1/c4 ./dir1/dir2/c5 ./dir1/dir2/c6/homete
4、am01dir1dir2c1c2c3c4c5c6Shell扩展通配符find扩展通配符l exec选项:选项:对找到的文件执行命令执行命令,执行指定命令时不会产生交互。$ find . -name m* -exec ls -l ;-rw-r-r- 1 joe staff 83 Jan 11 15:55 ./shape/misc-rw-r-r- 1 joe staff 21 Jan 11 16:01 ./size/medium-rw-r-r- 1 joe staff 38 Jan 11 15:34 ./misc匹配的文件名l ok选项:对找到的文件执行命令执行命令,执行指定命令时产生交互交互,询
5、问用户是否执行该命令。 $ find . -name m* -ok rm ; ? y ? y ? n-typefd普通文件目录文件-size+n-n n大于“n”块(block,512字节)小于“n”块(block,512字节)等于“n”块(block,512字节)-mtime+x-x修改日期超过“x”天修改日期小于“x”天-permonummode访问权限等于“onum” (例如, 755)访问权限等于“mode” (例如, rwx)-useruser根据文件的所有者-o逻辑“或”运算-newerfile与参照文件相比较更“新”$ find . -name s* -type f -size
6、+2 -exec ls -l ;-rwxr-xr-x 1 joe staff 1512 Jan 11 15:43 ./color/sum-rwxr-xr-x 1 joe staff 2148 Jan 11 15:57 ./shape/sum$ find . -perm 644 -mtime +4 -print./shape/misc$ find . -name fleas -o -name misc./misc./shape/misc./fleas$ find / -name security -print 2 errfile/var/security/usr/lpp/bos.sysmgt/i
7、nst_root/var/security/usr/lib/security/etc/security l 命令语法:命令语法:grep options pattern file1 file2 .l 功能:功能:1. 从系统的一个或多个文件或从标准输入中查找查找匹配指定模式模式的行。2. 指定模式可以是简单文本简单文本或是逻辑结构(正则正则表达式表达式),正则表达式(Regular Expression)通过通配符来扩展。简单文本正则表达式phone1:As of: 1/31/2000Anatole 389-8200Avis Betty 817 422-8345Baker John 656-4
8、333Computer Room CE phone 689-5790Dade Travel Sue 422-5690Hotline HW 800 322-4500phone2:As of: 2/15/2000Anatole 389-8200Avis Betty 817 422-8345Baker John 656-4333Computer Room CE phone 592-5712Dade Travel Sue 422-5690Hotline HW 800 322-4500$ grep 800 phone1Hotline HW 800 322-4500$ grep 800 phone*pho
9、ne1:Hotline HW 800 322-4500phone2:Hotline HW 800 322-4500l 第一个例子从文件第一个例子从文件phone1中找出了包含中找出了包含800的行的行l 第二个例子文件名使用了通配符,所以第二个例子文件名使用了通配符,所以grep会在会在phone1和和phone2中进行搜索中进行搜索 $ ps -ef | grep team01team01 10524 13126 0 09:27:45 pts/1 0:00 kshl 找出当前运行的进程中用户team01的所有进程。通过管道,ps的标准输出作为grep的标准输入。$ ps aux | grep
10、 httpd.l 找出进程名称包含httpd的进程l 命令语法:命令语法:grep regular_expression filel 正则表达式合法的元字符:正则表达式合法的元字符:.任意单个字符任意单个字符*零个或多个前一个字符零个或多个前一个字符aA枚举:枚举:a 或或 Aa-f在在a-f范围的任一字符范围的任一字符a以以a开头的任一行开头的任一行Z$以以z结尾的任一行结尾的任一行l grep命令和find命令中使用元字符,都应该用单引号括起来,避免shell对元字符进行扩展。grepgrep中的含义中的含义shell Shell中的含义中的含义作为一行开头老的管道符号$作为一行结束$表示
11、变量.单个字符?单个字符.*零个或多个字符*多个字符 - 匹配之间的单个字符 - 匹配之间的单个字符$ grep B phone1Baker John 656-4333$ grep 5$ phone1Avis Betty 817 422-8345$ grep DH phone1Dade Travel Sue 422-5690Hotline HW 800 322-4500$ grep A.*0$ phone1As of: 1/31/2000Anatole 389-8200 : 开头开头$: 结尾结尾DH: 枚举枚举.* : 零个或多个任意字符零个或多个任意字符-V显示文件中显示文件中不匹配不匹配
12、的行的行-c仅打印文件中匹配的仅打印文件中匹配的行数行数-l仅显示有匹配的行的仅显示有匹配的行的文件名文件名-n显示匹配行显示匹配行序号序号-i寻找时寻找时忽略大小写忽略大小写-w模式作为模式作为整个字整个字的匹配查找的匹配查找lfgrep$ fgrep HW phone1Hotline HW 800 322-4500legrep$ egrep 800|817 phone1 Avis Betty 817 422-8345Hotline HW 800 322-4500 fast grep: 快速查找,只能匹配固定字符串,不支持正则表达式 Extended grep: 扩展查找,支持多个模式的查找
13、(或)grep ?l 命令语法:命令语法:sort -t delimiter+field.columnoptionsl 功能:功能:对指定文件中所有的行进行排序,并将结果到标准输出l 命令选项:命令选项:-d按照字典顺序仅比较字母、数字和空格按照字典顺序仅比较字母、数字和空格-r反序排列反序排列-n对数字字段按算术值顺序排序对数字字段按算术值顺序排序-t指定字段的分界符指定字段的分界符,缺省分界符是空格或缺省分界符是空格或tab键键.$ cat animalsdog.2cat.4elephant.10rabbit.7$ sort animalscat.4dog.2elephant.10rabb
14、it.7$ cat animals | sort +0.1rabbit.7cat.4elephant.10dog.2$ cat animals | sort -t. -n +1dog.2cat.4rabbit.7elephant.10默认的sort排序 (0.0)按第二个字符排序 (0.1) -t: 分隔符 . -n: 数值顺序 +1: 第二个字段 (1.0)# more /etc/passwd | sort -t: -n +2 -6 root:!:0:0:/:/bin/ksh daemon:!:1:1:/etc: bin:!:2:2:/bin: sys:!:3:3:/usr/sys: adm
15、:!:4:4:/var/adm: uucp:!:5:5:/usr/lib/uucp:$ ls l | moretotal 3-rwxr-xr-x 1 team01 staff 175 Dec 11 21:17 script-rwxr-xr-x 1 team01 staff 47 Dec 11 20:35 script1-rwxr-xr-x 1 team01 staff 318 Dec 11 21:41 test$ ls l | sort +4 -5 -n-rwxr-xr-x 1 team01 staff 47 Dec 11 20:35 script1-rwxr-xr-x 1 team01 st
16、aff 175 Dec 11 21:17 script-rwxr-xr-x 1 team01 staff 318 Dec 11 21:41 testtotal 3l 命令语法命令语法:head -number_of_lines file(s)l 功能:功能:显示文件的前n行,默认是10行。$ head -5 myfile$ ls -l | head -12l 命令语法:命令语法:tail -number_of_lines | +starting_line_number file(s)l 功能:功能:显示文件后n行。-n表示显示文件的最后n行,+n表示从文件的第n行一直显示到文件尾.-f选项显示
17、后10行并且动态刷新.$ tail -20 file$ tail +20 filel 远程登录工具(telnet)l 文件传输工具(ftp)l 非交互式远程执行工具(rexec,rsh)l 安全Shell套件(OpenSSH)使用telnet命令可以登陆到远程主机l命令语法:命令语法:telnet 主机名/ip地址 端口号(默认23)l示例示例:$ telnet IBM-p610Trying .Connected to IBM-p610.AIX Version 5(C) Copyright by IBM and others 1982, 1996login: team01使用ftp命令可以在主
18、机间传输文件l 命令语法:命令语法:ftp 主机名/ip地址 端口号(默认21)l 示例示例:$ ftp IBM-p610Connected to IBM-p610220 readyName (IBM-p610: team01): team05Password required for team05.Password: 230 User team05 logged in.ftpftp提示符,等待用户输入ftp子命令常用常用ftp子命令子命令pwd显示当前所在目录cd RemoteDir切换远程的目录dir (or) ls -l显示当前目录下的内容get ReomteFile localFile
19、下载远程主机上的文件(到本地)put LocalFile remoteFile上传本地文件到远程主机help subcommand获取命令帮助quit (or) bye退出ftp使用rexec 或 rsh 可以非交互式的执行远程命令.示例:示例:$ rexec sys1 dateName (sys1:team01): team01Password (sys1:team01):Fri Nov 23 14:38:23 EST 2007$ rsh sys1 dateFri Nov 23 14:38:30 EST 2007 $l rexec可以通过使用本地主机的$HOME/.netrc文件保存账号信息
20、实现自动登录l rsh 需要在远程主机的/etc/hosts.equiv或$HOME/.rhosts 配置文件中进行设置才能使用l 提供了更安全的命令来代替提供了更安全的命令来代替telnet, ftp, rexec, rlogin, rcp, rsh. 数据加密后通过网络传输 连接远程主机前要进行身份校验(用户密码和RSA密钥双重验证)l 提供的命令提供的命令: ssh:远程登录和远程执行命令远程登录和远程执行命令 scp:远程拷贝远程拷贝 sftp: 加密加密FTP$ ssh team01sys1The authenticity of host sys1 () can
21、t be established.RSA key fingerprint is 21:b0:91:cb:6b:c7:47:7d:96:8d:73:43:44:e8:e3:8d.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added sys1, (RSA) to the list of known hosts.team01s password:$ tar (tape archiver)命令用来递归的保存目录中的所有文件,储存为一个档案文件(非压缩)AXIDISK
22、AXItar -cvf /tmp/ .tar -cvf /dev/rmt0 .tar -cvf /dev/fd0 .tar -xvf /dev/rmt0 tar -xvf /dev/fd0 tar -xvf /tmp/查看档案文件内容:tar -tvf /dev/rmt0 (or /dev/fd0)-c创建一个归档文件-t显示内容列表 -v显示详细的信息-f指定归档文件名-r扩展归档-x解包归档文件名l The find command is used to recursively search directories for files with particular characteris
23、tics.l The grep command is used to select entire lines containing a particular pattern.l The head and tail commands are used to view specific lines in a file.l The sort command sorts the contents of the file by the options specified. 8.2.1 xargs命令 8.2.2 可执行文件查找工具 8.2.3 确定文件类型工具(file) 8.2.4 文件比较工具 8.
24、2.5 解压缩工具 8.2.6 显示特殊字符8.2 AIX实用程序 (二)习题l 命令语法:命令语法:command1 | xargs command2l 功能:功能:从标准输入读取一组参数标准输入读取一组参数,并运行一条命令使用该组参数。 $ cat old file1 file2 file3 file4 $ cat old | xargs -t rm rm file1 file2 file3 file4file1 file2 file3 file4 $ ls printlist $ vi printlist file1 file2 file3 file4 . file10 $ xargs
25、-t qprt printlist qprt file1 file2 file3 file4 file5 . file10l 使用xargs命令,可以一次打印printlist文件中列出的所有文件l -t参数的作用是启动跟踪模式,在命令执行之前将构造的命令输出到标准输出设备。 $ ls | xargs -t -I mv .old mv apple apple.old mv banana banana.old mv carrot carrot.oldl -I 选项通知xargs将ls命令的输出的每一行插入到位置处。l 表示占位符。用户使用-I选项定义占位符所使用的符号,可以改成其他符号例如等。l
26、 xargs与与find组合使用组合使用$ find . -type f -mtime +30 | xargs -t rmrm ./file1 ./file2 ./file3 ./file4l 只使用只使用find$ find . -type f -mtime +30 -exec rm ; l 两种方式的区别:两种方式的区别: 这两种方式都可以删除同样的文件。 第一条命令是rm执行4个参数,效率高,而且没有参数数量的限制。 第二条命令是find找到的每个文件都去执行一次rm,效率低,而且有参数数量的限制。l xargs,find和和grep组合使用组合使用$ find . -type f |
27、xargs -t grep -l Hellogrep -l Hello ./file5 ./file7 ./file10 ./file7$ find . type f | xargs t grep abcgrep abc ./file1 ./file2 ./file3 ./file4l find查找当前目录下的普通文件,这些文件由查找当前目录下的普通文件,这些文件由xargs作为参数传给作为参数传给grep进行处理进行处理$ find /home -type f -links +1 | xargs ls li127 -rw-r-r 3 team01 staff 156 July 26 13:1
28、1 /home/team01/myfile127 -rw-r-r 3 team01 staff 156 July 26 13:11 /home/team01/yourfile127 -rw-r-r 3 team01 staff 156 July 26 13:11 /home/team01/akafilel -links +1 硬链接数大于硬链接数大于1l -type f 缩小搜索的范围缩小搜索的范围(目录默认的情况的链接数都大于等于目录默认的情况的链接数都大于等于2) 如果不使用如果不使用xargs可以改写成:可以改写成:$ find /home type f links +1 -exec l
29、s li ;相同的相同的i节点节点硬链接数硬链接数文件大小相同文件大小相同$ cat $HOME/.kshrcalias mylinks=find . -type f -links +1 | xargs ls -lialias myrm=find . -type f -mtime +30 | xargs rm$ mylinks127 -rw-r-r- 3 team01 staff . /home/team01/myfile127 -rw-r-r- 3 team01 staff . /home/team01/yourfile127 -rw-r-r- 3 team01 staff . /home/
30、team02/akafile$ myrmENV=$HOME/.kshrcl find命令可以查找所有类型的文件,如果只查命令可以查找所有类型的文件,如果只查找找可执行文件可执行文件,通常使用:,通常使用: which whereis whencel命令语法:命令语法:which | whereis | whence 命令名称命令名称 $ which find grep根据根据PATH变量定义查找变量定义查找/usr/bin/find/usr/bin/grep$ whereis find grep在预定义路径中查找在预定义路径中查找find: /usr/bin/findgrep: /usr/bi
31、n/grep$ whence -pv find grep根据根据alias和和PATH查找查找grep is /usr/bin/grepfind is /usr/bin/findl 命令语法:命令语法:file .l 功能:确定文件类型功能:确定文件类型 使用配置文件使用配置文件/etc/magic来进行识别来进行识别$ file /usr/bin/vi/usr/bin/vi:executable (RISC System/6000) or object module$ file c1c1: ascii text$ file /usr/bin/usr/bin: directory$ ls $
32、cat c1dir1$ c1: ascii textdir1: directoryAIX提供了三个文件比较的工具:提供了三个文件比较的工具:l diffl cmpl dircmpl 命令语法:命令语法: diff -options file1 file2l 功能:比较两个功能:比较两个文本文件文本文件之间的之间的差异差异 逐行分析比较的文本文件 将它们之间差异输出到标准输出l diff命令只能对文本文件使用命令只能对文本文件使用l 命令选项:命令选项:-w忽略空格键和tab键-b 忽略开头的空格键和tab键, 多个空格键看成一个-e 生成适合于ed行编辑器处理的格式l diff的输出结果表示:
33、的输出结果表示: 仅在file2中出现的行$ diff names names.old1c1 Caroline4d3 SamCarolBobJimDonMaryCarolineBobJimMarySamnames: ()指令指令如何将文件如何将文件file1转化为文件转化为文件file21 1 file2第1行内容 将file1的第1行换成file2的第1行4 3 file2第5行内容 将file2的第5行添加到file1的5行之后l 命令语法:命令语法:cmp -options file1 file2l 功能:功能:比较两个文件是否相同比较两个文件是否相同l cmp与与diff的区别:的区别
34、:1.diff只能比较文本文件,只能比较文本文件,cmp可以比较所有类型文件可以比较所有类型文件2.diff以以ascii为比较单位,为比较单位,cmp以以bit为比较单位为比较单位3.cmp比较结果以八进制表示,可读性很差比较结果以八进制表示,可读性很差$ cmp names names.oldnames names.old differ: byte 6, line 1$ cmp -l names names.old6 12 1517 102 1568 157 145.cmp: EOF on namesl 默认只打印第一个不相同的字符默认只打印第一个不相同的字符l 使用使用-l选项可以显示详
35、细的比较信息选项可以显示详细的比较信息l 命令语法:命令语法:dircmp -options dir1 dir2l 功能:功能:比较两个目录的内容,并将比较结果输出到标准输出比较两个目录的内容,并将比较结果输出到标准输出/home/file.sh_historyc1c2c3c4c5c6dir1dir2/home/file.sh_historyb1c1c2$ dircmp -d /home/team01 /home/team02Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 o
36、nly./dir1 ./b1./dir1/c3./dir1/c4./dir1/dir2./dir1/dir2/c5./dir1/dir2/c6Fri Jan 21 10:31:10 CDT 2000 Comparison of /home/team01 and /home/team02directory .same ./.profiledifferent ./.sh_historydifferent ./c1same ./c2Fri Jan 21 10:31:10 CDT 2000 diff of ./c1 in /home/team01 and /home/team021c1 Now is
37、the time for all good women第第1段段:列出每个目录独有的文件列出每个目录独有的文件第第2段段: 两个目录中同名文件的比较两个目录中同名文件的比较第第3段段:显示有差异的同名文件的细节显示有差异的同名文件的细节UNIX上常用的解压缩工具包括:上常用的解压缩工具包括:lcompress 压缩文件luncompress 解压文件lzcat 不进行解压查看压缩文件的内容$ ls -l file1-rw-r-r- 1 team01 staff 13383 July 26 10:10 file1$ compress -v file1file1: Compression 56.9
38、9% file1 is replaced with $ ls -l file1.Z-rw-r-r- 1 team01 staff 5756 July 26 10:10 $ zcat file1.Z(output is the normal output of the uncompressed file)$ uncompress file1.Z$ ls -l file1-rw-r-r- 1 team01 staff 13383 July 26 10:10 file1$ cat myfileThis tabs and spaces and ends with a return$ cat -vte myfileThisIfileG has tabsIand spaces andIends with aIreturn$选项说明:选项说明:-v:将非打印字符显示为可见字符。将非打印字符显示为可见字符。-t:将将tab键显示为键显示为I-e:在每一行的末尾显示一个在每一行的末尾显示一个$符号符号$ lsgreat$ rm greatfileNo such file$ ls | cat -vtGgrea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调安装工程总包合同
- 公文基础知识培训
- 儿童心理学发展心理学试题集
- 数据安全管理与加密技术应用作业指导书
- 转让股权转让协议
- 高一语文古诗文深度阅读实践
- 教育信息化应用研究合作协议
- 离婚协议孩子抚养权
- 冷藏保鲜运输合同
- 电力系统自动化控制理论测试卷及答案
- 第四章-消费者行为理论:边际效用分析
- 幼儿园爱牙日儿童保护牙齿科普课件
- 档案销毁清册(封面)
- 机械制造投标书
- 松果体细胞肿瘤护理查房
- 2024华中区域电力辅助服务管理实施细则
- 20以内减法口算练习题4000题74
- 2024年涉密人员考试试题库保密基本知识试题及答案解析
- 2024年1月份烟台市220kV公用变电站可开放容量信息明细表
- 2024年第二学期春学期人教版初中道德与法治八年级下册教学计划附教学进度表版
- 《营销素养训练-团队与个人管理实务》
评论
0/150
提交评论