核心内容摘要
穿越古今,品味“辶喿辶喿辶臿辶喿”的无限风韵
最强大的搜索命令find首先进行一点说明find命令是我们在Linux系统中用来进行文件搜索用的最多的命令功能特别强大。
但是我们要说的是尽量少用find命令去执行搜索任务就算要搜索我们也应该尽量的缩小范围也不要在服务器使用高峰期进行文件搜索因为搜索也是很占系统资源的。
这就需要我们在进行Linux文件整理的时候尽量规范化什么文件放在什么目录下要清楚。
find这个命令如果要完全讲清楚恐怕得花费很长的时间而且很多用法我们几乎用不到所以这里我就不一一介绍此命令的每一种用法了我会详细介绍几种最常用的用法大家只需要记住这几种就完全够我们日常使用了。
命令所在目录/bin/findfind【搜索范围】【匹配条件】注意Linux搜索和Windows是有明显区别的Linux严格区分文件大小写。
根据 文件或目录名称 搜索find 【搜索目录】【-name或者-iname】【搜索字符】-name和-iname的区别一个区分大小写一个不区分大小写示例1find /etc -name init (精准搜索名字必须为 init 才能搜索的到)2find /etc -iname init (精准搜索名字必须为 init或者有字母大写也能搜索的到)3find /etc -name *init (模糊搜索以 init 结尾的文件或目录名)4find /etc -name init??? (模糊搜索 表示单个字符即搜索到 init___)
根据 文件大小 搜索举例在根目录下查找大于 100M 的文件find/-size204800这里 n 表示大于-n 表示小于n 表示等于1 数据块 512 字节
5KB也就是1KB等于2数据块100MB 102400KB204800数据块
根据 所有者和所属组 搜索1在home目录下查询所属组为 root 的文件find/home-group root2在home目录下查询所有者为 root 的文件find/home-user root
根据 时间属性 搜索find 【路径】【选项】【时间】【选项】有下面三种· -amin 访问时间· -cmin 文件属性被更改· -mmin 文件内容被修改【时间】n,-n,n分别表示超过n分钟n分钟以内和n分钟示例在 /etc 目录下查找5 分钟内被修改过属性的文件和目录find/etc-cmin-
根据 文件类型或i节点 搜索-type 根据文件类型查找f表示文件d表示目录l表示软链接示例查找 /home 目录下文件类型是目录的find/home-type l-inum 根据i节点查找示例查找 /tmp 目录下i节点为400342的文件或目录find/tmp-inum
组合条件 搜索这里有两个参数1-a 表示两个条件同时满足and2-o 表示两个条件满足任意一个即可or示例查找/etc目录下大于80MB同时小于100MB的文件find/etc-size163840-a-size-204800
在文件资料库中查找文件命令locate命令所在路径/usr/bin/locatelocate【文件名】-i 不区分大小写注意这里和 find 命令是有区别的find是全盘检索而locate 是在文件资料库中进行搜索。
所以locate命令的执行要比find命令执行速度快很多。
但是这里有个问题文件资料库是需要不断更新的。
我们新创建的文件如果不更新 文件资料库使用 locate 是查找不到的。
updatedb 手动更新资料库但是对于/tmp目录下的新建文件是更新不到文件资料库的因为/tmp目录不属于文件资料库的收录范围。
搜索命令所在的目录及别名信息which命令所在路径/usr/bin/whichwhich【命令】示例查询 ls 命令所在目录以及别名信息
搜索命令所在的目录及帮助文档路径whereis命令所在路径/usr/bin/whereiswhereis【命令】示例查询 ls 命令所在目录以及帮助文档路径
在文件中搜寻字符串匹配的行并输出grep命令所在路径/bin/grepgrep-iv 【指定字符串】【文件】-i 不区分大小写-v 排除指定字符串示例查找 /root/install.log 文件中包含 mysql 字符串的行并输出grep mysql/root/install.log
六、
总结以上我们介绍了几种文件搜索命令其中find是用的最多的也是功能最强大的文件或目录搜索命令和另一个搜索命令locate的区别是find命令是全盘搜索刚创建的文件也能搜索的到而locate是在文件资料库中进行搜索对比find命令搜索速度快很多但是新创建的文件如果没有收录到文件资料库中使用locate命令是搜索不到的再就是/tmp目录是不收录到文件资料库的也就是说使用locate命令搜索不到在/tmp目录下的文件。
还介绍了搜索命令所在的目录以及别名信息which搜索命令所在的目录以及帮助文档路径whereis最后一个命令grep和前面搜索文件或目录命令是不同的grep是在文件中搜索匹配的字符串是在文件中进行内容搜索这个命令后面用到的比较多大家需要记住用法。
感谢您的阅读服务器大本营-技术文章内容集合站助您成为更专业的服务器管理员