find命令的基本格式是:
find [路径] [选项] [操作]
路径是find命令所查找的范围,如用.来表示当前目录,用/来表示根目录,选项用于指定查找条件,如:可以指定按照文件的属主,更改时间文件类型来查找,下面是find命令的常用选项及其意义:
| name | 根据文件名查找 |
| perm | 根据文件权限查找 |
| prune | 使用这一命令,可以使find命令不在当前指定的目录中查找 |
| user | 根据文件属主查找文件 |
| group | 根据文件所属的用户组查找文件 |
| mtime -n +n | 根据文件的更改时间查找,-n表示文件更改时间距今在n天之内,+n表示文件更改时间在距今n天前 |
| nogroup | 查找无有效属组的文件 |
| nouser | 查找无有效属主的文件 |
| -newer file1 file2 | 查找更改时间比文件file1新但是比file2旧的文件 |
| size n:[c] | 查找文件长度为n块的文件,带有c时,表示文件长度以字节记 |
| depth | 查找文件时,首先查找当前目录的文件,然后在其子目录中查找 |
| type | 查找某一类型的文件,type后面的子选项及意义如下: |
| b | 块设备文件 |
| c | 字符设备文件 |
| p | 管道文件 |
| l | 符号链接文件 |
| f | 普通文件 |
下面列出了find命令的操作名称及意义:
| 将匹配的结果输出到标准输出 | |
| exec | 对匹配的文件执行该参数所列出的she'll命令,相应的命令形式为command { } \; |
| ok | 和exec作用相同,但是在执行每个命令前,给用户提示是否执行 |
示例1:查找当前路径下,修改日期为十日之内的文件:
allanyang-mbp:northstar-tests allanyang$ find . -mtime -10 -print
./.git
./.git/COMMIT_EDITMSG
./.git/config
./.git/FETCH_HEAD
示例2:查找当前目录下匹配*atomic*的文件,并显示详细信息
allanyang-mbp:northstar-tests allanyang$ find . -name '*atomic*' -exec ls -al {} \;
-rw-r--r-- 1 allanyang 707 26579 Dec 20 15:02 ./regression-tests/robot/official/01-test-atomic.robot
-rw-r--r-- 1 allanyang 707 27513 Dec 20 16:47 ./regression-tests/robot/staging-tests/test-atomic.robot
浙公网安备 33010602011771号