首页 > 代码库 > Linux基础篇之五基础命令 ---- 3

Linux基础篇之五基础命令 ---- 3

在linux中,我们经常需要查找某些文件,以及文件所在目录等。那么我们需要用到一些基本的文件查找类命令。

文件查找命令主要有以下几个:


·which    查看命令或可执行文件的完整路径

·whereis   显示二进制文件路径、使用手册文件路径、源码文件路径

·locate    配合数据库查看文件路径

·find     搜索硬盘查询特定文件



·which

which命令的作用,在指定的PATH路径中,搜索某个系统命令的位置,并且返回第一搜索结果。可以查看某个系统命令是否存在,且命令所在的源文件位置。


·命令格式:

which [options] [--] programname [...]


·选项参数:

-a:将所有PATH目录中可以找到的命令均列出,而不止第一被找到的命令名称

--skip-alias:忽略别名


    例1:分别用root和普通用户搜索useradd命令的完整路径

    技术分享

    root用户可以找到ifconfig的完整路径

    

    技术分享

    我们发现普通用户提示找不到useradd命令。

    因为which命令是根据用户所设定的PATH变量内的目录去搜索命令的。

    所以,不同的PATH设定内容找到的命令当然不一样!

    

    例2:用which查找which本身会发生什么?

    技术分享

    有两个which,其中一个alias which是命令别名,等于后面的那一串命令+参数

    我们可以通过追加选项--skip-alias来忽略别名,如下图所示

    技术分享


    例3:查找cd命令的完整路径

    技术分享

    找不到cd命令的完整路径,证明cd命令所在的目录,PATH中并没有定义



·which

whereis命令可显示二进制程序文件路径、使用手册文件路径、源码文件路径


·命令格式:

whereis [-bmsu] [-BMS directory...  -f] filename...


·选项参数:

-b:仅搜索二进制程序文件的路径(常用)

    例如:

    技术分享    

    技术分享

    注意,普通用户通过which命令找不到adduser,而whereis却可以找到!

    这是因为系统本身存在adduser这个文件,which命令找不到是因为PATH命令没有加入指定目录

    所以,当你找不到某些命令式,不妨向用文件搜索命令找找看。


-m:仅搜索使用手册文件路径(常用)

    例如:

    技术分享

    

-s:仅搜索源代码路径

-u:搜索默认路径下除以上3种路径以外的其他文件路径

-B:指定搜索可执行文件的路径。

-M:指定搜索帮助文件的路径。

-S:指定搜索源代码文件的路径。

   










未完待续!!

本文出自 “ccschan” 博客,请务必保留此出处http://ccschan.blog.51cto.com/11854461/1846587

Linux基础篇之五基础命令 ---- 3