Linux find
命令详解
简介
find
是 Linux 中一个非常强大的命令行工具,用于在目录树中搜索文件和目录。它可以根据各种条件(如名称、大小、时间等)进行搜索,并且支持执行复杂的操作。
基本用法
find
命令的基本语法如下:
find [搜索路径] [匹配条件] [操作]
- 搜索路径:指定要搜索的目录路径。如果不指定,默认为当前目录。
- 匹配条件:指定搜索文件或目录的条件。
- 操作:指定对匹配的文件或目录执行的操作。
例如:
find /home/user -name "test.txt"
这条命令将在 /home/user
目录及其子目录中查找名为 test.txt
的文件。
常用选项
按名称查找文件
-name
:按名称查找文件,区分大小写。-iname
:按名称查找文件,不区分大小写。
find /path/to/search -name "filename"
find /path/to/search -iname "filename"
按类型查找文件
-type
:按文件类型查找。
常见类型:
f
:普通文件d
:目录l
:符号链接
find /path/to/search -type f
find /path/to/search -type d
按大小查找文件
-size
:按文件大小查找。
大小单位:
c
:字节k
:千字节M
:兆字节G
:千兆字节
find /path/to/search -size +10M # 查找大于10MB的文件
find /path/to/search -size -1G # 查找小于1GB的文件
按时间查找文件
-atime
:按访问时间查找。-mtime
:按修改时间查找。-ctime
:按状态改变时间查找。
时间单位:
n
:表示n天前。+n
:表示n天之前。-n
:表示n天之内。
find /path/to/search -atime -7 # 查找7天以内访问过的文件
find /path/to/search -mtime +30 # 查找30天前修改过的文件