当前位置: > Linux命令 >

linux命令:grep,sort,find,uniq用法详解(3)

时间:2015-05-02 00:45来源:linux.it.net.cn 作者:IT



3、linux find命令
功能
查找特定字符串的文件或目录

 

格式
find [pathName] [options ] [tests] [actions]
pathname:路径,当前为.   用户根目录为~   系统根目录/
options:命令选项 见列表
test 一些针对属性的测试
actions    [-print   -exec   -ok]
-print:将匹配文件输出到标准输出
-exec command:对匹配文件执行参数所给的shell命令,这个动作必须使用\;字符对结尾
-ok command:同上,但存在询问选择
-ls:对当前文件使用ls-dils

主要选项:
-name pattern
按文件名查找,不包含路径名,提供匹配模式pattern,pattern必须总是用引号括起
-perm 权限数值
按文件权限查找
-user username
按文件属主查找  find –user ken
-nouser
搜索不属于本机用户的文件
-group 组名
按文件所属的组查找
-nogroup
搜索不属于本机组的文件
-type
按文件类型查找 b块设备,p管道,d目录,l符号链接
、       C字符设备,f普通文件
--size n[c]
查文件长度为n的文件,c表以字符计,默认以块计算
-depth
查找时,首先在当前目录,之后再其子目录
-maxdepth N
最多搜索N层目录
-prune
使find不在当前指定的目录中查找,若使用-depth,本选项忽略
-atime n
文件在n天之前被最后访问过
-amin -n
-mtime –n +n
按文件更改时间查找 –n  n天内,  +n n天前
-mmin -n
查找在系统中最后n分钟里修改过的文件
-newer file1 ! file2
查找更改时间比file1新比file2旧的文件
-mount  或 -xdev
查找文件时不跨越文件系统,不搜索其他文件系统中的目录
-fstype
查找位于某一类型文件系统中的文件,文件系统类型可在/etc/fstab中找到
-follow
跟随符号链接
-cpio
对匹配文件使用cpio命令备份到磁带设备文件中
-empty
查找在系统中为空的文件或者文件夹

常用示例:
1.  按文件名
 

find . –name “myfile” –print 
find ~ -name “[A-Z]*” –print 【使用了正则】
find . –name “*” -print

2.  按权限数值查找
 

find . –perm 755 -print

3.  按文件属主或属组
 

find . –user ken –print
find . –group mygroup -print

4.  按时间范围查找
 

find / -mtime -5 –print   【5天内的文件,内部计算其实精确到秒,从现在往前五天】

5.  按文件类型查找
 

find ~ -type f –print   【普通文件】

6.  查找比某个文件新或旧的文件
技巧:可通过touch –t 05042121 locateFile    创建时间坐标文件
 

find . –newer file1 !  –newer file2 –print  [比file1新,比file2旧]
 

【使用-exec执行 查看找到的文件列表详情】
 

find . –newer file1 ! –newer file2 –exec ls –l {} \;   【注意分号和反斜杠间无空格】

7.  根据文件大小
默认单位以block,加c表字节
 

find . –size +1000c –print  【大于1000字节,若改为 -300c,表小于300字节】

8.  在当前文件系统查找,不进入其他文件系统
 

find . –name “*.xc” –mount -print

9.  使用-exec 或 –f 来执行shell命令
 

find . –type f –exec ls –l {}  \;
find . –type f –mtime +5 –exec rm {}   \;
find . –type f –mtime +5 –ok rm {}  \;
 

二者区别是exec直接执行,ok还进行询问  【注意反斜扛和大括号之间的空格】


(责任编辑:IT)

------分隔线----------------------------
栏目列表
推荐内容