一、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还要新的文件档名。

范例一:将过去系统上24小时内有改动过内容的文件列出

              find / -mtime 0      (0代表的是当期的时间)

范例二:寻找/etc下的文件,如果文件日期比/etc/passwd新就列出来

               find /etc -newer /etc/passwd

2.与使用者或组名有关的参数:

    -uid n : n为数字,这个数字是用户的账号ID;

-gid n : n为数字,这个数字是组名的ID;

    -user name : name为使用者账号名称;

    -group name : name为组名;

    -nouser  : 寻找文件的拥有者不在/etc/passwd的人;

寻找文件的拥有群组不在/etc/group的人;

范例一:搜寻/home底下属于tpuser 用户的文件

              find /home -user tpuser

   3.与文件权限及名称有关的参数:

      -name filename : 搜寻文件名为filename的文件;

      -size [+-]SIZE : 搜寻比SIZE还要大或小的文件。(c:代表byte,k代表1024bytes);

      -type TYPE : 搜寻文件的类型为TYPE的,

      -perm mode : 搜寻文件权限【刚好等于】mode的文件,mode为类似chmod的属性值;

      -perm -mode:搜寻文件权限【全部囊括mode的权限】的文件;

      -perm /mode : 搜寻文件权限【包含任一mode的权限】的文件;

范例一:找出档名为passwd这个文件

                 find / -name passwd

   4.额外可进行的动作:

      -exec command : command 为其他指令,-exec后面可再接额外的指令来处理搜寻到的结果

      -print                  :将结果打印到屏幕上,这个动作是预设动作。                   

范例一:搜寻文件当中含有SGID或SUID或SBIT的属性的文件,并使用ls -l 列出来

                  find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \;

linux 找到容器目录 linux找到文件的目录_which命令

-exec一直到 \; 是关键词,代表find额外动作的开始(-exec)到结束(\;)在这中间的find指令内的额外动作。在本例中就是【ls -l {}】。

二、locate/updatedb

 1.    loacte [-ir] keyword

选项与参数

     -i : 忽略大小写的差异

     -c : 不输出档名,仅计算找到的文件数量

     -l : 仅输出几行,例 -l 5

     -S : 输出locate锁使用的数据库文件的相关信息

     -r : 后面可接正规表示法的显示方式;

范例一、找出系统中所有与passwd相关的档名,且只列出5个

      locate -l 5 passwd

 2. updatedb

    locate使用是有限制的,他是由数据库来搜寻的,而数据库的建立是每天执行一次,所以新建立起来的文件,如果还用数据库更新之前的数据库搜巡文件,则locate搜寻不到,所以需要更新数据库,手动更新数据库的命令就是直接输入【updatedb】就行了。

三、which命令

    1. which [-a] command

        这个指令是根据【path】这个环境便令锁规范的路径,去搜寻【执行档】的档名