linux三剑客之 find

linux三剑客之 find

find命令用于查找指定目录下的文件,同时也可以调用其它命令执行相应的操作
Linux中find常见用法find path -option [ -print ] [ -exec -ok command ] {} ;
find命令的参数;
path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN: 0px">
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 找文件,-n指n天以内,+n指n天以前
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #按文件大小查找
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录
-amin      # 查找在系统中最后N分钟访问的文件
-mmin      # 查找在系统中最后N分钟里修改过的文件
实例
(1)find工具name参数案例,详解如下
find /data/ -name ".txt”":查找/data/目录以.txt结尾的文件
find /data/ -name "[A-Z]
”:查找/data/目录以大写字母开头的文件
find /data/ -name “test*”:#查找/data/目录以test开头的文件
(2)find工具-type参数案例,详解如下
fnd/data/ -type d:查找/data/目录下的文件夹
find/ data/ ! -type d:查找/data/目录下的非文件夹
find/data/- type l:查找/data/目录下的链接文件
find/data/ - type d |xargs chmod 755 -R:查找目录类型并将权限设置为755
find/data/- type f |xargs chmod 644-R:查找文件类型并将权限设置为644
(3)find工具size参数案例,详解如下
find /data/ -size +1M:查找文件大小大于1MB的文件
find /data/ -size 10M:查找文件大小为10MB的文件。
find /data/ -size -1M:查找文件大小小于1MB的文件。
(4)find工具-perm参数案例,详解如下:
Find /data/ -perm 755:查找/data/目录权限为755的文件或者目录
Find /data/ -perm -775:权限小于775的文件或目录
Find /data/ -perm +644:查找文件权限符号为644以上的文件
(5)find工具mime参数案例,详解如下
atime, access time:文件被读取或者执行的时间
ctime, change time:文件状态改变时间
mtime, modify time:文件内容被修改的时间
Find /data/ -mtime +30-name “.log":查找30天以前的log文件
Find /data/ -mtime -30 -name ““.txt”:查找30天以内的txt文件
Find /data/ -mtime 30 -name " .txt":查找第30天的txt文件
find /data/ -mmin +30-name ".log”:查找30min以前被访问的log文件
find /data/ -amin -30-name ".log”:查找30min以内被访问的log文件
find /data/ -cmin 30-name ".log”:查找第30min改变的log文件
(6)find工具参数综合案例,代码如下
查找/data目录以,.log结尾,文件大于10KB的文件,同时/cp到/tmp目录
find /data/ -name "
. log” -type f -size +10k -exec cp {} /tmp/ ;
查我/data/目录以结尾,文件大于10kB的文件,权限为644并别除该文件
find /data/ -name "
.log” -type f -size +10k -m perm 644 -exec rm -rf {} ;
查找/data/目录以.log结尾,30天以前的文件,大小大于10并移动到/temp目录
find /data/ -name " . log” -type f -mtine +30 -size +10M -exec mv {} /temp/
xargs:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值