UNIX实用程序(一)
文件查找工具find
命令语法:find path expression
功能:
1.在指定路径(一个或多个目录)和其下所有的子目录中递归的查找符合指定规则的文件
2.显示找到的文件名或对这些文件执行命令
find示例使用的目录结构
使用find
一般来说find主要用于在指定目录结构中查找特定文件:
在一些较老的UNIX系统(例如AIX 4.2),如果需要将查找到的文件名打印出来要指定选项-print
shell和find对比
Shell扩展通配符:
只能查找出当前目录下的文件,并且只输出文件名
find扩展通配符:
递归查找,并且输出文件的相对路径
通过find执行命令:
exec选项:对找到的文件执行命令,执行指定命令时不会产生交互。
交互式的命令执行:
ok选项:对找到的文件执行命令,执行指定命令时产生交互,询问用户是否执行该命令。
find命令的其他选项:
find命令示例:
模式匹配工具grep
grep [options] pattern [file1 file2 …]
pattern可以是简单文本,也可以是正则表达式
功能:
1.从系统的一个或多个文件或从标准输入中查找匹配指定模式的行。
2.指定模式可以是简单文本或是逻辑结构(正则表达式),正则表达式通过通配符来扩展。
grep命令示例样本数据文件
示例:
第一个例子从文件phone1中找出了包含800的行
第二个例子文件名使用了通配符,所以grep会在phone1和phone2中进行搜索
找出当前运行的进程中用户team01的所有进程。通过管道,ps的标准输出作为grep的标准输入。
grep与正则表达式
命令语法:
grep ‘regular_expression’ file
正则表达式合法的元字符:
元字符对比通配符
grep命令和find命令中使用元字符,都应该用单引号括起来,避免shell对元字符进行扩展。
示例:
grep命令的选项:
其他grep工具
fgrep: 快速查找,只能匹配固定字符串,不支持正则表达式
egrep:扩展查找,支持多个模式的查找(或)
排序工具sort
命令语法:
sort [-t delimiter][+field[.column]][options]
功能:
对指定文件中所有的行进行排序,并将结果到标准输出
命令选项:
示例:
head和tail工具
head命令语法:
head [-number_of_lines] file(s)
功能:显示文件的前n行,默认是10行
tail命令语法:
tail [-number_of_lines | +starting_line_number] file(s)
功能:显示文件后n行。-n表示显示文件的最后n行,+n表示从文件的第n行一直显示到文件尾.-f选项显示后10行并且动态刷新.
网络基本工具
远程登录工具(telnet)
文件传输工具(ftp)
非交互式远程执行工具(rexec,rsh)
安全Shell套件(OpenSSH)
归档工具tar
tar (tape archiver)命令用来递归的保存目录中的所有文件,储存为一个档案文件(非压缩)
查看档案文件内容:
tar -tvf /dev/rmt0 (or /dev/fd0)
tar命令的选项:
小结
find命令用来递归的从目录中搜索指定的文件
grep命令用来选取整行,这些行包含了特定的模式
head和tail命令用来查看文件的指定的行
sort命令按照指定的选项对文件的内容排序
使用OpenSSH套件进行主机登录和文件传输更加安全
tar命令对目录进行归档和解档
(内容来自湖南大学肖老师的PPT)