zoukankan      html  css  js  c++  java
  • linux的指令与文件的搜寻

    1.指令路径搜索which

    用法:which [-a] command

    选项或参数:-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

     2.文件搜索

    (1)whereis (在一些特定的目录中寻找文件文件名)

    用法:

    whereis [-bmsu] 文件或目录名
    选项与参数:
    -l :可以列出 whereis 会去查询的几个主要目录而已
    -b :只找 binary 格式的文件
    -m :只找在说明文件 manual 路径下的文件
    -s :只找 source 来源文件
    -u :搜寻不在上述三个项目当中的其他特殊文件

    whereis查找的特定目录

     

    (2)locate(在数据库/var/lib/mlocate/mlocate.db查找文件) / updatedb(更新数据库)

    用法:

    updatedb:根据/etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新/var/lib/mlocate 内的数据库
    文件;
    locate:依据/var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。

    locate [-ir] keyword
    选项与参数:
    -i :忽略大小写的差异;
    -c :不输出档名,仅计算找到的文件数量
    -l :仅输出几行的意思,例如输出五行则是 -l 5
    -S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等
    -r :后面可接正规表示法的显示方式

     

     (3)find查找指令

    用法:

    find [PATH] [option] [action]
    选项与参数:
    1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
    -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
    -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
    -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
    -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名

     《1》查找24小时内改动过的文件

     《2》寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出

    +4 代表大于等于5 天前的檔名:ex> find /var -mtime +4
    -4 代表小于等于4 天内的文件档名:ex> find /var -mtime -4
    4 则是代表4-5 那一天的文件档名:ex> find /var -mtime 4

    2. 与使用者或组名有关的参数:
    -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在
    /etc/passwd 里面与账号名称对应的数字。这方面我们会在第四篇介绍。
    -gid n :n 为数字,这个数字是组名的 ID,亦即 GID,这个 GID 记录在
    /etc/group,相关的介绍我们会第四篇说明~
    -user name :name 为使用者账号名称喔!例如 dmtsai
    -group name:name 为组名喔,例如 users ;
    -nouser :寻找文件的拥有者不存在 /etc/passwd 的人!
    -nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件!
    当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,
    这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。

    《1》搜寻 /home 底下属于 hui 的文件

     《2》搜寻系统中不属于任何人的文件

    3. 与文件权限及名称有关的参数:
    -name filename:搜寻文件名为 filename 的文件;
    -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
    c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
    还要大的文件,就是『 -size +50k 』
    -type TYPE :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f), 装置文件 (b, c),
    目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。
    -perm mode :搜寻文件权限『刚好等于』 mode 的文件,这个 mode 为类似 chmod
    的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
    -perm -mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,

    我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,
    当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
    因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
    -perm /mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,我们搜寻
    -rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------
    也会被列出来,因为他有 -rw.... 的属性存在!

    《1》找出名称为 passwd 这个文件

     《2》找出文件名包含了 passwd 这个关键词的文件

    《3》找出 /run 目录下,文件类型为 Socket 的文件

    《4》搜寻文件当中含有 SGID 或 SUID 或 SBIT 的属性

     

    4. 额外可进行的动作:
    -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
    -print :将结果打印到屏幕上,这个动作是预设动作!

    《1》将找到的文件使用 ls -l 列出来~

    《2》找出系统中,大于 100MB 的文件

     

  • 相关阅读:
    vue-router路由知识补充
    vue-router路由模式详解
    Linq To Sql的各种查询
    消息队列系列(四):Rabbitmq常用命令行
    产品发布之我见
    利用LogParser分析IIS日志
    SqlServer_删除重复行只保留一条记录
    SqlServer_合并多个递归查询数据(CTE)
    rabbitmq_坑
    mongodb_性能监控
  • 原文地址:https://www.cnblogs.com/huipengbo/p/12163296.html
Copyright © 2011-2022 走看看