当前位置 博文首页 > 程序猿就是我:详解Linux指令与文件的搜寻
我们在管理Linux服务器时通常会进行搜索文件及目录操作,下面我们就开始了解一下linux目录结构的相关知识。
博主再奉上一套零基础入门Linux视频,带你从入门到精通
https://www.bilibili.com/video/BV1Li4y1V7pG
指令文件名的搜寻
1. which(寻找可执行文件)
命令:which 【-a】 command
-a : 将所有有PATH目录中可以找到的指令均列出
例1: 搜寻ifconfig这个指令的完整文件名
例2:找出which的文件名
竟然会有两个 which ,其中一个是 alias 这玩意儿呢!那是啥?
那就是所谓的“命令别名”,意思是输入 which 会等于后面接的那串指令啦!
例3:找出history这个指令的完整文件名
在上图我们发现history这个指令招不到,我们的root命令是可以执行history这个命令的
注意点:
which这个指令是找的PATH这个环境变量所规范的路径,但是有的指令是是bash内置的指令,所有which搜索不到,那么要搜索bash的指令就需要使用type
文件文件名的搜寻
在linux下有三个指令来搜索文件名
1. whereis(只能在特定目录寻找文件名)
whereis 主要是针对 /bin /sbin 下面的可执行文件, 以及 /usr/share/man 下面的 man page 文件
参数
whereis这个命令可以搜索到的文件可以使用whereis -l来查看
这个图没有截取完,可以自己去试着查看
2. localte
例1:找出passwd的文件,只列出5个
例2:寻找我们自己创建的文件
确实很方便的
3. locate的寻找速度
由于locate指令是直接在已创建的数据库/var/lib/mlocate里边的数据,所以是很快的。
关于这个数据库是每天都会更新一次的
4. 关于locate数据库更新
这个数据库是每天都会更新一次的,但是有个问题就是假如你新创建了一个文件,但是没有达到这个更新时间,那么就查不到的,下面我们来试验一下
上图会发现是搜索不到的。
那么我们就到了我们的updatedb这个指令上场了,这个时候就可以查到了
5. find指令时间相关的查询
find指令的用法就非常多了下来我们一点一点的解析
与时间相关的参数
例1:找出系统24小时内有过改动的文件
find / -mtime 0
6. find指令使用者或者群组文件的查询
这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
例1:搜寻/learn下面属于kaka用户的文件
例2:搜索属于kaka群组的文件
例3:搜寻不属于任何人的文件
find / -nouser
7. 搜寻文件名称跟权限的文件
例1:找出文件名为kaka.php的文件
例2:找出文件名包含kaka的文件
例3:找出learn下的目录
关于perm特殊权限的搜索就不写了,没有多大的意义
————————————————