linux系统find命令解析

1.find命令解析

        如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名,而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。

 

       1)根据文件名进行查找

                 find / -name file

 
  
  2)普通用户查找管理员用户禁止访问的文件不显示错误提示的方法

                 find / -name access_log 2>/dev/null

           这个方法是把查找错误提示转移到特定的目录中去。命令执行后,错误的信息就输送到stderrstream 2 ,/dev/null是一个特殊的文件,表明空的或者错误的信息。

        3)在特定目录下查找文件

                find /etc -name file

   4)根据部分文件名查找方法

                find /etc -name '*srm*'

 
   5)根据文件的特征进行查找

                find / -size 1500c(Linux文件大小为1,500 bytes)

                find / -size +10000000c(在根目录中查找出大于10000000字节的文件并显示出来)

                find / -size -10000000c(在根目录中查找出小于10000000字节的文件并显示出来)

           find / -amin n (查找系统中最后n分钟访问的文件)

                find / -atime n (查找系统中最后n*24小时访问的文件)

                find / -cmin n (查找系统中最后N分钟被改变状态的文件)

                find / -ctime n (查找系统中最后n*24小时被改变状态的文件)

                find / -empty  (查找在系统中为空的文件或者文件夹)

                find / -false  (查找系统中总是错误的文件)

                find / -fstype type  (查找系统中存在于指定文件系统的文件,例如:ext2)

                find / -group cat   (查找在系统中属于 groupcat的文件)

                find / -group gname  (查找系统中文件属于gnam文件组,并且指定组和ID的文件)

                find / -gid n   (查找系统中文件数字组 ID 为 n的文件)

                find / -mmin -5   (查找在系统中最后5分钟里修改过的文件)

                find / -mtime -1  (查找在系统中最后24小时里修改过的文件)

                find / -nouser   (查找在系统中属于作废用户的文件)

                find / -user fred  (查找在系统中属于FRED这个用户的文件)

        6)Find命令的控制选项说明

                -daystart    测试系统从今天开始24小时以内的文件,用法类似-amin

                -depth    使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容

                -follow    遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询

                -help    显示命令摘要

                -maxdepth levels    在某个层次的目录中按照递减方法查找   find . -maxdepth 2 -name fred

                -mount    不在文件系统目录中查找, 用法类似 -xdev.

                -noleaf    禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找

                -version    打印版本数字

  7)使用混合查找方式查找文件
          find命令可以使用混合查找的方法,例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件,我们可以使用-and 来把两个查找选项链接起来组合成一个混合的查找方式。

               find /tmp -size +10000000c -and -mtime +2

          如果我们要在/tmp目录中查找所有不属于panda的文件,find /tmp ! -user panda 。

  8)查找并显示文件的方法
          查找到某个文件是我们的目的,我们更想知道查找到的文件的详细信息和属性,如果我们采取现查找文件,在使用LS命令来查看文件信息是相当繁琐的,现在我们也可以把这两个命令结合起来使用。

           find / -name "httpd.conf" -ls

          系统查找到httpd.conf文件后立即在屏幕上显示httpd.conf文件信息, 12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf

          下面的表格就是一些常用的查找文件并显示文件信息的参数和使用方法

                        -exec command        查找并执行命令

                        -fprint file        打印文件完整文件名

                        -fprint0 file        打印文件完整文件名包括空的文件

                        -fprintf file format        打印文件格式

                        -ok command        给用户命令执行操作,根据用户的Y 确认输入执行

                        -printf format        打印文件格式

                        -ls        打印同种文件格式的文件.

 

2.locate命令解析

        locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

        即先运行:updatedb(无论在那个目录中均可,可以放在crontab中 )后在   /var/lib/slocate/ 下生成 slocate.db 数据库即可快速查找。在命令提示符下直接执行#updatedb 命令即可:

        locate -i        忽略大小写。

        例如:查找相关字issue

                $ locate issue

                /etc/issue

                /etc/issue.net

                /usr/man/man5/issue.5

                /usr/man/man5/issue.net.5

 

3.whereis命令解析

        whereis指令查找符合条件的文件,这些文件的烈性应属于原始代码(参数-s),二进制文件(参数-b),或是帮助文件(参数-m),如果省略参数,则返回所有信息。

        语法:whereis [-bmsu] 文件或者目录名称

        参数说明:

                -b:只找二进制文件

                -m:只找在说明文件manual路径下的文件

                 -s:只找source源文件

                 -u:没有说明文档的文件

4.which命令解析

        which命令的作用是在PATH变量指定的路径下查找某个系统命令的文职,并且返回第一个搜索结果,也就是说,使用which命令就可以看到某个系统命令是否存在,以及执行的到底是那个位置的命令。

        which指令会在环境变量$PATH设置的目录里查找符合条件的文件,所以基本的功能是寻找可执行文件。

        语法:which 可执行文件名称

 

5.type命令解析

        type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值