按名称查找 find . -name filename
[root@vps repo]# ls
README.md vps.sh
[root@vps repo]# find . -iname vps*
./vps.sh
[root@vps repo]# find . ! -iname vps* | grep -v '^./.'
.
./README.md
[root@vps repo]#
按文件类型查找
使用-type可以指定搜索的文件类型,linux/unix将所有的的一切都视为文件(文件类型有:普通文件f,目录d,符号链接 l,字符设备c,块设备b,套接字s,FIFO-p),使用 -type选项我们能够对文件类型进行过滤
find . -type f | grep -v '^./.'
根据文件的时间戳进行搜索
Linux/Unix文件系统中的每一个文件都有三种时间戳,访问时间(-atime),修改时间(-mtime),变化时间(-ctime),单位为天数,用整数指定,数字前加上+,表示大于这个时间;加上-,表示小于这个天数;不加表示刚好这个天数
find . -atime -1 -name *.sh
基于文件大小的搜索
find提供了指定文件大小的单位选项进而搜索符合大小文件的功能 (b:块, c:字节, w:字, k:千字节, M:兆字节, G:吉字节)。
find . -size +2k
基于文件权限和所有权的匹配
-perm选项指定了find指匹配指定权限的文件,参数为文件对应的权限码
find . -perm 755
按要求查找后删除文件
find . -perm 755 -delete
find . -user alex -exec rm -rf {} ;
find / -name filename -exec rm -rf {} ;