linux find 命令使用例子

在/home/simple/0004 目录下查找后缀名为html的命令,但不对/home/simple/0004 目录下面的子目录simple进行查找

find /home/simple/0004 -path "./simple" -prune -o -name "*.html" -ls
find /home/simple/0004 -path "./simple" -prune -o -name "*.html" |xargs ls

有些不明白的地方是 -prune -o这两个参数必须相联出现,省去-o参数上面的命令将无结果返回
暂不知道 -o 参数的作用,有知道的朋友请指教!

update
URL:http: // bbs.chinaunix.net/viewthread.php?tid=1052959&pid=7964129&page=1&extra=page%3D1#pid7964129

- o 表示  ' or ' ,用来连接 test 和action。

find 
/ home / simple / 0004   - path  " /home/simple/0004/simple "   - prune  - - name  " *.css "   - print

用类似 shell 的语法表示的话就相当于:

for  everyentry under  / home / simple / 0004
( (
- path  " /home/simple/0004/simple " &&  ( - prune))  ||  (( - name  " *.css " &&  ( - print))

对于 
|| ,如果前面的表达式为  true ,后面的表达式就不用执行了
对于 
&&  则相反


-----------------------------------------------
man find 上的一个例子

find / /! -name "*.c" -print
             Print out a list of all the files whose names do not end in .c.

     find / -newer ttt -user wnj -print
             Print out a list of all the files owned by user ``wnj'' that are
             newer than the file ttt.

     find / /! /( -newer ttt -user wnj /) -print
             Print out a list of all the files which are not both newer than
             ttt and owned by ``wnj''.

     find / /( -newer ttt -or -user wnj /) -print
             Print out a list of all the files that are either owned by
             ``wnj'' or that are newer than ttt.

     find / -newerct '1 minute ago' -print
             Print out a list of all the files whose inode change time is more
             recent than the current time minus one minute.

     find / -type f -exec echo {} /;
             Use the echo(1) command to print out a list of all the files.

     find -L /usr/ports/packages -type l -delete
             Delete all broken symbolic links in /usr/ports/packages.

     find /usr/src -name CVS -prune -o -depth +6 -print
             Find files and directories that are at least seven levels deep in
             the working directory /usr/src.

     find /usr/src -name CVS -prune -o -mindepth 7 -print
             Is not equivalent to the previous example, since -prune is not
             evaluated below level seven.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值