前言
在我们的Linux下有成千上万个系统文件,还有许多我们自己创建的文件,在Windows下我们需要查找文件的时候可以去搜索里面输入文件名然后自动去查找在Linux下同样也可以这样去操作,看起来是不是很酷!在Linux下有好多常用的查找命令,我们一一来介绍。
一、Whereis 程序名的搜索
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息1.1、查看帮助信息
看到一个命令的时候,请养成这样的习惯去help一下
1
2
3 |
[root@tshare365 ~] # whereis --help whereis [ -sbmu ] [ -SBM dir ... -f ] name... [root@tshare365 ~] # |
-b 只查找二进制文件 -m 只查找帮助文件 -s 只查找源代码 -u 排除指定类型文件 -f 只显示文件名 -B <目录> 在指定目录下查找二进制文件 -M <目录> 在指定目录下查找帮助文件
-S <目录> 在指定目录下查找源代码
1.2、演示示例
1
2
3
4
5 |
[root@tshare365 ~] # whereis -b ls ls : /bin/ls [root@tshare365 ~] # rpm -qf /bin/ls coreutils-8.4-31.el6.x86_64 [root@tshare365 ~] # |
看到whereis的用法了吧,还是相当有用的,如果我们系统中有一个命令,但是我们确不知道是通过什么软件包安装的时候whereis还是可以帮助的,如果你对rpm的命令不熟悉请点击 rpm详解
二、Which 命令
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令2.1、示例
1
2
3
4
5 |
[root@tshare365 ~] # which grep /bin/grep [root@tshare365 ~] # which ls alias ls = 'ls --color=auto' /bin/ls |
三、type命令
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。3.1、示例
1
2
3
4
5
6
7
8 |
[root@tshare365 ~] # type cd cd is a shell builtin #builtin表示命令是shell内部命令,也是shell本身自带的 [root@tshare365 ~] # type grep grep is /bin/grep [root@tshare365 ~] # type -p grep /bin/grep [root@tshare365 ~] # |
四、locate命令
locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
1
2
3 |
[root@tshare365 ~] # locate tshare365 /root/tshare365 [root@tshare365 ~] # |