-options详细介绍:
-name:按照文件名查找文件。
-prem:按照文件权限查找文件。
-user:按照文件属主查找。
-group:按照文件所属的组查找。
-amin:查找最后n分钟被访问过的文件。
-atime:查找最后n*24小时被访问过的文件。
-mmin:查找最后n分钟被修改过的文件。
-mtime -n(+n):按照文件的修改时间查找。- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。
-cmin:查找最后n分钟被改变状态的文件。
-ctime:查找最后n*24小时被改变状态的文件。
-nouser:查找无有效属主的文件,即文件的属主在/etc/password中不存在。
-nogroup:查找无有效属组的文件,即文件的属组在/etc/group中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件:包括:
b 块设备文件
d 目录
c 字符设备文件
p 命名管道文件(FIFO)
l 符号链接文件
s socket文件
f 普通文件
-size n[c]: 查找文件长度为n块的文件,带有c时表示文件长度以字节计。xargs是用于接受stdin的输入,并把起重整为一个命令行来执行。
应用实例查找当前目录下所有的普通文件,并以长列表显示find ./ -type f -exec ls -l {} \;find ./ -type f | xargs ls -l查找当前目录下所有的普通文件,属主具有读写权限,并且文件所属组的用户和其他用户具有读权限的文件,并以长列表显示:find ./ -type f -perm 644 -exec ls -l {} \;find ./ -type f -perm 644 | xargs ls -l忽略某个目录。如果在查找文件时希望忽略某个目录,那么可以使用-prune选项来指出需要忽略的目录。在使用此选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略。find /home -path "/home/tom" -prune -o -print #希望在/home下查找文件,但是不想在/home/tom的目录下查找find /home/sam \( -path /home/sam/dir1 -o -path /home/sam/dir2 \) -prune -o -print #在/home/sam下查找文件,但是避开/home/sam/dir1和/home/sam/dir2其他实例find / -user sam #查找系统中所有属主为sam的文件find / -amin -10 #查找系统中下所有的最后10min被访问过的文件find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件find / -atime -2 # 查找在系统中最后48小时访问的文件find / -mtime -2 # 查找在系统中最后48小时访问的文件find / -empty # 查找在系统中为空的文件或者文件夹find / -name '*.core' | xargs echo -n 1 "" >/tmp/core.log #在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log。find / -type f | xargs grep "hostname" #在所有文件中查找含有hostname这个词的文件find / -size +100c #查找大于100Bytes的所有文件find / -size +500kc -and -size -1000kc #查找大于500KB且小于1000KB的文件grep命令简介grep基本语法:grep -options regex files-options详细介绍:
-A n 输出匹配行和其后n行。
-B n 输出匹配行和其前n行。
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-r 对目录进行递归搜索。注意,此选项并非 POSIX。
-o 只输出符合 RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.)
-w 整词比对, 类似 \ .
-q 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value(或存储在环境变量$?中), 符合为 true, 否则为 false .)
-E 切换为 egrep .
regex请见“正则表达式”
应用实例grep "tom" /etc/passwd #查找本机中用户名为tom的用户信息ps waux | grep httpd #查找系统中的所有httpd进程的相关信息grep -E '(begin|start)' * #查找含有begin或start字符的所有文件grep -nr "sys_open\b" fs/ #在fs目录中递归查找字符串"sys_open"grep -nr "foo\b" ./ | grep -v "bar\b" #在当前目录中搜索含有"foo"但没有"bar"的文件sort、uniq、cutsort命令简介sort命令格式:sort -cmu -o output_file [other options] +pos1 +pos2 input_files参数介绍:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上按照数字大小排序(默认是根据字母的字典排序)。
-t 域分隔符;用非空格或tab键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
-k 指定第几列,一般和-t连用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7个字符开始。
-options:
-c 显示行数,即每个重复行数目
-d 显示重复出现的数据行
-u 只显示不重复行
-f n为数字,前n个域被忽略
cut命令简介cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。-options详细介绍: -b bytes 选定指定的字节数; -c list 指定剪切字符数;
-f field 指定剪切域数;
-d 指定与空格和tab键不同的域分隔符;
- c用来指定剪切范围,如下所示:
- c 1,5-7 剪切第1个字符,然后是第5到第7个字符;
-c1-50 剪切前50个字符;
-f 格式与- c相同;
-f 1,5 剪切第1域,第5域;
- f 1,10-12 剪切第1域,第10域到第12域;
-s 对不包含分割符的行不打印输出。