linux 的find指令的一些常用方法

find指令: Linux下find命令在目录结构中搜索⽂文件,并执⾏行指定的操作。

命令格式: find pathname -options [-print -exec -ok ...]

命令功能: 用于在⽂文件树种查找⽂文件,并作出相应的处理(可能访问磁盘)

命令参数:

1). pathname: find命令所查找的目录路径。

例如.来表⽰示当前目录,用/来表⽰示系统根目录,~表示工作目录,..表示上级目录等。

2)

-print: find命令将匹配的文件输出到标准输出。 

 -exec: find命令对匹配的文件执⾏行该参数所给出的shell命 令。

相应命令的形式为'command' {  } \;,注意{   }和\; 之间的空格。 

-ok: 和-exec的作⽤用相同,只不过以一种更为安全的模式来执⾏, 该参数所给出的shell命令,在执⾏行每1个命令之前,都会给出提示,让用户来确定是否执⾏。

  例子: 1. 在/ l o g s目录中查找更改时间在5日以前的⽂件并删除它们:    $ find logs -type f -mtime +5 -exec    -ok    rm {} \

3).options:命令选项:

(1)-name   按照文件名查找文件。

例:

$find ~ -name "*.txt" -print      #在$HOME中查.txt文件并显示  $find . -name "[A-Z]*" -print      #查以大写字母开头的文件                                    $find /etc  -name  "host*"  -print #查以host开头的文件 $find .  -name  "[a-z][a-z][0–9][0–9].txt" -print   #查以两个小写字母和两个数字开头的txt文件

 

(2)-perm   按照文件权限来查找文件。

例:

$find .  -perm   755  -print

$find  . -perm -007    -exec ls -l {} \; #查所有用户都可读写执行的文件同时列出

(3)-prune  使⽤这一选项可以使find命令不在当前指定的目录中查找,如果同时使⽤用-depth选项,那么-prune将被find命令忽略。

(4)-user / -group   按照⽂文件属主/组来查找⽂件。

例:

 find /home  -user  cnscn 列出/home目录内属于用户cnscn的文件或目录

 Find  /home -group  cnscn   列出/home内组为cnscn的文件或目录

(5)-mtime -n +n  按照⽂文件的更改时间来查找⽂文件, - n表⽰示⽂件更改时间距现在n天以内,+ n表⽰示⽂文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time 选项相同.

例:

Find  /home  -mtime  -2   在/home下查最近两天内改动过的文件

find /home -atime -1       1天之内被存取过的文件

 find /home -mmin  +60  在/home下查60分钟前改动过的文件

 find  /home  -amin   +30   查最近30分钟前被存取过的文件

(6)-nogroup  查找无有效所属组的⽂文件,即该文件所属的组在/etc/groups中不存在。
(7)-nouser   查找无有效属主的⽂文件,即该⽂件的属主在/etc/ passwd中不存在。
(8)-newer file1 ! file2  查找更改时间⽐比⽂文件file1新但⽐文件file2旧的⽂件。

例:

(7) find /home -newer  tmp.txt!Temp.c   /home下查更新时间比tmp.txt近但⽐文件Tep.c旧的⽂件。

(9)-type  查找某⼀一类型的⽂文件,诸如:b - 块设备⽂文件。d - 目录。

 c - 字符设备⽂文件。p - 管道⽂文件。l - 符号链接⽂文件。f - 普通⽂文件。

例:

$find  .  -type   d   -print 

$find   .  -type l   -print
(10)-size n:[c] 查找文件长度为n块的文件,带有c时表⽰文件长度以字节计。

例:
$find  . -size  +1000000c -print    #查长度大于1Mb的文件 $find  . -size   100c   -print   # 查长度为100c的文件 $find  . -size  +10   -prin    #查长度超过期作废10块的文件(1=512字节

(11)-depth:在查找文件时,首先查找当前目录中的文件,然后再在其⼦目录中查找。

 (12)-fstype:查找位于某⼀类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

(13)-mount:在查找⽂件时不跨越文件系统mount点。

(14)-follow:如果find命令遇到符号链接⽂件,就跟踪⾄链接所指向的⽂件。

(15)-cpio:对匹配的文件使⽤用cpio命令,将这些⽂件备份到磁带设备中。

2. Linux 用find命令查找文件⼤小为XX的⽂文件的办法   

  例:一个⽂文件5556字节,可以这样写     find /root -size -5557c -size +5555c -exec ls -ld {} \;    即查找⼤大于5555字节⼩小于5557字节的⽂文件,以上查找的是/root 目录    

 find /root -size -500K -size +50K -exec ls -ld {} \;     查找 ⼩小于500K,⼤大于50K的⽂文件 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值