一切皆文件 | Linux常用命令之文件查找 find locate


有一个特别经典的Linux思想“一切皆文件”,这句话直接讲起来有一些晦涩,我的理解就是,linux会把系统中的文件、目录、字符设备、块设备、 套接字、进程、线程、管道等都抽象为是一个个可被操作和处理的“文件”,然后通过这一个个“文件”的实际内容来对计算机硬件进行操控,和用户产生交互。


image.png


既然“一切皆文件”,那么我们在平时在对linux系统的使用中,其实也就是在操作一个个的各种各样的“文件”。常见的,生产环境下的linux系统都是没有图形界面的,我们在对文件进行操作时,难免会产生“查找”的需求。我们今天就来对linux中的查找命令一探究竟。

  • find 命令

find是linux里面最重要的命令之一,有着十分强大的功能,它会对指定目录下(甚至整个系统)的所有文件进行遍历查找。

find命令是根据文件的属性进行查找,如文件名称、文件大小、所有者、所属组、是否为空、创建时间、修改时间等。find是直接搜索硬盘,所以在遍历一个比较大的文件系统时,可能会消耗比较长的时间,这一点,类似于windows上的文件搜索。

使用格式:find  [PATHNAME]  [OPTION]  [ACTION]

find命令使用格式

按照文件名称查找

find /var -name abc.php      ===>  在/var目录下遍历查找文件abc.php 

find /var -name '*def*'          ===>  使用通配符'*',表示在/var目录下遍历文件名称中包含def字符串的文件

按照文件其他属性查找

find /home -type f   ===> 按文件类型查找,在/home目录下遍历查找普通文件,其他的类型还有:d:查找目录、b:查找块设备文件、c:查找字符设备文件、p:查找管道文件、i:查找符号链接文件

find /home -empty  ===> 在/home目录下遍历查找内容为空的文件或文件夹

find /home -group cat  ===> 在/home目录下遍历查找属于cat用户组的文件或文件夹

find /home -user cion  ===> 在/home目录下遍历查找属于cion用户的文件或文件夹

find /home -size +1000(-1000)k  ===> 在/home目录下遍历查找文件大小大于(小于)1000KB的文件(常用单位字符:b:字节(B),k:KB,M:MB,G:GB)

find /home -amin -10  ===> 在/home目录下遍历查找最后十分钟内访问的文件(access time)

find /home -mtime -1  ===> 在/home目录下遍历查找最后一小时内修改的文件(modify time)

使用混合查找方式查找文件

混合参数有:! ,-and(-a),-or(-o)

find /home -size +1000k -and -mtime +2   ===> 在/home目录下查找文件大小大于1000kb、同时最后修改时间在2分钟以内的文件

find /home ! -user cion   ===> 在/home目录下查找不属于cion用户的文件


  • locate 命令

locate命令其实相当于“find -name”的另一种写法,不同的是,locate不是通过遍历文件夹查找文件,而是搜索了linux的一个文件标识数据库(/var/liv/lacatedb),这个数据库中含有linux系统中所有本地文件的信息,linux系统会自动创建这个数据库,并且每天更新一次,如果你想得到最新的本地文件信息,你可以在使用locate命令之前,先使用updatedb命令手动更新一下lacatedb数据库。

一般情况下,推荐使用locate命令进行查找,一则避免很多“无权限查找”的问题,再就是locate比find的效率和速度都要高很多!!

locate命令使用实例:

$ locate /var/lib      ===>> 查找/var 下所有以lib开头的文件

$ locate */bin/php    ===>> 查找所有结尾为/bin/php的文件路径,可用于查找服务器安装了多少‘php’应用

$ locate */bin*     ===>> 查找所有包含/bin的路径


参考链接:https://www.cnblogs.com/qiaopei/p/5513814.html

https://www.cnblogs.com/flysnail/archive/2012/05/16/2504266.html

https://www.cnblogs.com/xudong-bupt/archive/2013/03/23/2976793.html

本文发表于2017年12月19日 21:30
阅读 2250 讨论 0 喜欢 1

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1