📌  相关文章
📜  ubuntu 终端递归查找文件 - Shell-Bash (1)

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

Ubuntu 终端递归查找文件 - Shell-Bash

在 Linux 下,我们经常需要通过命令行来递归查找指定目录下的文件。这种情况下,使用 Shell-Bash 的命令行工具会相对简单和方便。

命令行工具

我们通常使用的命令行工具为 find 命令。该命令的基本语法如下:

find [path] [expression]

其中,path 为指定要查找的目录或文件,expression 用于对指定目录或文件进行过滤和处理。

匹配名称

通过 -name 参数可以指定要查找的文件名称。例如,我们可以在 /home 目录下查找名称为 test.txt 的文件,并返回其完整路径:

find /home -name "test.txt"
正则表达式匹配名称

通过 -regex 参数可以进行正则表达式的匹配。例如,我们可以在 /home 目录下查找名称以 test 开头的文件,并返回其完整路径:

find /home -regex "^/home/test.*$"
匹配类型

通过 -type 参数可以匹配指定类型的文件。例如,我们可以在 /home 目录下查找类型为目录的文件,并返回其完整路径:

find /home -type d
按时间查找

通过 -mtime 参数,我们可以指定访问时间、修改时间或状态修改时间,在给定时间间隔内的文件。例如,我们可以查找在过去 7 天内被修改过的文件:

find /home -mtime -7
删除匹配文件

通过 -delete 参数,我们可以直接删除匹配的文件。例如,我们可以删除 /home 目录下所有的 *.tmp 文件:

find /home -name "*.tmp" -delete
总结

经过以上介绍,我们可以看到 find 命令的强大之处。通过不同参数的组合,我们可以方便地递归查找指定类型、名称和访问时间等的文件,并对其进行后续处理。