Linux中与文件查找相关命令
2012-02-11 23:24
330 查看
在Linux操作系统中,我们经常会遇到这样的情况:我们创建了一个文件,然后过了几天需要再用文件的时候忘了文件放在哪儿了。因此,我们就需要做文件查找。需要用到以下命令。
一,locate
特点:根据数据库,做非实时查找,查找结果不精确,但速度快;
怎样使用:locate KEYWORD
-c KEYWORD 统计匹配到的文件个数;
-n KEYWORD 匹配前n个;
另:使用命令updatedb 手动生成locate所依赖的数据库;
二,find
特点:实时查找,精确但速度慢;
怎样使用:find [dir1(路径),...] [criteria(查找标准),...] [action(查找到后的操作),...]
eg:find /etc -name "passwd"
1)Criteria(查找标准):
-name NAME 精确查找 文件名有空格得用双引号引起来;支持globbing方式的文件名通配,*:匹配任意长度的任意字符;?:任意单个字符。
eg:find /etc/ -name "passwd*"
-iname 不区分文件名中字母的大小写
-regex “PATTERN”查找符合模式的文件名
-user USERNAME 根据用户名查找
eg:find /tmp -user redhat 查找/tmp下属主是redhat的文件;
-group GRPNAME 根据属组查找
-uid
-gid
-nouser 查找没有属主的文件
-nogroup 查找没有属组的文件
-type f
d
l
b
c
p
s
eg:find /tmp -type s 查找/tmp下文件类型为套接字文件的文件
2)组合条件:
-a 与
-b 或
-not 非
(!!!注:“非”的优先级最高 然后是“与”最后是“或”)
eg:find /tmp -not -user redhat
find /tmp -not \( -user redhat -o -iname "*lc*" \)
-size n(K,M,G) 按文件大小查找;
eg:10M-->9-10M
-10M-->小于10M
+10M--> 大于10M
3)-atime n-->文件距离上一次被访问n天;
-n ---n天内
+n ---至少3天
-mtime n --文件被修改
-ctime n --文件被改变
-amin n --与atime 对应 单位为分钟
-mmin n
-cmin n
4)-perm
eg:-perm 755 精确到755,匹配文件的权限位755的文件
+755 |/755 --任何一类用户某一个权限位符合条件
-755 --所有类别用户的所有权限位符合条件;
5)action
-print 默认值 将匹配到的内容显示出来
-ls --以长格式显示文件属性信息
-ok --提醒确认
-exec --查找到文件后执行命令;
eg: -exec rm {} \;
(注:{} 文件名引用符;\;--结束符)
6)xargs 通过管道接受find命令查找的结果
eg:find /tmp -perm 644 | xargs chomd 755 --将find搜索到/tmp 下的文件权限位644的文件并将其权限修改为755.
总结:以上便是与文件查找的相关的两个命令;可以看出find的功能很强大,也很好用,也将是我们今后常用的命令。
一,locate
特点:根据数据库,做非实时查找,查找结果不精确,但速度快;
怎样使用:locate KEYWORD
-c KEYWORD 统计匹配到的文件个数;
-n KEYWORD 匹配前n个;
另:使用命令updatedb 手动生成locate所依赖的数据库;
二,find
特点:实时查找,精确但速度慢;
怎样使用:find [dir1(路径),...] [criteria(查找标准),...] [action(查找到后的操作),...]
eg:find /etc -name "passwd"
1)Criteria(查找标准):
-name NAME 精确查找 文件名有空格得用双引号引起来;支持globbing方式的文件名通配,*:匹配任意长度的任意字符;?:任意单个字符。
eg:find /etc/ -name "passwd*"
-iname 不区分文件名中字母的大小写
-regex “PATTERN”查找符合模式的文件名
-user USERNAME 根据用户名查找
eg:find /tmp -user redhat 查找/tmp下属主是redhat的文件;
-group GRPNAME 根据属组查找
-uid
-gid
-nouser 查找没有属主的文件
-nogroup 查找没有属组的文件
-type f
d
l
b
c
p
s
eg:find /tmp -type s 查找/tmp下文件类型为套接字文件的文件
2)组合条件:
-a 与
-b 或
-not 非
(!!!注:“非”的优先级最高 然后是“与”最后是“或”)
eg:find /tmp -not -user redhat
find /tmp -not \( -user redhat -o -iname "*lc*" \)
-size n(K,M,G) 按文件大小查找;
eg:10M-->9-10M
-10M-->小于10M
+10M--> 大于10M
3)-atime n-->文件距离上一次被访问n天;
-n ---n天内
+n ---至少3天
-mtime n --文件被修改
-ctime n --文件被改变
-amin n --与atime 对应 单位为分钟
-mmin n
-cmin n
4)-perm
eg:-perm 755 精确到755,匹配文件的权限位755的文件
+755 |/755 --任何一类用户某一个权限位符合条件
-755 --所有类别用户的所有权限位符合条件;
5)action
-print 默认值 将匹配到的内容显示出来
-ls --以长格式显示文件属性信息
-ok --提醒确认
-exec --查找到文件后执行命令;
eg: -exec rm {} \;
(注:{} 文件名引用符;\;--结束符)
6)xargs 通过管道接受find命令查找的结果
eg:find /tmp -perm 644 | xargs chomd 755 --将find搜索到/tmp 下的文件权限位644的文件并将其权限修改为755.
总结:以上便是与文件查找的相关的两个命令;可以看出find的功能很强大,也很好用,也将是我们今后常用的命令。
相关文章推荐
- Linux查找文件的相关命令
- whereis命令_Linux whereis 命令用法详解:查找二进制程序、代码等相关文件路径
- Linux查找文件的相关命令
- Linux查找文件的相关命令
- Linux查找文件的相关命令
- Linux查找文件的相关命令
- linux如何查找文件或者目录的位置相关命令汇总
- 09-Linux查找文件及压缩文件相关命令
- Linux下相关查找文件命令(find locate which whereis type)
- Linux命令:文件查找相关 Whereis、find和locate+updatedb
- Linux查找文件的相关命令
- Linux查找文件的相关命令说明
- Linux查找文件的相关命令
- Linux文件查找命令find,xargs详述
- Linux文件查找命令find,xargs详述
- Linux文件查找命令find,xargs详述
- linux 下查找文件或者内容常有命令
- Linux 按照时间查找文件并删除命令
- Linux文件查找命令find,xargs详述
- 借助apt-file命令 可以查找缺少包所依赖的linux文件 然后用 apt-get install 安装所对应的文件