find 是一个相当重要的查询文件绝对路径的指令
语法:find <路径> <选项> [表达式]
find 查看文件的特点:
1、从指定路径下递归向下搜索文件。
2、支持按照各种条件方式搜索
3、支持对搜索得到的文件再进一步的使用指令操作(例如:删除、统计大小、复制等)。
重要选项:
1
2
3
4
5
6
7
8
9
|
-name 根据文件名寻找文件 -user 根据文件拥有者寻找文件 -group 根据文件所属组寻找文件 -perm 根据文件权限寻找文件 -size 根据文件大小寻找文件[+_ SizeK] -type 根据文件类型寻找文件,常见类型有:f(普通文件)、c(字符设备文件)、b(块设备文件)、l(链接文件)、d(目录) -o 表达式或 -and 表达式与 -not 表达式非 |
语法2:
find [路径] [参数] [表达式] -exec 指令 {} \;
{} 代表find找到的文件
\转意
;表示本行指令结束
1
|
例:find /etc -name "host*" -exec du -h { } \;
|
2、常用的文件操作指令
head/ tail more /less 文件的查看
wc 统计文件的行、单词数、字符数、字节数
1
2
3
4
5
|
-c 只显示文件中的字节数。 -m 只显示文件中字符数。 -l 只显示行数。 -w 只显示单词数 -L 只显示文件中的最长行的长度 |
grep 显示文件中匹配关键字的行
grep [选项] <关键字> <文件...>
常用选项:
1
2
3
4
5
6
|
-c 计算匹配关键字的行数 -i 忽略字符大小写的差别 -n 显示匹配的行及其行号 -s 不显示不存在或不匹配文件的错误信息 -h 查询多个文件时不显示文件名 -l 查询文件时只显示匹配字符所在的文件名 |
sort 按序重排文本并送显示
sort [选项] <文件>
1
2
3
4
|
-o <输出文件> 将排序后的结果存入指定的文件 -r 以相反的顺序来排序 -t <分割字符>指定排序时所用的栏位分隔字符。 + <起始栏位>-<结束栏位>以指定的栏位来排序,范围由起始栏位的后一栏到结束栏位 |
uniq 去除文件中相邻的重复的行
uniq [选项] [文件]
1
2
3
|
-c 在每行旁边显示该行重复出现的次数 -d 仅显示重复出现的行列 -u 仅显示出一次的行列 |
tr 转换字符
cat 文件|tr [选项]
1
|
-s 把连续重复的字符以单独一个字符表示 |
cut 显示文件中的某一列
cut <选项> 文件
1
2
3
4
|
-d 指定分隔符 -f 指定显示某一列 -c 以字符为单位进行分割。 -b 以字符为单位进行分割 |
paste 将文件按列拼接,合并文件的列
paste [选项] [文件1] [文件2]
paste 指令会把每个文件以列对列的方式,一列列的加以合并。
1
2
|
-d 用指定的间隔字符取代跳格字符 -s 串列进行而非平行处理 |
压缩工具:
1
2
3
4
5
6
7
8
|
gzip man.config gunzip man.confif.gz bzip2 httpd.conf.bak bunzip2 httpd.conf.bk.bz2 zcat:直接显示压缩文件的内容 zless:直接逐行显示压缩文件的内容 bzcat:直接显示压缩文件的内容 bzless:直接逐行显示压缩文件的内容
|
本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1285975