zoukankan      html  css  js  c++  java
  • Linux命令之乐--find

    find是命令行工具箱中最棒的命令之一。

    列出当前目录及其子目录中的文件和文件夹。

    [root@LAMP WebRoot]# find . -print
    .
    ./index.jsp
    ./upload.jsp
    ./listfile.jsp
    ./update.jsp
    ./WEB-INF
    ./WEB-INF/classes
    ./WEB-INF/classes/DownLoadServlet.class
    ./WEB-INF/classes/ListFileServlet.class
    ./WEB-INF/lib
    ./WEB-INF/lib/commons-fileupload-1.3.1.jar
    ./WEB-INF/lib/commons-io-2.4.jar
    ./WEB-INF/web.xml

    -print,用 对文件名进行分隔,另外它也可以省略,因为它已经是默认的了,需要注意的是文件名中含有换行符时,应该使用-print0,它使用作为文件名间的分隔。

    [root@LAMP WebRoot]# find . -print0
    ../index.jsp./upload.jsp./listfile.jsp./update.jsp./WEB-INF./WEB-INF/classes./WEB-INF/classes/DownLoadServlet.class./WEB-INF/classes/ListFileServlet.class./WEB-INF/lib./WEB-INF/lib/commons-fileupload-1.3.1.jar./WEB-INF/lib/commons-io-2.4.jar./WEB-INF/web.xml[root@LAMP WebRoot]# 

    根据文件名或正则表达式进行搜索。

    -name

    [root@LAMP WebRoot]# find -name DownLoadServlet.class
    ./WEB-INF/classes/DownLoadServlet.class

    -iname,忽略大小写

    [root@LAMP WebRoot]# find -iname downLoadServlet.class
    ./WEB-INF/classes/DownLoadServlet.class

    匹配多个条件中的一个

    [root@LAMP WebRoot]# find . ( -name "*.class" -o -name "*.jar" )
    ./WEB-INF/classes/DownLoadServlet.class
    ./WEB-INF/classes/ListFileServlet.class
    ./WEB-INF/lib/commons-fileupload-1.3.1.jar
    ./WEB-INF/lib/commons-io-2.4.jar

         注意中()间的空格。

     找出当前目录下名为database的目录

    [root@www src]# find . -type d -name database
    ./database

     find 和xargs的结合

      find找出的文件是以回车换行的,而xargs却是空白字符 (空格, TAB, 换行符) 来分割记录的,所以应该使用相同的分割符,这里都用null

    find /wls/webapps -name ".svn" -print0|xargs -0 rm -rf
  • 相关阅读:
    javaSE基础(三)
    javaSE基础(二)
    javaSE基础(一)
    文件目录爬虫
    前自增 与 后自增
    查找 与 排序 总结
    python 使用 grpc
    python3.7 安装 uwsgi
    go
    go
  • 原文地址:https://www.cnblogs.com/zydev/p/5797814.html
Copyright © 2011-2022 走看看