Liunx之查询命令Find
twocode

    在最初的命令行中使用的频率较高的是

        find / -name php.ini

    当然原因就是因为对环境的不熟悉,不知道这个文件会在哪里,之后知道了寻找配置文件的话就可以改进命令:

        find /etc -name php.ini

虽然是命令改动的一小步,但是是查询效率提升的一大截。

    这也是find 的最基本用法。

    ps:

    find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

    参数:

    path: 所查找的目录路径

         . 表示当前目录    

         /  表示系统根目录 

    -print: 将匹配的文件输出到标准输出。

    -exec:匹配的文件执行该参数所给出的shell命令,相应命令的形式为'command' { }  \ ,注意{ }和\之间的空格。

    -ok: 和-exec的作用相同,更为安全,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

 -option:

    -name   filename             #查找名为filename的文件

    -perm                        #按执行权限来查找

    -user    username             #按文件属主来查找

    -group groupname            #按组来查找

    -mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前

    -atime    -n +n               #按文件访问时间来查GIN: 0px">

    -ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

    -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在

    -nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存

    -newer   f1 !f2              #查更改时间比f1新但比f2旧的文件

    -size      n[c]               #查长度为n块[或n字节]的文件

    -depth                       #使查找在进入子目录前先行查找完本目录

    -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件

    -fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到

    -mount                       #查文件时不跨越文件系统mount点

    -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件

    -cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中

    -prune                       #忽略某个目录

    应用实例:

    查找所有的html文件并删除

    #find . -name *.html | xargs rm -rf

    查当前目录下的所有普通文件

    # find . -type f -exec ls -l {} \;

    (xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会把包含的换行和空白用空格取代。)

网友评论已关闭