为什么要使用搜索命令呢?
第一:随着时间的流逝,文件系统中的文件越来越多,我们不可能记住所有文件的位置或内容(除非你是天才中的天才,呵呵呵)。
第二:不同版本的Linux,系统文件或者是应用程序所需要的文件的存储位置可能会有所差别。
因此Linux系统提供了一些文件搜索命令,供我们搜查我们所要寻找的文件。
一、命令文件的搜索
在命令模式下,连续输入两次[tab]键就可以知道当前用户有多少命令可以使用。我们还知道,每个命令其实都应该对应一个可执行文件。但是,你知道那个文件放在哪里吗?我们可以使用which或type命令来帮助我们搜索。
1、which命令
命令路径:/usr/bin/which
执行权限:所有用户
功能描述:查找系统命令的可执行文件所在目录并显示
语法:which [命令名称]
案例1:
[root@master bin]# which ls
alias ls='ls --color=auto'
/bin/ls
解析:/bin/ls是文件的全路径。alias是别名的含义,即输入ls 相当于输入ls --color=auto。案例2:
[root@master bin]# which pwd
/bin/pwd
解析:路径显示为/bin/pwd案例3:
[root@master bin]# which cd
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hyxy/bin)
解析:我们可以发现 cd命令完全可以使用,但是为什么查不到cd的位置呢?因为cd是bash的内置命令
什么是内置命令?。就是在bash内部定义的命令,换句话说,只要有bash存在,就可以直接使用的命令,没有自己的可执行文件。我们还可以发现which命令其实是在PATH环境变量里进行查找。也就是没有设置到环境变量里的命令,我们也查询不到。
那么,我们怎么查看命令是不是内置命令呢?可以通过type命令哦!
2、type命令
命令路径:内置命令
执行权限:所有用户
功能描述:用于显示命令的类型或命令的所在位置
语法格式:type [命令名称]
案例1:
[hyxy@master ~]$ type ls
ls is aliased to `ls --color=auto'
案例2:
[hyxy@master ~]$ type mkdir
mkdir is /bin/mkdir
案例3:
[hyxy@master ~]$ ty