城市建设理论研究收录网站,加强网站及微信平台建设,凡科网站免费版,怎么计算网站开发费用目录
命令与文件的搜寻
which
文件档名的搜寻#xff1a;
whereis (寻找特定文件)
locate
find 以下内容转载自鸟哥的Linux私房菜
命令与文件的搜寻
which 这个命令是根据『PATH』这个环境变量所规范的路径#xff0c;去搜寻『运行档』的档名#xff5e; 所以
whereis (寻找特定文件)
locate
find 以下内容转载自鸟哥的Linux私房菜
命令与文件的搜寻
which 这个命令是根据『PATH』这个环境变量所规范的路径去搜寻『运行档』的档名 所以重点是找出『运行档』而已且 which 后面接的是『完整档名』喔若加上 -a 选项则可以列出所有的可以找到的同名运行档而非仅显示第一个而已
文件档名的搜寻 whereis (寻找特定文件)
通常 find 不很常用的因为速度慢之外 也很操硬盘通常我们都是先使用 whereis 或者是 locate 来检查如果真的找不到了才以 find 来搜寻呦 为什么呢因为 whereis 与 locate 是利用数据库来搜寻数据所以相当的快速而且并没有实际的搜寻硬盘 比较省时间啦 Linux 系统会将系统内的所有文件都记录在一个数据库文件里面 而当使用 whereis 或者是底下要说的 locate 时都会以此数据库文件的内容为准 因此有的时后你还会发现使用这两个运行档时会找到已经被杀掉的文件 而且也找不到最新的刚刚创建的文件呢这就是因为这两个命令是由数据库当中的结果去搜寻文件的所在啊
locate 直接在后面输入『文件的部分名称』后就能够得到结果
使用 locate 来寻找数据的时候特别的快 这是因为 locate 寻找的数据是由『已创建的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的所以不用直接在去硬盘当中存取数据
数据库的升级不是实时的所以可能会明明有却找不到
升级 locate 数据库的方法非常简单直接输入『 updatedb 』 updatedb 命令会去读取 /etc/updatedb.conf 这个配置档的配置然后再去硬盘里面进行搜寻档名的动作 最后就升级整个数据库文件罗因为 updatedb 会去搜寻硬盘所以当你运行 updatedb 时可能会等待数分钟的时间
updatedb根据 /etc/updatedb.conf 的配置去搜寻系统硬盘内的档名并升级 /var/lib/mlocate 内的数据库文件locate依据 /var/lib/mlocate 内的数据库记载找出使用者输入的关键字档名。
find 『4天内被更动过的文件档名』呢那可以使用『 find /var -mtime -4 』。那如果是『4天前的那一天』就用『 find /var -mtime 4 』。有没有加上『, -』差别很大 4代表大於等於5天前的档名ex find /var -mtime 4-4代表小於等於4天内的文件档名ex find /var -mtime -44则是代表4-5那一天的文件档名ex find /var -mtime 4想要找出某个使用者在系统底下创建了啥咚咚使用上述的选项与参数就能够找出来啦 至於那个 -nouser 或 -nogroup 的选项功能中除了你自行由网络上面下载文件时会发生之外 如果你将系统里面某个帐号删除了但是该帐号已经在系统内创建很多文件时就可能会发生无主孤魂的文件存在 此时你就得使用这个 -nouser 来找出该类型的文件罗 我们知道 SUID 与 SGID 都可以配置在二进位程序上假设我想要找出来 /bin, /sbin 这两个目录下 只要具有 SUID 或 SGID 就列出来该文件你可以这样做 因为 SUID 是 4 分SGID 2 分总共为 6 分因此可用 6000 来处理这个权限 至於 find 后面可以接多个目录来进行搜寻另外 find 本来就会搜寻次目录 {} 代表的是『由 find 找到的内容』如上图所示find 的结果会被放置到 {} 位置中-exec 一直到 \; 是关键字代表 find 额外动作的开始 (-exec) 到结束 (\;) 在这中间的就是 find 命令内的额外动作。 在本例中就是『 ls -l {} 』罗因为『 ; 』在 bash 环境下是有特殊意义的因此利用反斜线来跳脱。