业余程序员的自我修养

导航

 

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后面的子选项及意义如下:

 

type子选项
b 块设备文件
c 字符设备文件
p 管道文件
l 符号链接文件
f 普通文件

 

下面列出了find命令的操作名称及意义:

print 将匹配的结果输出到标准输出
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

  

posted on 2016-12-20 17:50  yangyanzhao  阅读(256)  评论(0编辑  收藏  举报