Linux的find命令

作者: SnailTyan | 来源:发表于2017-05-27 13:41 被阅读60次

    文章作者:Tyan
    博客:noahsnail.com  |  CSDN  |  简书

    Linux的find命令主要用来查找系统中的文件。命令格式如下:

    find命令的格式: find  [-path ..] -options [-print -exec -ok]
    path:要查找的目录路径。
    ~ 表示$HOME目录
    . 表示当前目录
    / 表示根目录
    -print :表示将结果输出到标准输出
    -exec :对匹配的文件执行该参数所给出的shell命令。形式为 command  {} \; ,注意{}与\; 之间有空格
    -ok :与-exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
    
    options常用的有下选项:
    -name 按照名字查找
    -perm 安装权限查找
    -prune 不再当前指定的目录下查找
    -user 文件属主来查找
    -group 所属组来查找
    -nogroup 查找无有效所属组的文件
    -nouser 查找无有效属主的文件
    -type 按照文件类型查找
    
    • Demo
    # 当前路径下查找名为source_code的文件或文件夹(递归子文件夹)
    $ find . -name source_code
    ./source_code
    
    # 查找当前路径下的txt文件
    $ find . -name "*.txt"
    ./crontab.txt
    
    # 根据文件权限查找,查找权限为777的文件
    $ find . -perm 777
    ./test.sh
    
    # 根据类型查找,查找符号链接
    $ find . -type l
    ./Chapter14/multem
    
    # 根据修改时间查找
    $ find . -mtime 7 -type f
    ./model-zoo/.DS_Store
    ./model-zoo/vgg19/train_val.prototxt
    ./model-zoo/vgg19/VGG_ILSVRC_19_layers.caffemodel
    
    # 根据文件大小查找
    $ find . -size +1k -type f
    ./.DS_Store
    ./Chapter14/.DS_Store
    ./Chapter15/.DS_Store
    ./Chapter16/.DS_Store
    ./Chapter17/.DS_Store
    ./filename.txt
    
    # 查找文件并删除
    $ find . -size +1k -type f -ok rm {} \;
    "rm ./.DS_Store"? y
    "rm ./Chapter14/.DS_Store"? y
    "rm ./Chapter15/.DS_Store"? y
    "rm ./Chapter16/.DS_Store"? y
    "rm ./Chapter17/.DS_Store"? y
    "rm ./filename.txt"? n
    

    相关文章

      网友评论

        本文标题:Linux的find命令

        本文链接:https://www.haomeiwen.com/subject/nrlqfxtx.html