查找、搜索文件
命令:which
、whereis
、locate
、find
、stat
、file
which:查看可执行文件的位置。
whereis:查看文件的位置。
locate:配合数据库查看文件的位置。
(1)which
which命令的作用:在PATH变量指定的路径中搜索某个系统命令的位置,并且返回第一个搜索结果。即使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
例如:which ls
(2)whereis
whereis很简单,你告诉需要找什么,它就能反馈
例如:whereis ls
(3)locate
locate命令用于在系统全局范围内搜索文件。
locate原理:locate不是直接搜索整个文件系统,而是从后台数据库里读数据,由于updatedb一般一天执行一次,所以导致locate不能即时的找到刚创建的文件,可以手动更新。
后台数据库路径:/var/lib/mlocate/mlocate.db
这个是需要先安装,运行命令:yum install -y mlocate
安装完成后先更新数据库,运行命令:updatedb
完成后搜索想要的文件,小郭还是用ls实验
运行完成后它把所有包含“ls”的文件全部找出来了,文件名中只要有ls的都会被列出来
4.find
因为在Linux系统里一切皆文件,所以find命令很强大
举个例子(以/home/confidence目录为例)
查找所有文件:find /home/confidence *
或者查找一下当前目录里的名字包含".txt"的文件:find ./ -name \*.txt
(5)stat
stat描述的是文件和文件属性信息,inode信息
我们以1.txt为例子看一下:stat 1.txt
这里面的信息可以看出底下的三个时间节点,第一行时间是访问时间,第二行时间是文件内容修改时间,第三行时间是状态时间,最开始的时候这三个时间是一样的,因为是创建文件的同时修改了它的内容,相当于一次访问,所以在创建成功退出后三个时间一致。
我们试着vi一下,但不进入编辑模式,且不做任何修改
只有访问时间改变
我们试着用echo往里面写点东西:echo hi > 1.txt
内容改变时间和状态时间都变了
如果修改文件权限的话:chmod 777 1.txtt
只有最后一行状态被修改了
(6)file
显示文件的格式,例如:file 1.txt