-
find
- 所在路径:/bin/find
- 执行权限:所有用户
- 功能描述:查找文件
- 语法:find 【查找范围】【匹配条件】
-
-name 按名字查找
- *:匹配所有字符。test*:匹配所有以test开头的。
- ?:匹配单个字符。test???:匹配所有以test开头且之后必须有也仅有三个字符。
如:find /etc -name test.c
-
-iname:与-name一样按名字查找,但忽略大小写。
-
-size:按文件大小查找。
- 单位为一个数据块=512B=0.5kB。
- +n:大于n数据块。
- -n:小于n数据块
- =n:等于n数据块。(很少用)
-
-user:按照用户名查找。
-
-group: 按照所属组查找。
-
-amin:访问时间access。
-
-cmin:最近多少分钟内,文件属性被修改。也就是ls -l中显示的跟该文件或者目录相关的属性。
如find /etc -cmin -5
查找/etc下最近五分钟内被修改过属性的文件或者目录。 -
-mmin:文件内容modify。也就是最近多少分钟内,文件内容被修改。
-
查找条件有多个时。
- -a :前后两者都满足。
- -o: 前后两者至少有一个满足。
如:find /etc -size +155 -a -size -300
-
-exec/-ok:
find /etc -name init -exec ls -l {} ;
find /etc -name init执行完后,得到的结果立马执行ls -l。注意ls -l {} ;之间的空格。{} \;是固定格式。
-ok与-exec只有一个区别,也就是执行操作时,会有个提示信息。 -
-type:按类型查找。
- f:文件。
- d:目录。
- l:软链接文件。
- 如:find /etc -type f
在/etc下查找所有文件。
-
-inum:根据i节点查找。
i节点也就是通过ls -i 显示的文件名前的数字。
通过i节点删除文件的例子
-
-
locate
- 所在路径:/usr/bin/locate
- 执行权限:所有用户
- 功能描述:在文件资料库中查找文件。
- 语法:locate 【-i】文件名。
- -i :不区分大小写
- 特点:
- 它与windows中的everything很像。也是先建立一个对系统大部分文件建立一个索引库,然后直接在这个索引库中查找,才会这么快。
- 如果新建一个文件,文件资料库没法这么快更新,需要使用updatedb更新文件资料库,然后查找。
- 有许多文件,locate不会收录进它的文件资料库,比如/tmp中存放的临时文件。
- locate作为查找不会特别靠谱,但非常快,查找常用的系统配置文件等,还是很好用的。真要完整的靠谱的查找,还是得find,不过find消耗资源太大,速度慢了点。
-
which
- 所在路径:/usr/bin/which
- 执行权限:所有用户。
- 功能描述:搜索命令所在绝对路径以及别名信息。
- 语法:which 命令名
-
whereis
- 所在路径:/usr/bin/whereis
- 执行权限:所有用户
- 功能描述:查找命令所在绝对路径以及配套的man文档所在绝对路径
- 语法:whereis 命令名
-
grep(文件内容搜索命令)
- 所在路径:/bin/grep
- 执行权限:所有用户
- 功能描述:在文件中搜索匹配的行,并输出。
- 语法:grep 【-iv】 文件
- -i :搜索时,不区分大小写。
- -v:排除包含该字符串的行。
- 例子:grep -v # /etc/init
在/etc/init文件中查找没有#的行,也就是非注释行,并输出。
由于注释不一定写在行头,也可以写在行位,通过这种方法会过滤掉一些非注释行。于是可以:grep -v ^# /etc/init
其中^表示行首,整句命令的意义也就是只排除以#开头的行。
linux查找命令(find、locate、which、whereis、grep)
最新推荐文章于 2025-04-18 09:00:00 发布