find
=========================
(1)列出文件路径
--------------------
$>find
$>find /home/test
列出当前或给定目录下所有文件的绝对路径,包括目录
(2)-name/-iname
--------------------
$>find /home/test -name *.c
列出所有后缀为.c的文件(可以用双引号把内容括起来"*.c")
$>find /home/test ! -name *.c
列出所有后缀不是.c的文件
$>find /home/test -name "[A-Z]*" | wc -l
找到目录中所有大写字母开头的文件(必须加双引号),并统计数量
$>find /home/test -iname "make*"
忽略大小写,这样Makefile/makefie都能找到
(3)-type
---------------------
$>find /home -type d
列出/home下的所有目录
$>find /dev -type b -exec ls -l {} \;
用ls显示/dev下所有块设备文件的信息;
可用的type还有c(char设备文件),f(普通文件),p(FIFO或命名管道),l(符号链接),s(套接字)
$>find /home -type d -name "*drv"
列出/home目录下所有以drv作为结尾的目录名
$>find /home -type d -exec chmod 755 {} \;
将找到的所有目录的访问属性改为755
(4)-user/-mtime/-size
-----------------------
$>find /home -user root
列出/home下所有UID为root的文件
$>find /home -mtime -2
列出/home目录下两天之内修改过内容的文件;
"-mtime 2"为正好两天前修改过的文件;
"-mtime +2"为修改时间超过两天的文件;
还可以使用-atime(访问时间)和-ctime(改变uid等)
$>find /home -size +5k
列出大小超过5K(1024)字节的文件,还可以用5M,5G等