Linux Find 命令的 35 个实用示例
Linux find 命令是类 Unix 操作系统中最重要且最常用的命令行实用程序之一。 find 命令用于根据您指定的条件(与参数匹配)搜索并定位文件和目录列表。
find 命令提供了多种选项,允许用户在不同的条件下利用它。它使个人能够根据多种标准搜索文件,包括权限、用户、组、文件类型、日期、大小和各种其他参数。
在本文中,我们将向您展示 Linux 中 35 个最常用的查找命令示例。我们将本节分为五个部分,涵盖了 find 命令从基础到高级的使用。
第一部分 – 用于查找带有名称的文件的基本查找命令
当涉及到查找具有特定名称的文件时,find 命令提供了一系列选项来简化该过程。以下是一些基本的查找命令,用于根据文件名查找文件。
1. 在当前目录中使用名称查找文件
查找当前工作目录中名称为 howtoing.txt 的所有文件。
find . -name tecmint.txt
./tecmint.txt
2.在主目录下查找文件
查找 /home 目录下名为 howtoing.txt 的所有文件。
find /home -name tecmint.txt
/home/tecmint.txt
3. 使用名称查找文件并忽略大小写
查找/home目录下所有名称为howtoing.txt且包含大小写字母的文件。
find /home -iname tecmint.txt
./tecmint.txt
./Tecmint.txt
4. 使用名称查找目录
查找/目录下所有名称为Howtoing的目录。
find / -type d -name Tecmint
/Tecmint
5. 使用名称查找 PHP 文件
查找当前工作目录中名称为 howtoing.php 的所有 php 文件。
find . -type f -name tecmint.php
./tecmint.php
6.查找目录下所有PHP文件
查找目录中的所有 php 文件。
find . -type f -name "*.php"
./tecmint.php
./login.php
./index.php
第二部分 – 根据权限查找文件
以下是根据文件权限查找文件的 find 命令的一些示例。
7.查找具有777权限的文件
查找权限为777的所有文件。
find . -type f -perm 0777 -print
8.查找没有777权限的文件
查找所有没有权限777的文件。
find / -type f ! -perm 777
9.查找具有644权限的SGID文件
查找权限设置为644的所有SGID位文件。
find / -perm 2644
10.查找具有551权限的粘性位文件
查找所有权限为551的Sticky Bit集文件。
find / -perm 1551
11.查找SUID文件
查找所有SUID集文件。
find / -perm /u=s
12.查找SGID文件
查找所有 SGID 设置文件。
find / -perm /g=s
13.查找只读文件
查找所有只读文件。
find / -perm /u=r
14.查找可执行文件
查找所有可执行文件。
find / -perm /a=x
15.查找权限为777并Chmod为644的文件
找到所有777权限文件,并使用chmod命令将权限设置为644。
find / -type f -perm 0777 -print -exec chmod 644 {} \;
16. 查找权限为 777 并 Chmod 为 755 的目录
找到所有777权限的目录,并使用chmod命令将权限设置为755。
find / -type d -perm 777 -print -exec chmod 755 {} \;
17. 查找并删除单个文件
找到一个名为 howtoing.txt 的文件并将其删除。
find . -type f -name "tecmint.txt" -exec rm -f {} \;
18.查找并删除多个文件
要查找并删除多个文件,例如 .mp3 或 .txt,然后使用。
find . -type f -name "*.txt" -exec rm -f {} \;
OR
# find . -type f -name "*.mp3" -exec rm -f {} \;
19.查找所有空文件
查找某个路径下的所有空文件。
find /tmp -type f -empty
20.查找所有空目录
将某个路径下的所有空目录归档。
find /tmp -type d -empty
21. 归档所有隐藏文件
要查找所有隐藏文件,请使用以下命令。
find /tmp -type f -name ".*"
第三部分 – 根据所有者和组搜索文件
以下是用于根据所有者和组查找文件的 find 命令的一些示例:
22.根据用户查找单个文件
查找所有者 root 的 / 根目录下名为 howtoing.txt 的所有或单个文件。
find / -user root -name tecmint.txt
23.根据用户查找所有文件
查找/home目录下属于用户Tecmint的所有文件。
find /home -user tecmint
24.根据组查找所有文件
查找 /home 目录下属于 Developer 组的所有文件。
find /home -group developer
25.查找用户的特定文件
查找用户Howtoing在/home目录下的所有.txt文件。
find /home -user tecmint -iname "*.txt"
第四部分 – 根据日期和时间查找文件和目录
以下是用于根据日期和时间查找文件和目录的 find 命令的一些示例。
26.查找最近 50 天修改的文件
查找 50 天前修改的所有文件。
find / -mtime 50
27.查找最近 50 天访问的文件
查找 50 天前访问过的所有文件。
find / -atime 50
28.查找最近 50-100 天修改的文件
查找修改时间超过50天且少于100天的所有文件。
find / -mtime +50 –mtime -100
29. 查找最近 1 小时内更改的文件
查找最近1小时内更改的所有文件。
find / -cmin -60
30.查找最近1小时内修改过的文件
查找最近1小时内修改的所有文件。
find / -mmin -60
31.查找最近1小时内访问过的文件
查找过去1小时内访问过的所有文件。
find / -amin -60
第五部分 – 根据大小查找文件和目录
以下是用于根据大小查找文件和目录的 find 命令的一些示例。
32. 查找 50MB 文件
要查找所有 50MB 文件,请使用。
find / -size 50M
33. 查找 50MB – 100MB 之间的大小
查找所有大于50MB且小于100MB的文件。
find / -size +50M -size -100M
34.查找并删除100MB文件
使用一个命令查找所有 100MB 文件并删除它们。
find / -type f -size +100M -exec rm -f {} \;
35.查找特定文件并删除
查找所有超过 10MB 的 .mp3 文件,并使用一个命令将其删除。
find / -type f -name *.mp3 -size +10M -exec rm {} \;
就这样,我们的文章就到此结束了,在下一篇文章中,我们将通过实际示例深入讨论其他 Linux 命令。请使用我们的评论部分告诉我们您对本文的看法。