【Linux】Linux下不同的”查找“命令

来源:互联网 发布:北京租房知乎 编辑:程序博客网 时间:2024/05/19 08:37

在linux操作系统里,我们经常会需要知道哪个文件放在哪里,才能够对文件进行一些修改和维护工作。所以对查找命令的掌握就是必须的了。


which(寻找”执行文件“):

   命令格式:which [-a] command

例如:which ipconfig 或 which which,这样就能查找到ipconfig命令和which命令放在了哪个目录下。但是这个命令不能找到cd命令,因为cd是bash内置的命令。但是可以用type这个命令。

whereis(寻找特定文件):

 命令格式:whereis [-bmsu] filename/directoryname

  参数:

-b:只找二进制格式的文件

-m:只找说明文件manual路径下的文件

 -s:只找source源文件

-u:查找不在上述三个选项的其他文件

例如:whereis ipconfjg。


locate:

命令格式:locate [-ir] keyword

参数

-i:忽略大小写的差异

-r:后面可接正则表达式的显示方式

例如:locate passwd,值得说明的一点是:locate命令可以在后面输入文件的部分名称。locate的查询速度相当的快,并且只占用很少的资源,因为locate是在数据库上做查询的,而并非硬盘。但是同时还有一个缺点就是locate命令查询的结果不一定是准确的,因为这个数据库默认是一天更新一次,如果你刚刚创建一个文件,马上就对它进行一次locate,那么就会找不到这个文件。解决这个问题的方法就是使用updatedb命令,对数据库进行强制更新,所以,问题迎刃而解啦!


find:

命令格式:find [path] [option] [action]

参数巨多,这里就不一一列举了。

find命令是linux里功能最强大的命令,远远比whereis和locate强大得多,但是但是,这个命令确是最不常用的一个,原因就是find是在硬盘上进行查找,时间空间的开销会很大,这显然不是我们所期望的,所以find的用处仅仅是在locate和whereis做不到的地方。


grep(在指定的文件中查找字符串):

命令格式:grep ‘查找的字符串’ filename

参数:

-a:将binary文件以text文件的方式进行查找

-c:计算找到查找字符串的次数

-i:    忽略大小写的不同

-n:顺便输出行号

-v:反向选取

例如:grep -i mystring myfile,grep是一个很强大的命令,支持的语法很多,可以用在正则表达式里。


综上,其实我们日常用到最多的命令还是locate,简单高效,对不同命令的掌握还需要多多练习,才能体会其中的不同与奥秘,Let's work hard together!!!

0 0
原创粉丝点击