find命令:可以按文件名、文件的类型、用户等条件来递归查找文件或目录
find [路径] [匹配表达式] ,常用选项如下
- -name filename 按文件名
- -user username 按属主
- -group grpname 按属组
- -perm mode 按文件的权限查找文件,必须以八进制形式给出访问权限
- -type filetype 按文件类型来查找文件,f普通文件、c字符设备文件、b块设备文件、l链接文件、d目录、p管道文件
- -size n 按文件的大小查找文件,n为文件的块数,(每块512K??一定吗),带c时表示文件的长度按字符计
- -exec command 对匹配的文件执行command命令,命令形式为“命令{};"
- -empty 查找空文件
- 还有好多时间相关的参数http://man.linuxde.net/find
- 可以使用*,如"*.txt"
- -print简单地将匹配文件输出出来,-ls输出方式与ls命令相似,-print0
- find -newer选项,索引器会定期运行,识别新的或更新过的文件,然后在晚上对它们进行重新索引
-
find . type -f -newer $LASTRUN #脚本只查找修改时间比$LASTRUN文件的时间戳更晚的常规文件(不包括目录、块设备驱动程序等)
在第一次调用或者当$LASTRUN文件不逊在时,脚本会索引所有文件; -
find的-exec标志使find对每个匹配的文件运行给定命令。执行给定命令时,find会将文件名放到站位符{}所在的位置,该命令必须以分号结束。在shell中使用分号必须经过转义;或";";如:find "${dir}" $SIZE -type f -exec md5sum {} ;
locate命令:查找包含关键字文件或目录
locate [选项] [关键字] 相当于find -name,将文件名或目录中包含此关键字的路径全列出
- -i忽略大小写
- -r使用正则表达式做查找条件
- -n至多显示n个输出
- -c仅显示找到的个数
- -e指定查找的范围,仅显示当前存在的文件
- -d指定资料库的路径
- -b指定搜索的数据库
-
locate test ...... /home/lixn/test/mysite/polls/templates/polls /home/lixn/test/mysite/polls/templates/polls/detail.html /home/lixn/test/mysite/polls/templates/polls/index.html /home/lixn/test/mysite/polls/templates/polls/results.html /home/lixn/test/redis/create_pool.py /home/lixn/test/redis/data.txt /home/lixn/test/redis/demo.py /home/lixn/test/redis/pub-sub ......
whereis命令:查找命令可执行文件所在的位置
(命令但完整路径、别名、说明文件,只能用于程序名的搜索,别名自己测ll不好使)
whereis 【选项】 命令名称
- -b只搜索二进制文件 -B只在设置的目录下查找二进制文件
- -m只查找说明文件 -M只在设置的目录下查找说明文件
- -s只查找源代码文件 -S只在设置的目录下查找源代码文件
- -f不显示设置的路径部分
- 查找不包含指定类型的文件
which命令:显示被执行命令的完整路径与别名(与$PATH相关)
- -a显示所有,不仅仅是第一个
- -i从标准输入读别名列表
whatis命令:显示命令简介
- 它从程序的使用手册中抽出一行简单的介绍
diff命令:一行一行比较两个文件的不同
diff 源文件 目标文件
- -a
- -b
- -B
- -q
- -i
- -w
- -r