Linux知识三:高效查找文件

如何查找文件:find 目录/. -name 文件:查找文件在指定目录/当前目录下指定的文件名(eg:find / -name httpd -ctime 0[多少天内])。
find最强大,什么都能查,find 是直接在硬盘上搜寻,功能强大,但耗硬盘,一般不要用。
locate能查所以,但跟whereis一样都是查数据库里的内容,locate 同上,不过文件名是部分匹配。
which只能查可执行文件,which 只能寻找执行文件 ,并在PATH变量里面寻找。
whereis只能查二进制文件、说明文档,源文件等,whereis 从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。
find [PATH] [option] [action],参数:
 1. 与时间有关的参数:
    -atime n :n 为数字,意义为在 n 天之前的『一天之内』被 access 过的档案;
    -ctime n :n 为数字,意义为在 n 天之前的『一天之内』被 change 过状态的档案;
    -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被 modification 过的档案;
    -newer file :file 为一个存在的档案,意思是说,只要档案比 file 还要新,
                  就会被列出来~
 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 搜寻。
 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.... 的属性存在!
 4. 额外可进行的动作:
    -exec command :command 为其它指令,-exec 后面可再接额外的指令来处理搜寻到
                    的结果。
    -print        :将结果打印到屏幕上,这个动作是预设动作!

你可能感兴趣的:(C++,c,linux,socket,C#)