
正文
linux 下的文件搜索、可执行文件搜索
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1. whereis 与 which
-
速度快,只是模糊查询,例如查询
$ whereis mysql
,则会将
mysql, mysql.ini, mysql*
所在的目录都找出来;
-
whereis 查看的是文件;
-
which 查看可执行文件:
$ which xinetd ⇒ /usr/sbin/xinetd
-
which命令的作用是,在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
-
一次可传递多个参数:
$ which xinetd pwd
/usr/sbin/xinetd
/usr/bin/pwd
2. find
-
准确,但效率低,
-
grep
是搜索某一文件或某一输出结果的某一行的内容进行匹配;
-
find 则是匹配的文件名;
$ find / -name *xx*
# 只记得部分的文件名;
3. locate
-
最好,最快,
-
第一次使用该命令,可能需要更新数据库,
速度快,只是模糊查询,例如查询
$ whereis mysql
,则会将
mysql, mysql.ini, mysql*
所在的目录都找出来;
- whereis 查看的是文件;
-
which 查看可执行文件:
$ which xinetd ⇒ /usr/sbin/xinetd -
which命令的作用是,在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
- 一次可传递多个参数:
$ which xinetd pwd
/usr/sbin/xinetd
/usr/bin/pwd
-
准确,但效率低,
- grep 是搜索某一文件或某一输出结果的某一行的内容进行匹配;
- find 则是匹配的文件名;
$ find / -name *xx*
# 只记得部分的文件名;
3. locate
-
最好,最快,
-
第一次使用该命令,可能需要更新数据库,
注意和 locale 的区别。
zhang@ubuntu:~$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=







