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)
3、linux find命令 功能 查找特定字符串的文件或目录
格式
主要选项:
常用示例:
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. 查找比某个文件新或旧的文件
find . –newer file1 ! –newer file2 –print [比file1新,比file2旧]
【使用-exec执行 查看找到的文件列表详情】
find . –newer file1 ! –newer file2 –exec ls –l {} \; 【注意分号和反斜杠间无空格】
7. 根据文件大小
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还进行询问 【注意反斜扛和大括号之间的空格】 |