linux中find命令详解

http://blog.csdn.net/pipisorry/article/details/39831419

问题:

linux中find命令查找时不包含某些目录

find 命令忽略某个或多个子目录的方法

在linux中用find 进行查找的时候,有时候需要忽略某些目录不查找,可以使用 -prune 参数来进行过滤,要忽略的路径参数必须紧跟着搜索的路径之后,否则该参数无法起作用。

eg:

[email protected]:/tmp1#find ./ -type f    #/tmp1目录下所有文件夹里面的所有文件
./file
./1/1.cpp
./2/2.cpp
[email protected]:/tmp1#find ./ -path ./1 -prune -o -type f -print    #/tmp1中查找文件但忽略文件夹/1中的文件
./file
./2/2.cpp
[email protected]:/tmp1#find ./ \( -path ./1 -o -path ./2 \) -prune -o -type f -print    #/tmp1中查找文件同时忽略文件夹/1 /2中的文件
./file

man find

...
-path pattern
              File  name matches shell pattern pattern.  The metacharacters do
              not treat `/' or `.' specially; so, for example,
                        find . -path "./sr*sc"
              will print an entry for a directory called `./src/misc' (if  one
              exists).   To  ignore  a whole directory tree, use -prune rather
              than checking every file in the tree.  For example, to skip  the
              directory  `src/emacs'  and  all files and directories under it,
              and print the names of the other files found, do something  like
              this:
                        find . -path ./src/emacs -prune -o -print
              Note that the pattern match test applies to the whole file name,
              starting from one of the start points named on the command line.
              It  would  only  make sense to use an absolute path name here if
              the relevant start point is also an absolute path.   This  means
              that this command will never match anything:
                        find bar -path /foo/bar/myfile -print
              The  predicate -path is also supported by HP-UX find and will be
              in a forthcoming version of the POSIX standard.
...

也可以使用参数-wholename,不过不建议了

 -wholename pattern
              See -path.    This alternative is less portable than -path.

from:http://blog.csdn.net/pipisorry/article/details/39831419

时间: 2024-10-14 01:29:29

linux中find命令详解的相关文章

linux中ls命令详解

s 命令可以说是linux下最常用的命令之一. -a 列出目录下的所有文件,包括以 . 开头的隐含文件.-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出.-c 输出文件的 i 节点的修改时间,并以此排序.-d 将目录象文件一样显示,而不是显示其下的文件.-e 输出时间的全部信息,而不是输出简略信息.-f -U 对输出的文件不排序.-g 无用.-i 输出文件的 i 节点的索引信息.-k 以 k 字节的形式表示文件的大小.-l 列出文件的详细信息.-m 横向输出文件名

Linux中rm命令详解

linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是断开了链接,原文件保持不变. rm命令的一般形式为:rm [选项]... 目录... 删除指定的<文件>(即解除链接). -d      --directory    删除可能仍有数据的目录 (只限超级用户) -f      --force          略过不存在的文件,

linux中top命令详解

在linux的top命令里的cpu信息是什么意思呢? Cpu(s): 62.1% us, 15.9% sy,0.1% ni, 19.4% id,2.0% wa,0.1% hi,0.4% si Mem:  8247956k total,8232004k used,15952k free,205240k buffers Swap: 8191992k total,48k used,8191944k free,7156092k cached   top命令是Linux下常用的性能分析工具,能够实时显示系

linux中echo命令详解

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用.该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行:字符串能加引号,也能不加引号.用echo命令输出加引号的字符串时,将字符串原样输出:用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割. 功能说明:显示文字.

linux中at命令详解

at命令: 一:简介: 计划任务,在特定的时间执行某项工作,在特定的时间执行一次,需要安装at服务,apt-get install at 二:时间定义: at允许使用一套相当复杂的指定时间的方法.● 能够接受在当天的hh:mm(小时:分钟)式的时间指定.假如该时间已过去,那么就放在第二天执行. 例如:04:00● 能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间.● 能够采用12小时计时制,即在时间后面加上AM(上午)或PM

Linux中who命令详解

什么是who命令who 命令显示关于当前在本地系统上的所有登录用户的信息.显示以下内容:登录名.tty.登录日期和时间.输入whoami 显示您的登录名.tty.您登录的日期和时间.如果用户是从一个远程机器登录的,那么该机器的主机名也会被显示出来.who 命令也能显示自从线路活动发生以来经过的时间.命令解释器(shell)的进程标识.登录.注销.重新启动和系统时钟的变化,还能显示由初始化进程生成的其它进程.使用权限:所有用户都可以使用注意:它不会显示那些通过su命令切换用户的登录者 语法 who

(转)Linux下PS命令详解

(转)Linux下PS命令详解 整理自:http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续: (2) top:如果想对进程运行时间监控,应该用 top 命令: (3) kill 用于杀死进程或者给进程发送信号: (4) 查看文章最后的man手册,可以查看ps的每项输出的含义

Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

转载的 Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig 在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是