一:locate:搜索速度快,按文件名搜索,功能单一,不能搜索更加复杂的
不需要遍历整个操作系统
locate locate :搜索locate 中与locate相关的,可以出来一大堆。
先创建文件,再更新数据库,它找不到,因为有搜索限制,限制为yes,/tmp
locate 搜索命令是一种检索数据库的搜索,数据库路径/var/lib/mlocate,他的搜索只限在数据库中记录在册的文件,因此需要使用强制更新数据库命 令:updatedb。同时,该更新命令是遵守特定配置文件的配置规则来执行搜索的,该配置文件是etc/updatedb.conf。
二:whereis 只搜索系统命令所在位置,不搜自己创建的文件 which跟whereis很相似,只不过可以多查了个命令的别名
运行whereis ls 发现:
bin目录存的是所有用户都可访问的命令; 后边是ls的帮助文档所在位置
想要知道我在哪儿:whereis +命令
想要知道我是谁:whoami +命令
想要知道我是干嘛的:whatis +命令
不是所有的命令都有别名,cd是特殊的命令,是linux的内置命令,cd命令是shell自带的命令,shell本身就有这个命令,所以不需要独立的执行文件
shell是linux内置的命令,shell是当前操作的界面,linux系统跟用户的交互界面
也就是说,通过whereis与which搜索的命令都是外部安装的命令
echo $path 环境变量,是提前定义好,使用的时候就不用每次都写很长的绝对路径,写个相对路径就可以,因为有环境变量存在,所以系统命令可以不写绝对路径的
如果自己写的程序,脚本就需要写绝对路径,除非你把它加到path环境变量中
三:find
是从根目录开始搜索,会把所有的文件名都搜一遍,如果数据量大的话,find是非常耗费资源的。比如有些杀毒软件,就是扫描整个硬盘。
-
四:grep