Linux find命令详解和实例说明
2014-05-11 14:05
671 查看
find:搜索文件或目录
例:find . -name '*.jsp' -mtime -90 //查找当前目录下90天之内修改过的以jsp后缀的文件
-name: 根据名字查找,支持glob通配符* ? []等
-iname: 忽略名称大小写
-empty: 查找所有空文件或者空目录,连接空文件除外
-user USERNAME:查找某个属主的文件
-group GRPNAME:查找某个属组的文件
-uid:根据属主ID查找相关文件
-gid:根据属组ID查找相关文件
-nouser: 查找没有属主的文件
-nogroup:查找没有属组的文件
-exec :对找到的档案执行命令(固定格式:'-exec 命令 {} \;')不询问。-ok执行前询问确认。格式'-ok 命令 {} \;' 其中‘{}’表示find查询的结果,'\'为转义字符,表示让一些命令或符合使用本身含义
例: find . -size +10M -exec ls -lh {} \; //查找当前目录下大小超过10M的,并显示详细信息
组合查找条件
-a:与
-o:或
-not或!:非
例:find /etc -name ‘init*’ -a -user root //查找/etc目录下,文件名以init开头,并且文件所有者为root的文件
-type 根据文件类型查找。f:二进制文件 l:软连接文件 d:目录
-size +[-]UNIT 表示大于或小于多少的文件
提示:检索文件大小时,以linux的black数据块大小换算,这样查询更快,更精确。例如:centos5.5的black大小为512字节,查找一个大于100M的文件命令为:find /etc -size +204800 //查找/etc下大于100M的文件
例:ls -ldh `find /etc/ -size +2k` //查看/etc目录下大于2k的文件
ls -ldh `find /etc/ -size -2k` //查看/etc目录下小于2k的文件
find /etc -size +163840 -a -size -204800 //查找/etc下大于80M小于100M的文件
根据时间戳查找:
-amin [+/-]n:n分钟前访问的文件
-mmin [+/-]n: n分钟前修改过的文件
-cmin [+/-]n: n分钟前改变过的文件
-atime: [+/-]n n天内访问过的文件
-mtime: [+/-]n n天内修改过的文件
-ctime: [+/-]n n天内改变过的文件
其中:c 为change 改变,表示文件属性被修改过,所有者,所属组,权限等;a为access 访问,表示文件被访问过; m为modify 修改,表示文件内容被修改过 -:表示在指定值之内;+:表示超过指定值
-inum:根据文件i节点(inode值)查找 (ls -i file即可显示文件inode)
例:find /data -name ‘*.log’ -a -inum 767301 -exec rm -rf {} \; //查找/data目录下以.log结尾并且inode值为7673016的文件,之后强制删除
根据权限查找文件:
-perm node :精确查找指定权限的文件 例:find /etc -perm 755 //在etc目录下查找权限为755的文件
-perm -node:分别在对应的权限范围内的文件(符合条件的为与关系) 例:find /etc -perm -755 //查找etc目录下属主、属组、其他权限分别大于755(即权限对应位是否存在的包含关系)的文件
例:find /data -perm -002 //查找data目录下其他用户可写的文件
-perm /node 查找分别对应的权限位和条件为或关系的文件
类似功能命令:locate 寻找文件或目录 (是在linux的系统目录文件的数据库中查找,结果会有延迟,若要及时可手动执行updatedb更新系统目录文件数据库)
例:find . -name '*.jsp' -mtime -90 //查找当前目录下90天之内修改过的以jsp后缀的文件
-name: 根据名字查找,支持glob通配符* ? []等
-iname: 忽略名称大小写
-empty: 查找所有空文件或者空目录,连接空文件除外
-user USERNAME:查找某个属主的文件
-group GRPNAME:查找某个属组的文件
-uid:根据属主ID查找相关文件
-gid:根据属组ID查找相关文件
-nouser: 查找没有属主的文件
-nogroup:查找没有属组的文件
-exec :对找到的档案执行命令(固定格式:'-exec 命令 {} \;')不询问。-ok执行前询问确认。格式'-ok 命令 {} \;' 其中‘{}’表示find查询的结果,'\'为转义字符,表示让一些命令或符合使用本身含义
例: find . -size +10M -exec ls -lh {} \; //查找当前目录下大小超过10M的,并显示详细信息
组合查找条件
-a:与
-o:或
-not或!:非
例:find /etc -name ‘init*’ -a -user root //查找/etc目录下,文件名以init开头,并且文件所有者为root的文件
-type 根据文件类型查找。f:二进制文件 l:软连接文件 d:目录
-size +[-]UNIT 表示大于或小于多少的文件
提示:检索文件大小时,以linux的black数据块大小换算,这样查询更快,更精确。例如:centos5.5的black大小为512字节,查找一个大于100M的文件命令为:find /etc -size +204800 //查找/etc下大于100M的文件
例:ls -ldh `find /etc/ -size +2k` //查看/etc目录下大于2k的文件
ls -ldh `find /etc/ -size -2k` //查看/etc目录下小于2k的文件
find /etc -size +163840 -a -size -204800 //查找/etc下大于80M小于100M的文件
根据时间戳查找:
-amin [+/-]n:n分钟前访问的文件
-mmin [+/-]n: n分钟前修改过的文件
-cmin [+/-]n: n分钟前改变过的文件
-atime: [+/-]n n天内访问过的文件
-mtime: [+/-]n n天内修改过的文件
-ctime: [+/-]n n天内改变过的文件
其中:c 为change 改变,表示文件属性被修改过,所有者,所属组,权限等;a为access 访问,表示文件被访问过; m为modify 修改,表示文件内容被修改过 -:表示在指定值之内;+:表示超过指定值
-inum:根据文件i节点(inode值)查找 (ls -i file即可显示文件inode)
例:find /data -name ‘*.log’ -a -inum 767301 -exec rm -rf {} \; //查找/data目录下以.log结尾并且inode值为7673016的文件,之后强制删除
根据权限查找文件:
-perm node :精确查找指定权限的文件 例:find /etc -perm 755 //在etc目录下查找权限为755的文件
-perm -node:分别在对应的权限范围内的文件(符合条件的为与关系) 例:find /etc -perm -755 //查找etc目录下属主、属组、其他权限分别大于755(即权限对应位是否存在的包含关系)的文件
例:find /data -perm -002 //查找data目录下其他用户可写的文件
-perm /node 查找分别对应的权限位和条件为或关系的文件
类似功能命令:locate 寻找文件或目录 (是在linux的系统目录文件的数据库中查找,结果会有延迟,若要及时可手动执行updatedb更新系统目录文件数据库)
相关文章推荐
- linux wget 命令用法详解(附实例说明)
- linux下find,xargs命令详解和实例
- linux wget 命令用法详解(附实例说明)
- linux find命令实例详解
- linux下find,xargs命令详解和实例
- linux下find,xargs命令详解和实例
- Linux的find命令实例详解和mtime ctime atime
- Linux的find命令实例详解和mtime ctime atime
- linux wget 命令用法详解(附实例说明)
- linux wget 命令用法详解(附实例说明)
- linux wget 命令用法详解(全解+实例说明)-【linux学习笔记】
- linux下find,xargs命令详解和实例
- (转)Linux下find 命令用法详解+实例
- Linux下find 命令用法详解+实例
- Linux wget命令用法详解(附实例说明)
- Linux下find 命令用法详解+实例
- linux下find命令详解与实例分析
- Linux下find 命令用法详解+实例
- 【linux】find命令详解
- linux下的patch补丁包实例详解以及diff命令实例。