网站搜索

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权限的粘性位文件

查找所有权限为551Sticky 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 命令。请使用我们的评论部分告诉我们您对本文的看法。