Linux下find命令使用实例

  Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。即使系统中含有网络文件系统,find命令在该文件系统中同样有效。 
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
  命令格式:find 路径 -命令参数 [输出形式]

常用参数:
1. -name 按照文件名查找文件。
  文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。  可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。
  不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合.c的文件,使用~作为 'pathname'参数,波浪号~代表了你的$HOME目录。
  find ~ -name "*.log" -print 
  想要在当前目录及子目录中查找所有的“.c”文件,可以用: 
  find . -name "*.c" -print  
  想要在当前目录及子目录中查找文件名以一个小写字母开头的文件,可以用:  
  find . -name "[a-z]*" -print  
  想要查找$HOME目录中的文件,可以用:  
  find ~ -name "*" -print
 
想要查找当前目录中的文件,可以用:  
find . -print  
如果想在当前目录查找文件名以一个个小写字母开头,最后是0到9加上.c结束的文件:
find . -name "[a-z]*[0-9].c" -print
2. -perm 按照文件权限来查找文件。
  按照文件权限模式用-perm选项,按文件权限模式来查找文件的话。最好使用八进制的权限表示法。  
  如在当前目录下查找文件权限位为664的文件,即文件属主和用户组可以读、写,其他用户可以读的文件,可以用:
  find . -perm 664 -print

3. -prune 如果在查找文件时希望忽略某个目录,因为你找到那个目录中没有那你所要查找的文件,那么可以使用-prune选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略。
  如果希望在dir1目录下查找文件,但不希望在mydir目录下查找,可以用:
  find dir1 -path "mydir" -prune -o -print
4. -user 按照文件属主来查找文件。
  如果希望在$HOME目录下查找文件属主为bob的文件,可以用:
  find ~ -user bob -print
  如果希望在当前目录下查找文件属主为bob的文件,可以用:
  find . -user bob -print

5. -group 按照文件所属的组来查找文件。
  在当前目录下查找属于root用户组的文件,可以用:
  find . -group root -print
6. -type 查找某一类型的文件,诸如:b-块设备文件;d-目录;c-字符设备文件;p-管道文件;l-符号链接文件;f-普通文件;s-socket文件。
  在当前目录下查找所有的目录,可以用:
  find . -type d -print

  在当前目录下查找所有的普通文件,可以用:
   find . -type f -print

7. -size n[c] 可以按照文件长度来查找文件,这里所指的文件长度既可以用块(block)来计量,也可以用字节来计量。以字节计量文件长度的表达形式为N c;以块计量文件长度只用数字表示即可。  
  按照文件长度查找文件时,一般使用这种以字节表示的文件长度,在查看文件系统的大小,因为这时使用块来计量更容易转换。
  在当前目录下查找文件长度大于2000字节的文件,可以用:
  find . -size +2000c -print
  在当前目录下查找文件长度等于4096字节的文件,可以用:
  find . -size 4096c -print

8. -depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
9.-exec: find命令对匹配的文件执行参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
  
如果想在当前目录查找文件名以一个个小写字母开头,最后是0到9加上.c结束的文件并删除,可以用:
find . -name "[a-z]*[0-9].c" -exec rm {} \;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值