#
瞎密?怎么可能
没
有
history
,我明明就能
够
用
root
执
行
history
的啊!
这个指令是根据『
PATH
』这个环境变量所规范的路径,去搜寻『执行档』的档名
~
所以,重点是
找出『执行档』而已!且
which
后面½的是『完整档名』喔!若加上
-a
选项,则可以列出所有的
可以找到的同名执行文件,而非½显示第一个而已!
最后一个范例最有趣,怎么
history
这个常用的指令竟然找不到啊!为什么呢?这是因为
history
是
『
bash
内½的指令』啦!
但是
which
预设是找
PATH
内所规范的目录,所以当然一定找不到的啊
(
有
bash
就有
history
!
)
!那怎办?没关系!我们可以透过
type
这个指令喔!
关于
type
的用法我
们½在
第十章的
bash
再来谈!
6.5.2
文件
档名的搜寻
再来谈一谈怎么搜寻文件吧!在
Linux
底下也有相当优异的搜寻指令呦!通常
find
不很常用的!因
为速度慢之外,
也很操硬盘!一般我们都是先使用
whereis
或者是
locate
来检查,如果真的找不到
了,才以
find
来搜寻呦!
为什么呢?因为
whereis
只找系统中某些特定目录底下的文件而已,
locate
则是利用数据库来搜寻文件名,当然两者就相当的快速,
并且没有实际的搜寻硬盘内的文件系统状
态,比½省时间啦!
.
whereis (
由一些特定的目录中寻找
文件
文件名
)
[root@study ~]#
whereis [
-
bmsu]
文件
或目
录
名
选项
与
参数
:
-
l :
可以列出
whereis
会
去查
询
的几
个
主要目
录
而已
-
b :
只找
binary
格式的
文件
-
m :
只找在
说
明文件
manual
路
径
下的
文件
-
s :
只找
source
来
源
文件
-
u :
搜
寻
不在上述三
个项
目
当
中的其他特殊
文件
范例一:
请
找出
ifconfig
这个档
名
[root@study ~]#
whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
范例二:只找出跟
passwd
有
关
的『
说
明文件』
档
名
(man page)
[root@study ~]#
whereis passwd
#
全部的
档
名通通列出
来
!
passwd: /usr/bin/passwd
/etc/passwd /usr/share/man/man1/passwd.1.gz
/usr/share/man/man5/passwd.5.gz
[root@study ~]#
whereis
-
m passwd
#
只有在
man
里面的
档
名才抓出
来
!
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
等一下我们会提到
find
这个搜寻指令,
find
是很强大的搜寻指令,但时间花用的很大!
(
因为
find
是直½搜寻硬盘,为如果你的硬盘比½老旧的话,嘿嘿!有的等!
)
这个时候
whereis
就相当的好用
了!另外,
whereis
可以加入选项来找寻相关的数据,例如,如果你是要找可执行文件
(binary)
那
么加上
-b
就可以啦!
如果不加任何选项的话,那么就½所有的数据列出来啰!