来自:民工哥技术之路

1、which命令

我们常常在linux要查找某个文件,但不晓得放到那里了,可以使用下边的一些命令来搜索:which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,但是返回第一个搜索结果。也就是说,使用which命令,就可以看见某个系统命令是否存在,以及执行的究竟是哪一个位置的命令。1.命令格式:which可执行文件名称2.命令功能:which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,但是返回第一个搜索结果。3.命令参数:4.使用实例:实例1:查找文件、显示命令路径

命令:which lsmod
输出:
[root@localhost ~]# which pwd
/bin/pwd
[root@localhost ~]# which adduser
/usr/sbin/adduser
[root@localhost ~]#

登录后复制

说明:which是依照使用者所配置的PATH变量内的目录去搜救可运行档的!所以,不同的PATH配置内容所找到的命令其实不一样的!实例2:用which去找出which

命令:whichwhich

输出:

[root@localhost ~]# which whichalias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
     /usr/bin/which
[root@localhost ~]#

登录后复制

说明:居然会有两个which,其中一个是alias这就是所谓的『命令别称』,意思是输入which会等於前面接的那串命令!实例3:找出cd这个命令

命令:whichcd

linux命令定位到指定位置_linux定位oom_linux 命令定位文件

输出:

说明:cd这个常用的命令居然找不到啊!为何呢?这是由于cd是bash内建的命令!并且which默认是找PATH内所规范的目录,所以其实一定找不到的!

2、whereis命令

whereis命令只能用于程序名的搜索,并且只搜索二补码文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。假如省略参数,则返回所有信息。和find相比,whereis查找的速率十分快,这是由于linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下边正式介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬碟来查找,效率自然会很高。并且该数据库文件并不是实时更新,默认情况下时一礼拜更新一次,因而,我们在用whereis和locate查找文件时,有时会找到早已被删掉的数据,或则刚才构建文件,却难以查找到,诱因就是由于数据库文件没有被更新。1.命令格式:whereis[-bmsu][BMS目录名-f]文件名2.命令功能:whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。那些文件的属性应属于原始代码,二补码文件,或是帮助文件。whereis程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。3.命令参数:4.使用实例:实例1:将和**文件相关的文件都查找下来

命令:whereis svn
输出:
[root@localhost ~]# whereis tomcat
tomcat:
[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz

登录后复制

说明:tomcat没安装,找不下来,svn安装找出了好多相关文件实例2:只将二补码文件查找下来

命令:whereis -b svn
输出:
[root@localhost ~]# whereis -b svn
svn: /usr/bin/svn /usr/local/svn
[root@localhost ~]# whereis -m svn
svn: /usr/share/man/man1/svn.1.gz
[root@localhost ~]# whereis -s svn
svn:
[root@localhost ~]#

登录后复制

说明:whereis-msvn查出说明文档路径linux 命令定位文件,whereis-ssvn找source源文件。

3、locate命令

locate让使用者可以很快速的搜救档案系统内是否有指定的档案。其方式是先构建一个包括系统内所有档案名称及路径的数据库,然后当找寻时就只需查询这个数据库,而毋须实际深入档案系统之中了。在通常的distribution之中,数据库的构建都被置于crontab中手动执行。1.命令格式:Locate[选择参数][式样]2.命令功能:locate命令可以在搜救数据库时快速找到档案linux 命令定位文件,数据库由updatedb程序来更新,updatedb是由crondaemon周期性构建的,locate命令在搜救数据库时比由整个由硬碟资料来搜救资料来得快,但较差劲的是locate所找到的档案若是近来才完善或刚改名的linux串口驱动,可能会找不到,在内定值中,updatedb每晚会跑一次,可以由更改crontab来更新设定值。(etc/crontab)locate指定用在搜救符合条件的档案,它会去储藏档案与目录名称的数据库内,找寻合乎范本式样条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本式样,如指定范本为kcpa*ner,locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列举该目录下包括子目录在内的所有档案。locate指令和find寻找档案的功能类似linux公社,但locate是透过update程序将硬碟中的所有档案和目录资料先构建一个索引数据库,在执行loacte时直接找该索引,查询速率会较快,索引数据库通常是由操作系统管理,但也可以直接下达update逼迫系统立刻更改索引数据库。3.命令参数:4.使用实例:实例1:查找和pwd相关的所有文件

命令:locate pwd
输出:
peida-VirtualBox ~ # locate pwd
/bin/pwd
/etc/.pwd.lock
/sbin/unix_chkpwd
/usr/bin/pwdx
/usr/include/pwd.h
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.pyc
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.pyc
/usr/lib/syslinux/pwd.c32
/usr/share/help/C/empathy/irc-join-pwd.page
/usr/share/help/ca/empathy/irc-join-pwd.page
/usr/share/help/cs/empathy/irc-join-pwd.page
/usr/share/help/de/empathy/irc-join-pwd.page
/usr/share/help/el/empathy/irc-join-pwd.page

登录后复制

实例2:搜索etc目录下所有以sh开头的文件

命令:locate /etc/sh
输出:
peida-VirtualBox ~ # locate /etc/sh
/etc/shadow
/etc/shadow-/etc/shells
peida-VirtualBox ~ #

登录后复制

实例3:搜索etc目录下,所有以m开头的文件

命令:locate /etc/m
输出:
peida-VirtualBox ~ # locate /etc/m
/etc/magic
/etc/magic.mime
/etc/mailcap
/etc/mailcap.order
/etc/manpath.config
/etc/mate-settings-daemon

登录后复制

想要学习Linux系统运维的同事们可以看一看《Linux系统运维手册从入门到企业实战》这本书,特别适宜Linux学习及工作必备的工具书。

end


登录后复制

良许个人陌陌

添加良许个人陌陌即送3套程序员必看资料

→精选技术资料共享

→高手如云交流社群

本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取

以上就是(民工哥技术之路)命令的使用实例分析的详细内容,更多请关注小闻网其它相关文章

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。