450 likes | 653 Views
第十四章. AIX 实用命令 (II). 第十四章 AIX 实用命令 (II). § 14.1 xargs 命令 § 14.2 find 命令高级操作 § 14.3 alias 命令 § 14.4 定位命令 § 14.5 确定文件类型 § 14.6 文件比较命令 § 14.7 压缩解压文件 § 14.8 显示特殊字符 § 14.9 测试题. 系统管理命令 (II). 本章要点. 掌握 alias 命令的使用 了解在 AIX 系统中如何定位命令 掌握文件及目录比较命令 掌握文件压缩命令. 14.1 xargs 命令. 命令格式:.
E N D
第十四章 AIX实用命令(II)
第十四章 AIX实用命令(II) §14.1xargs命令 §14.2find命令高级操作 §14.3alias 命令 § 14.4定位命令 § 14.5确定文件类型 § 14.6文件比较命令 § 14.7压缩解压文件 §14.8显示特殊字符 § 14.9测试题
系统管理命令(II) 本章要点 掌握alias命令的使用 了解在AIX系统中如何定位命令 掌握文件及目录比较命令 掌握文件压缩命令
14.1 xargs 命令 命令格式: command1 | xargs command2 功能: xargs命令从标准输入读取数据作为下一命令 的参数
xargs 命令 示例1 $ cat oldfilelilst file1 file2 file3 file4 $ cat oldfilelist | xargs –t rm 执行该命令后,file1,file2,file3,file4都被删除。 -t参数的作用是启动跟踪模式,在命令执行之前 将构造的命令输出到标准输出设备。
xargs 命令 示例2 $ pwd /home/luming/test $ ls | xargs –t –I {} mv {} {}.c mv file1 file1.c mv file2 file2.c 执行命令之后 执行命令之前 home home -I参数通知xargs将ls命令的输出的每一行插入到{}位置处。 {} 作为一个占位符。 luming luming test test file1 file1.c file2 file2.c
xargs 命令 示例3 $ ls > printlist $ vi printlist file1 file2 file3 $ xargs –t qprt < printlist qprt file1 file2 file3 通过xargs命令,打印printlist文件中列出的所有 文件
xargs 命令综合运用 xargs与find结合使用 $ find . –type f –mtime +30 | xargs –t rm rm ./file1 ./file2 ./file3 ./file4 等价于: $ find . –type f –mtime +30 –exec rm {} \;
xargs 命令综合运用(2) xargs与grep结合使用 $ find . –type f | xargs –t grep –l hello grep –l hello ./file5 ./file7 ./file10 ./file7 find查询出一系列的文件后,将这些文件做为参数 传递到xargs中由grep在其中匹配hello这个词。
14.2 find 命令高级操作 文件查找方式比较 shell通配符查找 $ cd /home/luming $ ls file* file4 文件结构 home 在本例中要用shell通配符找出该目录下的所有 以file打头的文件可以采用以下方式: luming file4 $ ls file* */file* */*/file* doc tmp file1 file3 file2
查找方式比较 find命令查找 $ pwd /home/luming $ find . –name ‘file*’ ./file4 ./doc/file3 ./tmp/file1 ./tmp/file2 home 文件结构 find命令的重要特色之一就是它能够递归地访问目录,而shell通配符仅能对本目录下的文件进行解释 luming file4 doc tmp file1 file3 file2
find 命令 (-link参数) 功能:查找某一链接数的文件 $ find /home –type f –links +1 | xargs ls –li 127 -rw-r--r-- 3 team01 staff 156 July 26 13:11 /home/team01/file1 127 -rw-r--r-- 3 team02 staff 156 July 26 13:11 /home/team01/file2 127 -rw-r--r-- 3 team01 staff 156 July 26 13:11 /home/team02/file3 127 127 127 3 3 3 156 156 156 相同的i节点 文件的大小 链接数
find 命令 (-link参数) $ find /home –type f –links +1 | xargs ls –li 参数-links +1会找出所有链接数大于一个的文件。 -type f参数是必要的,因为目录默认的情况的链接数都大于等于2。使用该参数可以缩小搜索的范围。 该命令等价于: $ find /home –type f –links +1 -exec ls –li {} \;
14.3 alias命令 格式: alias 新命令=‘系统命令组合‘ 功能: 设置命令的别名。 通过设置别名可以减少命令的输入。 别名可以在.kshrc文件中定义或由ENV 变量指定。
alias命令示例 $ cat $HOME/.kshrc alias ll=‘ls –li’ alias search =‘find . –type f –mtime +30’ $ search /home/luming/apache /home/luming/jdk 通过env命令可以查看设置的别名
14.4 定位命令 定位命令路径的命令主要有以下几个: which whereis whence 格式: Which | whereis | whence 命令名
定位命令 示例 $ which find grep /usr/bin/find /usr/bin/grep $ whereis find grep find: /usr/bin/find grep: /usr/bin/grep $ whence find grep /usr/bin/find /usr/bin/grp
14.5 确定文件类型 格式: file <文件名> [<文件名> ..] 功能: 判断文件类型 file命令使用配置文件/etc/magic来确定文件的类型
file 命令 示例 $ file /usr/bin/vi /usr/bin/vi: executable (RISC System/6000) or object module $ file c1 C1: ascii text $ file /usr/bin /usr/bin: directory $ ls > filename c1 dir1 $ file –f filename c1: ascii text dir1: directory 查看多个文件的属性
14.6 文件比较命令 AIX提供以下三个文件比较命令: diff cmp dircmp
diff命令 命令格式: diff [-options] file1 file2 功能: 比较两个文本文件之间的区别。 注: diff命令会逐行比较两个文本文件,并将 它们之间的区别输出到标准输出。
diff命令(2) 命令参数: -w 忽略空格键和tab键 -b 忽略打头的空格键和tab键,并将多 个空格键等同看待 -e 生成适合于ed编辑器处理的格式
diff命令(3) diff命令只对文本文件有效。 diff的输出结果中: < 表示在file1中但不在file2中的行 > 表示在file2中但不在file1中的行
diff命令 示例 示例 names: (<) names.old: (>) Carol Bob Jim Don Mary Caroline Bob Jim Mary Sam $ diff names names.old 1c1 < Carol ----- > Caroline 4d3 < Don 5a5 > Sam
cmp命令 格式: cmp [-options] file1 file2 功能:比较两个文件是否相同 cmp与diff的区别在于: 1. diff仅能比较文本文件,而cmp能够比较所有类型的文件。 2. diff是以ascii作为比较的单位,而cmp是以比特作为比较的单位。
cmp命令 示例 • $ cmp names names.old • Names names.old differ: byte 6, line1 • $ cmp –l names names.old • 6 12 151 • 7 102 156 • 157 145 • ……….. • Cmp: EOF ON names 使用-l参数可以显示更详细的比较信息。 使用comm命令可以找出两个文件中共同的部分。
dircmp命令 格式: dircmp [-options] file1 file2 功能: 比较两个目录的内容,并将比较的结果输出到 屏幕。
dircmp命令(2) 在dircmp的命令中使用-d参数会在输出的最后添加 diff命令执行的结果 -s参数会忽略掉文件名及文件内容相同的显示 在使用dircmp命令时,一般应通过管道将输出的 结果输出到pg或more命令分屏显示
dircmp命令 示例 $ dircmp –d /home/team01 /home/team02 Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 only ./dir1 ./b1 ./dir1/c3 ./dir1/c4 Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 only directory . same ./.profile different ./.sh_history different ./c1 same ./c2 Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 1c1 <Now is the time for all good men> ………. >Now is the time for all good women 列出该目录下特有的目录及文件 列出两个目录下共有的目录及文件 /home/team01 /home/team02 .profile .profile .sh_history c1 .sh_history c2 c1 c3 c2 dir1 b1 c4
14.7 压缩解压文件 compress命令 压缩文件 uncompress 命令 解压文件 zcat 命令 在不解压的情况下查看压缩文件的内容
压缩解压文件(2) 在compress命令使用-v参数可以得到压缩的详细信息,比如:压缩率等. 经compress命令压缩后的文件的文件名后缀为.Z 使用uncompress命令仅能解压compress命令压缩的文件。 使用zcat能查看由compress命令压缩的文件的内容而不解压该文件。
压缩解压文件 示例 $ ls –l file1 -rw-r--r-- 1 team01 staff 13383 July 26 10:10 file1 $ compress –v file1 file1: compression 56.99% file is replaced with file1.Z -rw-r--r-- 1 team01 staff 5756 July 26 10:10 file1.Z $ 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
14.8 显示特殊字符 $ cat myfile This file has tabs and spaces and ends with with a return ……………. $ cat –vte myfile This ^Ifile has tabs ^Iand spaces and ^Iends with a^return$ 参数说明: -v 将非打印字符显示为可见字符。 -t 将tab键解释为^I -e 在每一行的末尾显示一个$符号
显示特殊字符示例 $ ls greatfile myfile $ rm greatfile No such file $ ls | cat –vt ^Ggreatfile myfile
定制特殊文件名 $ touch myfile$$ $ ls myfile1288 $ date Mon Feb 14 07:20:15 CDT 2001 $ date +’%m%d%H%M%S’ 0214072015 $ touch myfile.$(date +’%m%d’) $ ls Myfile.0214
14.9 测试题 1.下面哪些命令可以查看两个文件之间的区别: • ls • diff • dircmp • cmp
测试题 2 2. 为了减少命令输入和减少误操作带来的损失,可 以设置命令别名,下面哪个命令可以实现该功能: • env • alias • top • cmp
测试题 3 3. 通过以下哪个命令可以查看文件类型: • whatis • alias • file • cmp
测试题 4 4. 通过以下哪几个命令可以查看命令的存放路径: • whatis • which • file • whereis
测试题 5 5. 对一个目录下的文件进行打包备份可以通过以下 哪个命令实现: • cpio • cp • tar • which_fileset
测试题 6 6. 通过以下那个命令可以查看非打印字符: • ls –l file • cp -rf file / • tee • cat –vte file
测试题 7 7. 通过以下哪个命令可以压缩文件并显示压缩比: • zip file • compress –v file • zcat file • topas
测试题 8 8. 在一个文件数量不断增加的系统中,为了保证文 件名称的唯一性,有哪些方法。并请设计一个实 现的方式。
测试题答案 1. B D 2. B 3. C 4. BD 5. C 6. D 7. B
测试题答案(2) 8. 为了保证文件名的唯一性和自维持性有多种方式: 如: (1) touch file$$ (2) touch file.$(date +’%m%d%H%M%S’)