1. 查找与他们的权限相关的所有文件
使用八进制方法 # find/-perm 755 -type f 使用符号方法 # find/-perm u=rwx,g=rx,o=rx -type f 查找所有具有可执行权限的文件 # find/-executable -type f 查找所有具有可写权限的文件 # find/-writable -type f 查找所有具有可读权限的文件 # find/-readable -type f
2. 根据文件的特殊权限定位文件
使用SGID查找 /usr/bin、/bin/、/usr/sbin/、/sbin/中的所有的可执行文件,
# find /usr/bin//bin//usr/sbin//sbin/-perm +2000 -execuatble /usr/bin/ssh-agent /usr/bin/locate /usr/bin/wall /usr/bin/write
使用SUID查找/usr/bin、/bin/、/usr/sbin/、/sbin/中的所有可执行文件
# find /usr/bin//bin//usr/sbin//sbin/-perm +4000 -execuatble /usr/bin/ksu /usr/bin/gpasswd /usr/bin/chsh /usr/bin/chage /usr/bin/sudo
3. 根据大小定位文件
查找所有大小超过30MB的文件 # find/-size +30M -type f 查找所有大小超过1GB的文件 # find/-size +1G -type f 查找所有大小超过6KB的文件 # find/-size +6k -type f
注意:如果要查找大小小于的文件/目录,请在上述示例中使用“-”符号而不是“+”符号
4. 查找与其所有者相关的文件
查找用户所有者为jack的所有文件 # find/-user jack -type f 查找组所有者为jack的所有文件 # find/-group jack -type f
注意:您还可以分别使用-uid和-gid参数,而不是-user和-group
5. 使用另外参数将 o/p 保存到文件
此命令将查找用户所有者为 jack 的所有文件/目录并将 o/p 保存到 file.txt(o/p 将类似于 ls -l)
# find/-user jack -fls file.txt # cat file.txt 210 4 drwx------ 9 jack jack 4096 Apr 5 20:26 /home/jack 868 4 -rw-r--r-- 1 jack jack 176 May 18 2013 /home/jack/.bash_profile 7053 4 -rw-r--r-- 1 jack jack 124 May 18 2013 /home/jack/.bashrc 7078 4 drwxrwxr-x 2 jack jack 4096 Apr 5 20:26 /home/jack/mywork 7083 4 -rw------- 1 jack jack 99 Apr 5 20:27 /home/jack/.bash_history 7080 4 drwxrwxr-x 2 jack jack 4096 Apr 5 20:26 /home/jack/work 7073 4 drwxr-xr-x 2 jack jack 4096 Nov 12 2010 /home/jack/.gnome2 7074 4 drwxr-xr-x 4 jack jack 4096 Mar 14 02:38 /home/jack/.mozilla
注意:如果文件不存在,它将被创建,如果它已经存在,那么它将被覆盖
此命令仅将o/p保存到file.txt
# find/-user jack -fprint file.txt # cat file.txt /home/jack /home/jack/.bash_profile /home/jack/.bashrc /home/jack/mywork /home/jack/.bash_history /home/jack/work /home/jack/.gnome2 /home/jack/.mozilla
6. 与 find 命令一起添加一个另外的参数
此命令将向我们显示所有大小超过 50MB 的文件的详细列表
# find/-size +50M -ls 270138 65588 -rw-r--r-- 1 root root 67159234 Nov 23 00:20 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/rt.jar 134253 96796 -rw-r--r-- 1 root root 99158576 Mar 14 02:39 /usr/lib/locale/locale-archive 7291 0 -rw------- 1 root root 134217728 Apr 5 16:49 /sys/devices/pci0000:00/0000:00:0f.0/resource1 7292 0 -rw------- 1 root root 134217728 Apr 5 20:17 /sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
7. 不分大小写查找文件
此命令将查找/home中名为“test”的所有文件/目录,不考虑大小写
# find /home/-iname test /home/jack/test /home/jack/Test
8. 根据名称查找文件/目录
查找名为“test”的所有文件/目录
# find /home/-name test /home/jack/test
9. 使用通配符查找文件
此命令将使用.txt扩展名搜索所有文件 # find/-name *.txt -type f 此命令将搜索文件[0-9]中扩展名为.txt的所有文件 # find/-name file?.txt -type f
10. 根据修改/访问时间查找文件
查找5分钟前访问的所有目录 # find/-amin -5 -type d 查找从当前时间向后60分钟访问的所有目录 # find/-amin +60 -type d 查找5分钟前访问的所有文件/目录 # find/-amin 5 -type d 查找5天前访问的所有文件/目录 # find/-atime -5 -type d
注意:只需将“-atime”替换为“-mtime”,即可根据修改时间运行上述所有命令
复杂的例子
在/home/jack中找到所有名为test.tx的文件并将其删除
# find /home/jack/-name test.txt -type f | xargs rm -f
或者
# find /home/jack/-name test.txt -type f -exec rm -f {} ;
日期:2020-06-02 22:17:07 来源:oir作者:oir