📜  查找递归 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:10:47.104000             🧑  作者: Mango

查找递归 Linux - Shell-Bash

在 Linux 中,文件系统具有层次结构,由文件夹和文件组成。为了找到一个特定文件或目录,可以使用很多命令,其中最常用的命令之一是 find 命令。

find 命令用于在指定目录下递归查找所有符合条件的文件和目录。它具有很多选项,可以根据需要进行过滤,以便快速查找指定的文件或目录。

常用的选项

以下是 find 命令的一些常用选项:

  • -name:按照文件名进行匹配。
  • -type:按照文件类型进行匹配,如目录(d)、普通文件(f)、符号链接(l)、字符设备(c)、块设备(b)等。
  • -size:按照文件大小进行匹配,支持常用的大小单位,如 kMG 等。
  • -mtime-ctime:按照修改时间和创建时间进行匹配。
  • -exec:在查找的文件或目录上执行指定的 Shell 命令。
示例

以下是 find 命令的一些示例:

查找当前目录及其子目录下的所有文件和目录:

find .

查找 /home 目录下所有以 .txt 结尾的文件:

find /home -name "*.txt"

查找 /var/log 目录中所有以 .log 结尾、大小大于 1MB 的文件:

find /var/log -name "*.log" -size +1M

查找 /usr/bin 目录中所有的可执行文件:

find /usr/bin -type f -executable

/tmp 目录下查找 1 天内修改过的所有文件并删除:

find /tmp -type f -mtime -1 -delete
总结

find 命令是 Linux 中非常重要的一个命令,它可以在文件系统的任意位置查找文件和目录。仔细阅读它的帮助文档,可以更好地利用它的功能来完成各种任务。