linux中35个find案例

123 阅读4分钟

一: 用于查找带名称文件的基本查找命令

二:根据权限查找文件

三:基于所有者和组搜索文件

四: 根据日期和时间查找文件和目录

五:根据大小查找文件和目录

一: 用于查找带名称文件的基本查找命令

在当前目录中使用名称查找文件
在当前工作目录中查找名称为rumenz.txt 的所有文件。

# find . -name rumenz.txt
  
./rumenz.txt

在主目录下查找文件
查找/home目录下名称为rumenz.txt 的所有文件。

# find /home -name rumenz.txt
/home/rumenz.txt

使用名称和忽略大小写查找文件
在/home目录中查找名称为rumenz.txt且包含大写和小写字母的所有文件。

# find /home -iname rumenz.txt
  
./rumenz.txt

使用名称查找目录
在/目录中查找名称为rumenz 的所有目录。

# find / -type d -name rumenz
/rumenz

使用名称查找 PHP 文件
在当前工作目录中查找名称为rumenz.php 的所有php文件。

# find . -type f -name rumenz.php
  
./rumenz.php

在目录中查找所有 PHP 文件
查找目录中的所有php文件。

# find . -type f -name "*.php"

./rumenz.php
./login.php
./index.php

二:根据权限查找文件

查找具有 777 权限的文件
查找所有权限为777的文件。

# find . -type f -perm 0777 -print

查找没有 777 权限的文件
查找所有未经许可的文件777。

# find / -type f ! -perm 777

查找具有 644 权限的 SGID 文件
查找权限设置为644 的所有SGID 位文件。

# find / -perm 2644

查找具有 551 权限的粘滞位文件
找到所有权限为551的Sticky Bitset 文件。

# find / -perm 1551

查找 SUID 文件
查找所有SUID集文件。

# find / -perm /u=s

查找 SGID 文件
查找所有SGID集文件。

# find / -perm /g=s

查找只读文件
查找所有只读文件。

# find / -perm /u=r

查找可执行文件
查找所有可执行文件。

# find / -perm /a=x

查找权限为 777 且 chmod 为 644 的文件
找到所有777权限文件并使用chmod命令将权限设置为644。

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

查找权限为 777 且 chmod 为 755 的目录
找到所有777权限目录并使用chmod命令将权限设置为755。

# find / -type d -perm 777 -print -exec chmod 755 {} \;

查找和删除单个文件
找到一个名为rumenz.txt 的文件并将其删除。

# find . -type f -name "rumenz.txt" -exec rm -f {} \;

查找和删除多个文件
要查找和删除多个文件,例如.mp3或.txt,请使用。

# find . -type f -name "*.txt" -exec rm -f {} \;

# find . -type f -name "*.mp3" -exec rm -f {} \;

查找所有空文件查找某个路径下的所有空文件。
# find /tmp -type f -empty

查找所有空目录将某个路径下的所有空目录归档。
# find /tmp -type d -empty

归档所有隐藏文件要查找所有隐藏文件,请使用以下命令。
# find /tmp -type f -name ".*"

三:基于所有者和组搜索文件

根据用户查找单个文件
在所有者 root 的/根目录下查找所有或单个名为rumenz.txt 的文件。

# find / -user root -name rumenz.txt

根据用户查找所有文件
在/home目录下查找属于用户rumenz 的所有文件。

# find /home -user rumenz

根据组查找所有文件
在/home目录下查找属于Developer组的所有文件。

# find /home -group developer

查找用户的特定文件
在/home目录下查找用户rumenz 的所有.txt文件。

# find /home -user rumenz -iname "*.txt"

四: 根据日期和时间查找文件和目录

查找最近 50 天修改过的文件
查找50天前修改的所有文件。

# find / -mtime 50
查找最近 50 天访问过的文件
查找50天前访问的所有文件。

# find / -atime 50
查找最近 50-100 天修改过的文件
查找所有修改超过50天和不到100天的文件。

# find / -mtime +50 –mtime -100
查找过去 1 小时内更改过的文件
查找过去1 小时内更改的所有文件。

# find / -cmin -60
查找最近 1 小时内修改过的文件
查找过去1 小时内修改的所有文件。

# find / -mmin -60
查找过去 1 小时内访问过的文件
查找过去1 小时内访问过的所有文件。

# find / -amin -60

五:根据大小查找文件和目录

找到 50MB 的文件
要查找所有50MB的文件,请使用。

# find / -size 50M

查找 50MB – 100MB 之间的大小
查找所有大于50MB且小于100MB 的文件。

# find / -size +50M -size -100M

查找和删除 100MB 文件
使用单个命令查找所有100MB文件并删除它们。

# find / -type f -size +100M -exec rm -f {} \;

查找特定文件并删除
查找所有超过10MB 的.mp3文件,并使用一个命令将其删除。

# find / -type f -name *.mp3 -size +10M -exec rm {} \;