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

[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..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..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 - rm -rf

Linux命令之乐--find的更多相关文章

  1. Linux命令之乐--grep

    正则表达式基本组成部分 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* St ...

  2. Linux命令之乐--cat

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 命令参数: -A, --show-all  ...

  3. Linux命令之乐--sed

    sed是stream edit的缩写,是处理文本非常重要的工具. 常见用法: 1. 替换文本 1.1 替换文本中的第一处符合的样式 sed 's/pattern/replace_string' fil ...

  4. Linux命令之乐--script和scriptplay

    script和scriptplay可以把终端会话记录到一个文件中,可以用来制作命令行教学视屏. 开始录制会话 [root@new test]# script -t >timing.log -a ...

  5. Linux命令之乐--md5sum

    md5sum命令用于生成和校验文件的md5值.它会逐位对文件的内容进行校验,它常用于检查文件的完整性. 读取文件的MD5值 [root@new ~]# md5sum /usr/local/sbin/* ...

  6. Linux命令之乐--read

    read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 -p:后接屏幕输出的提示语句 -n:设定输入的字符个数,当达到指定的个数则自动退出,并将输入赋予给变量 -t:当输 ...

  7. Linux命令之乐--time

    time用于统计命令执行花费的总时间 例一: [root@Director usr]# time ls bin etc games include java lib lib64 libexec loc ...

  8. Linux命令之乐--awk

    1.脚本参数传值 #/bin/bash awk '"} {if(($1==a)) print $2;}' /etc/hosts 执行结果:

  9. Linux命令之乐--iconv

    用法: 实际应用: 批量转换文件编码: [root@wls12c PCK]$ for tfile in `ls -l|awk '{print $9}'`;do echo "iconv -f ...

随机推荐

  1. 【LeetCode】90. Subsets II (2 solutions)

    Subsets II Given a collection of integers that might contain duplicates, S, return all possible subs ...

  2. 【LeetCode】99. Recover Binary Search Tree

    Recover Binary Search Tree Two elements of a binary search tree (BST) are swapped by mistake. Recove ...

  3. iOS多线程常用类说明

    iOS的多线程,涉及到如下一些类,这里集中做个介绍,免得混淆. 1.NSTimer 很显然,这是定时器类 2.NSTask iOS 不支持 NSTask 在很多并发操作的时候,多线程太耗资源,也太危险 ...

  4. TextWatcher

    对于一些需求,如非法字符限制(例如不允许输入#号,如果输入了#给出错误提示),做成动态判断更方便一些,而且容易扩展: 在Android里使用TextWatcher接口可以很方便的对EditText进行 ...

  5. c3p0数据库连接池管理

    之前已经讲过dbcp可以用于数据库连接池进行管理.另一种技术c3p0也可以用于数据库连接池管理,其中Spring等框架都是基于c3p0技术进行数据库连接池管理的. 使用之前需要引入 c3p0-0.9. ...

  6. CUGBACM Codeforces Tranning 3 题解

    链接:http://acm.hust.edu.cn/vjudge/contest/view.action? cid=62515#overview 描写叙述:第三场CF训练了.这次做的挺搞笑的,我记得这 ...

  7. OpenCV3+Python3

    OpenCV3计算机视觉Python语言实现笔记 图像处理与OpenCV Python3与OpenCV3.3 图像处理 OpenCV文摘 基于Python3 + OpenCV3.3.1的远程监控程序 ...

  8. int、char、long各占多少字节数

    Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double 编码与中文:Unicode/ ...

  9. redis基础之基本键值操作和使用(三)

    前言 redis安装完毕后开始使用redis,先熟悉命令行操作. redis数据的类型 键:redis的所有的键都是string类型: 值:五种类型 string:字符串类型:一个string最大可以 ...

  10. mac 写NTFS磁盘

    最简单的方法就是把 OS X 自带的 mount_ntfs 默认加载方式从只读改成读写, 具体方法如下 # 用 root 身份做如下操作 (高危! 请切记自己在干什么)sudo -s cd /sbin ...