程序员

Linux基础(2)—— Linux常用的查询命令

2018-12-25  本文已影响14人  黄宝玲_1003

不知你们是否经常遇到这种情况,跑了一个进程或docker容器,想知道输出问件在哪,试了which指令和whereis指令都没用,所以我决定看看这几种指令有什么差别。

1、which(查看可执行文件的位置)

2、whereis(查看文件的位置)

whereis命令只能用于程序名的搜索,并且只搜索二进制文件 (参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。

和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用 whereis和下面即将介绍的locate时,会从数据库中查找数据, 而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时每星期更新一次,因此,我们在用 whereis 或 locate 查找文件时,有时会找到已经被删除的数据,或者刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

locate指令我不常用,就不介绍了,重点介绍find指令。前面几种不记得也没关系,用find指令可以得到相同的结果,只是效率更低,得到的返回条数更多。

3、find(实际搜寻硬盘查询文件名称)

查找文件或文件夹的位置

# 查找文件名为hbl_data1的绝对路径
find / -name hbl_data1  # 在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,查找速度较慢
find /var -name hbl_data1 
find /var/lib -name hbl_data1 
# 都能得到结果/var/lib/docker/volumes/hbl_data2

如果输入以上查找命令后系统并没有显示出结果,不要以为系统没有执行find / -name hbl_data1命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了ApacheWeb服务器,然后再使用find / -name httpd.conf就能找到这个文件了。

下面是一些不常用的指令

find / -size 1500c  # 查找在系统中大小为1500bytes的文件
find / -amin -10    # 查找在系统中最后10分钟访问的文件 
find / -atime -2    # 查找在系统中最后48小时访问的文件 
find / -empty       # 查找在系统中为空的文件或者文件夹 
find / -group cat   # 查找在系统中属于groupcat的文件 
find / -mmin -5     # 查找在系统中最后5分钟里修改过的文件 
find / -mtime -1    # 查找在系统中最后24小时里修改过的文件 
find / -nouser      # 查找在系统中属于作废用户的文件 
find / -user fred   # 查找在系统中属于FRED这个用户的文件 
上一篇下一篇

猜你喜欢

热点阅读