find 命令_Find命令25个实例,你想要的都在这里了
0)介绍
find命令是linux系统中最有用同时也是最重要的命令之一。默认几乎所有linux发行版本中都会安装。在linux系统中一切事物都是不同形式的文件来体现,当我们需要使用文件时使用find命令有能力及时定位到指定的文件。
使用find命令我们可以基于一些条件来寻找我们需要的文件。我们可以使用单一或者联合一些条件来搜索。我们也可以在搜索的结果上执行一些行动操作。在本文中我们将展示一些find命令的实例。find命令会查找指定目录下的搜索文件(包括子目录和隐藏文件)。
1) 列出当前目录下所有文件和文件夹(包括子文件夹的内容和隐藏文件)
$ find
我们也可以使用 "find ."命令同样和上面效果相同
2) 当前工作目录查看所有文件或者文件夹
搜索当前目录下的所有文件夹
$ find . -type d
搜索当前目录下所有的文件(不包括文件夹)
$ find . -type f
3) 列出指定目录下的所有文件和文件夹
搜索指定目录下(/root)所有的文件和文件夹
$ find /root
4) 在指定的文件夹内查找指定文件名的文件
查看/root 目录下所有文件名为的a.txt文件
$ find /root -name "a.txt"
在/root 目录下查到所有以.txt 结尾的文件
$ find /root -name "*.txt"
5) 多个文件夹内查找文件
查看 /root 和 /ect 目录下查找 名字为a.txt 文件
$ find /root /etc -name "a.txt"
6) 忽略名称大小写查找文件
-iname 可以忽略文件名称大小写
在/root 目录下忽略文件名大小写查看a.txt文件,可以匹配: a.txt , A.txt , a.TXT, A.TXT 等等
$ find /root -iname "a.txt"
7) 查找非指定类型(其他类型)的文件
在/root目录中查找非.txt结尾的文件
$ find /root -not -name "*.txt"
8) 多条件查找文件
-regex 使用正则匹配文件
当前目录下查找所有以 .txt 或者 .html结尾的文件
$ find . -regex ".*.(txt|html)$"
9) 多条件查找文件(使用or)
-o 或(or)
等同于案例8
$ find -name "*.txt" -o -name "*.html"
10) 根据权限查看文件
-perm 根据权限查看文件
-tpye 根据类型查看文件
常用类型:f 文件,d 文件夹
在root目录下查找权限为777类型的文件
$ find /root -type f -perm 0777
11) 查找隐藏文件或者文件夹
在登录用户家目录查找所有的隐藏文件或者文件夹
$ find ~ -type f -name ".*"
12) 根据SGID查找文件和文件夹
查找所有具有SGID的文件和文件夹
$ find . -perm /g=s
13) 根据SUID查找文件和文件夹
当前目录下查找具有SUID的文件和文件夹
$ find . -perm /u=s
14) 查找可执行(u=x)文件和文件夹
当前目录查找可执行文件
$ find . -perm /a=x
15) 查找只读文件或者文件夹
在/root目录下查到当前用户具有read权限的文件和文件夹
$ find /root -perm /u=r
16) 查找指定用户的所有文件
当前目录下查找用户为xy的所有文件和文件夹
$ find . -user xy
17) 查找指定用户组所有文件
当前目录下查找apache用户组的所有文件和文件夹
$ find . -group apache
18) 查找指定文件大小
-size 指定文件大小
在/目录下查找小于等于2M的文件
$ find / -size -2M
19) 查找指定文件大小范围的文件
在/目录中查找2M-5M之间的文件
$ find / -size +2M -size -5M
在/目录中查找大于等于50M的文件
$ find / -size +50M
20) 查找8-9天前修改的文件
参考:Linux之find命令详解
查找8-9天前修改的文件
$ find / -mtime 8
21) 查找8-9天前访问的文件
参考:Linux之find命令详解
查找8-9天前访问的文件
$ find / -atime 8
22) 查找空的文件或者文件夹
在/目录中查找空的文件
$ find / -type f -empty
在/目录中查找空的文件夹
$ find ~/ -type d -empty
23) 查找最大文件和最小文件
当前目录查找最大文件的前三名
$ find . -type f -exec ls -s {} ; | sort -n -r | head -3
当前目录查找最小文件的前三名
$ find . -type f -exec ls -s {} ; | sort -n | head -3
24) 查找指定权限的文件并修改权限
打印/目录下查找权限为664的文件,并且修改为777权限
$ find / -type f -perm 644 -print -exec chmod 777 {} ;
25) 查找匹配的文件并删除它们
查找/目录下包含abc的文件并删除它们
$ find / -type f -name 'abc.*' -exec rm -f {} ;