linux下find递归查找目录中的文件
时间: 2024-12-10 18:45:08 浏览: 11
Linux递归删除目录下某个文件或文件夹
在Linux系统中,`find`命令是一个强大的工具,用于在文件系统中搜索指定条件的文件或目录。如果你想递归地查找某个目录及其所有子目录中的文件,可以使用 `-type f` 参数来指定查找的是文件,加上 `-recursive` 或 `\-exec` 后面跟 `find` 自身来进行递归查找。
基本语法如下:
```sh
find [起始目录] -type f [-name "文件模式"] [-mtime +n | -atime +n | ...] -print
```
- `[起始目录]`:是你想要开始查找的目录,默认是从当前工作目录开始。
- `-type f`:表示只查找文件,不包括链接、设备文件等其他类型的文件。
- `-name "文件模式"`:可以设置搜索文件名匹配的模式,例如查找包含特定字符串的文件。
- `-mtime +n` 或 `-atime +n` 等:可以指定文件修改或访问时间的条件,`+n` 表示多久以前的文件。
- `-print`:显示找到的结果,也可以替换为其他操作,如 `-delete` 删除找到的文件。
例子:
```sh
find /home/user/documents -type f -name "*.txt" -print
```
这将查找 `/home/user/documents` 目录及其所有子目录中所有.txt文件,并打印出它们的路径。
阅读全文