find命令

1. find命令

 

linux的find命令用来查找文件,功能很强大,

可以通过时间, 用户组, 文件名, 文件类型, 权限,大小等来查找相应文件。

 

2. find的用法

 

通过find --help或者 man find查看介绍。

[plain] view plain copy

  1. $ find --help  
  2. Usage: find [path...] [expression]  
  3. default path is the current directory; default expression is -print  

 

3. 通过时间查找

 

与时间相关的参数: -atime, -ctime, -mtime。

如:

  -mtime n  n天之前当天修改过文件。

 -mtime  +n  n天之前修改过的文件,不包括n天本身。

 -mtime -n  n天之内修改过的文件,包括n天。

[plain] view plain copy

  1. find ./ -mtime -2  
  2. 查找小于等于2天之内修改过的文件  
  3.   
  4. find ./ -mtime +2  
  5. 大于2天前修改过的文件  
  6.   
  7. $ find ./ -mtime 2  
  8. 2天前,当天修改过的文件  

还可以查找比某个文件新的文件

[plain] view plain copy

  1. $ find ./ newer test.txt  
  2. 比test.txt还要新的文件  

 

4. 通过用户或组查找

 

参数:

-uid  n  : n为数字,用户的uid, /etc/passwd里与账号对应的数字

-gid  n  : n为数字,用户组gid, /etc/group中

-user name : name为用户名

-group name :  name为 用户组名

-nouser :  文件是所有者不存在/etc/passwd中

-nogroup : 用户组不存在与/etc/group中,

                   当自行安装软件时,很可能软件的属性没有文件所有者,就使用nouser或nogroup来查找。

[plain] view plain copy

  1. $ find ./ -user yonggang  
  2. 查找当前目录下文件所有者是yonggang的文件  
  3.   
  4. $ find ./ -group yonggang    
  5. 查找当前目录下文件所属用户组是yonggang的文件  
  6.   
  7. $ find ./ -nouser  
  8. 查找不属于任何人的文件  

 

5. 通过文件名称和权限来查找

 

-name 通过名称来查找

[plain] view plain copy

  1. find ./ -name test.txt  
  2. 查找文件名test.txt的文件  
  3.   
  4. find ./ -name 'test*'  
  5. 查找文件名中包含test的文件  

-type 通过文件类型查找

   f: 普通文件

  d: 目录

   l : 链接文件

  b,c : 设备文件

  s :   socket

[plain] view plain copy

  1. find ./ -type l  
  2. 查找链接文件  

 -perm 通过权限查找

  -perm mode 查找文件权限刚好等于mode的文件, 为chmod的属性值,例如0777 

  -perm -mode 查找的权限必须包含mode

  -perm +mode 查找的权限包含任一mode

[plain] view plain copy

  1. $ find ./ -perm 0700  
  2. 查找权限为0700的文件  

-size 通过文件大小查找

[plain] view plain copy

  1. find ./ -size +1000k  
  2. 文件大于1M的文件  
  3.   
  4. find ./ -size -1000k  
  5. 文件小于1M的文件  

 

6. 连接其他命令

 

-exec command  : command为执行命令

[plain] view plain copy

  1. $ find ./ -size -1000k -exec ls -l {} \;  

找到小于1M的文件,以 ls -l输出

{} 表示 find找到的内容,

;表示结尾 ,使用反斜线转义, exec 和 \; 之间为要执行的东西, 即 ls -l {}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值