本文主要讲解Linux系统里最常用的搜索文使用5个高效搜索文件的命令,他们分别是个高which,type,效命whereis,正确locate,搜索文使用find 他们的个高使用分别是: 注意: 在这5个命令中,find命令是最慢的,原因是它可以搜索任意类型的文件,并且是实时查找的。 通常先使用whereis或者locate查找文件,如果没有找到目标文件,再用find命令 这是因为whereis与locate通过查询数据库来定位文件路径的,所以相当快速,比较节省时间。而find命令是通过实时搜索硬盘的文件的。 locate命令是mlocte软件套件的一个子命令集,通过以下命令安装mlocate套件 总下载量:113 k 安装大小:379 k Downloading packages: mlocate-0.26-8.el7.x86_64.rpm | 113 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : mlocate-0.26-8.el7.x86_64 1/1 验证中 : mlocate-0.26-8.el7.x86_64 1/1 已安装: mlocate.x86_64 0:0.26-8.el7 完毕! 执行以下命令手动更新数据库: updatedb命令通过读取/etc/updatedb.conf中的配置,然后搜索整个Linux文件系统的文件,然后更新数据库文件,查找文件直接读取该数据库 which命令在PATH变量指定的路径中,搜索某个系统命令的位置,服务器托管并且返回第一个搜索结果。 which命令的格式如下: which命令的参数如下: 使用案例,通过which命令查找wget程序文件所在的目录位置: /usr/bin/wget 可以看出wget的程序位置 whereis命令的使用格式如下: whereis命令的选项作用如下: 选项备注-b只搜索程序二进制文件-m只搜索程序对应的使用手册-s只搜索程序源文件-u查找不在上述三个选项当中的其他特殊文件 使用locate搜索案例: 搜索locate这个命令程序所在的位置: 搜索结果如下,可以看出locate程序的程序文件和手册文件所在的位置 locate: /usr/bin/locate /usr/share/man/man1/locate.1.gz 搜索chmod程序的使用手册文件 chmod: /usr/share/man/man1/chmod.1.gz 搜索程序相关的文件命令之whereis locate命令的格式如下: locate命令的参数如下: 使用案例: /etc/default/useradd /usr/sbin/luseradd /usr/sbin/useradd /usr/share/man/de/man8/useradd.8.gz /usr/share/man/fr/man8/useradd.8.gz /usr/share/man/id/man8/useradd.8.gz /usr/share/man/it/man8/useradd.8.gz /usr/share/man/ja/man8/useradd.8.gz /usr/share/man/man1/luseradd.1.gz /usr/share/man/man8/useradd.8.gz /usr/share/man/ru/man8/useradd.8.gz /usr/share/man/tr/man8/useradd.8.gz /usr/share/man/zh_CN/man8/useradd.8.gz /usr/share/man/zh_TW/man8/useradd.8.gz 可以通过find命令查找Linux系统文件上的任何文件 使用Linux最强大的搜索命令工具find find命令的使用格式如下: 5.1 `find`命令基于文件名的搜索 与文件名有关的参数如下: -name filename:查找文件名为filename的亿华云文件。filename可使用正则表达式表示。 使用案例: /usr/bin/sz 查找文件名为sz的文件。 5.2 `find`命令之基于文件大小的搜索 如果想通过文件大小做为搜索条件的话,可以使用以下参数: 其中,xxx的单位有: -c字节byte; -w 表示汉字(2字节); -b块(512字节); - k表示千字节; - M 表示兆字节; - G 表示吉字节。 find使用案例: 搜索当前目录下大于99KB的文件 搜索当前目录下等于88KB的文件 5.3 `find`命令之基于文件类型的搜索 与文件类型有关的选项如下: 选项-type 表示定义查找目标文件的类型。 TYPE的参数列表有: -f :普通文件; -l:符号连接; -d:目录; -c :字符设备; -b :块设备; -s :套接字; - p:FIFO。 使用案例: 查找/proc目录下所有类型为socket的文件。 5.4 `find`命令之基于文件时间进行搜索 与时间有关的参数共有 -atime、-ctime、-mtime。下面以-mtime说明: 下面以几个实际写法解释此用法: -mtime +2,表示2天以外的,即从距离当前时间的2天前开始算起,往更早的时间推移。 -mtime +1,表示1天以外的,即从距当前时间的1天前算起,往更早的时间推移。 -mtime 1, 距离当前时间第1天的文件,因此以此为时间点。 使用案例: 查找从现在开始到24小时前,/etc目录下所有改动过内容的文件都会被列出来。 查找/etc目录下,所有比/etc/passwd文件更新的文件。 其它更多关于find命令的使用方法请参考本站的教程: Linux find命令查找文件34个实用案例 linux搜索文件的命令必须牢记,系统运维频繁要用到的,掌握这5大命令的用法能极大提升运维效率。 1. 前言
2. 搜索系统命令位置-`which`命令
3. 搜索程序相关的文件命令`whereis`
4. 通过`locate`命令搜索文件
5. 使用Linux最强大的搜索命令工具`find`
6. 总结