Linux Find
语法
find . -name "name"
find /directory -type d -mtime +30 -print
/directory:要查找的目录。
-type d:只查找目录。
-mtime +30:查找修改时间在30天之前的目录。
-print:打印出符合条件的目录路径。
根据文件属性查找
-user用户名:根据所有者查找;
-group组名:根据所属组查找;
-uid UID:根据UID查找;
-gid GID:根据GID查找;
-nouser:查找没有所有者的文件;
-nogroup:查找没有所属组的文件。
在/home目录下查找所有属于用户student的文件或目录。
find /home -user student -ls
在/var目录中查找所有者为root且所属组为mail的文件或目录。
find /var -user root -group mail
在/home目录中查找属于student的文件
find /home -uid 500
在linux命令中 + 表示大于, - 表示小于
这里将 不等于uid 转换成 大于uid 或 小于uid 及 +uid 或 -uid
因为他们是 或 的关系,于是就有以下命令
find ./ -type f -uid +1000;find ./ -type f -uid -1000
根据文件权限查找
l-perm mode:精确匹配mode所表示的条件。
l-perm /mode:任何一类用户(ugo)的权限中的任何一位(rwx)符合mode所表示的条件即可,9位权限之间存在“或”关系。
l-perm -mode:任何一类用户(ugo)的权限中的每一位(rwx)都要同时符合mode所表示的条件,9位权限之间存在“与”关系。
在boot 下查找权限为755且是类型是文件
find /boot -perm 755 -type f
在boot 下查找权限为750且是类型是目录
find /boot -perm -750 -type d
查找文件或目录
将当前目录及其子目录中的所有文件
# find . -type f
将当前目录及其子目录中的所有目录,只列出到 lib 的位置路径:
# find . -type d -name lib
# 查找深入为1
find ./ -maxdepth 1 -type d|wc -l
-maxdepth 1 不递归查找表示查找深度为1
根据时间查找
mtime 文件内容上次修改时间
atime 文件被读取或访问的时间
ctime 文件状态变化时间
查找7天前的文件
find ./ -mtime +7
1.当前时间24小时—当前时间(昨天-今天)
# find . -mtime 0
2.当前时间48小时前–当前时间24小时前(前天-昨天)
# find . -mtime 1
3.当前时间48小时前(2天前)
# find . -mtime +1
4.当前时间24小时–当前时间(昨天-今天)
# find . -mtime -1
5.只查找当前目录下(深度为1)
find . -maxdepth 1 -type f -name "*.php"
6.
find /backups -mtime +10 -name "*.*" -exec rm -rf {} \;
7、
find /mnt/docker/spug/repos/build -mtime +10 -exec rm {} \;
根据文件大小查找
找出/etc/目录下,找出10k大小的文件
find /etc/ -size 10k
找出/etc/目录下,小于10k大小的文件
find /etc/ -size -10k
找出/etc/目录下,大于10k大小的文件
find /etc/ -size +10k
size 大小: k m g