用法:find [路径] [命令参数] [表达式]
参数:
-name “文件名”:查找指定名称文件;
-user 用户名:查找指定用户拥有的文件;
-group 组名:查找指定组拥有的文件;
-mtime n:查找在N 天前被修改过的文件;
-atime n:查找在N 天前被访问过的文件;
-type d/f/b/l/p:查找指定类型的文件;
-empty:查找为空的文件;
-size:按容量大小查找;
-perm mode:查找指定属性的文件;
-exec command {} ;:查找指定的文件并执行指定的命令;
-newer 文件名 :查找比指定文件新的文件
配置举例
1、目录/var下查找所有 3 天内被修改过的文件
[root@localhost scripts]# find /var -mtime 3
/var/lib/NetworkManager
/var/lib/NetworkManager/timestamps
/var/lib/docker/containers
...
2、目录/var下查找所有 3 天前被修改过的文件
[root@localhost scripts]# find /var -mtime -3
/var/lib
/var/lib/logrotate.status
/var/lib/systemd/timers/stamp-docker-cleanup.timer
...
3、在/var 目录下查找大于 5M 的文件的详细信息
[root@localhost scripts]# find /var -size +5M
/var/lib/rpm/Packages
/var/lib/rpm/Basenames
/var/lib/mlocate/mlocate.db
...
4、找出/var 目录下查找小于 1K 的文件,并且他们拷贝到/tmp/ALL文件中,结合重定向。
[root@localhost output]# find /var -size -1k > 123
[root@localhost output]# cat 123
/var/lib/rpm/.dbenv.lock
/var/lib/rpm/.rpm.lock
/var/lib/misc/postfix.aliasesdb-stamp
5、出/var 目录下查找小于 1K 的文件,并且拷贝到tmp目录下
[root@localhost tmp]# find /var -size -1k -exec cp {} /tmp/ \;
以下内容是2019.2.15号更新
6、搜索/home目录下组为lewis的文件
find /home -group lewis
[root@localhost ~]# find /home -group lewis
/home/lewis
/home/lewis/.mozilla
/home/lewis/.mozilla/extensions
/home/lewis/.mozilla/plugins
/home/lewis/.bash_logout
/home/lewis/.bash_profile
/home/lewis/.bashrc
<省略部分输出>
7、搜索/home目录下uid是1000的所有文件
find /home -uid 1000
[root@localhost ~]# find /home -uid 1000
/home/lewis
/home/lewis/.mozilla
/home/lewis/.mozilla/extensions
/home/lewis/.mozilla/plugins
/home/lewis/.bash_logout
/home/lewis/.bash_profile
<省略部分输出>
8、搜索root下用户是root,组为mail的所有文件
find / -user root -group mail
[root@localhost ~]# find / -user root -group mail
/var/spool/mail
/var/spool/mail/root
<省略部分输出>
9、搜索/etc目录下所有目录
find /etc -type d
[root@localhost /]# find /etc -type d
/etc
/etc/fonts
/etc/fonts/conf.d
/etc/X11
/etc/X11/fontpath.d
/etc/X11/applnk
/etc/X11/xorg.conf.d
<省略部分输出>