Linux四剑客详解——find

今天继续给大家介绍Linux基础知识,本文主要内容是Linux四剑客之一的find。Linux四剑客是指find、grep、sed和awk,这些命令可以单独作为命令使用,但是更广泛的是应用于Linux的shell脚本中,利用这几条命令可以使得shell脚本更加灵活,从而实现一些复杂脚本的编写。

一、find命令使用和参数

find命令主要是用于查找文件,find可以根据文件名、文件属性查找文件,其中文件属性包括文件大小、类型、时间、属主(组)等。find命令在查找文件时支持通配符,其主要参数如下:
-name 表示要查找的文件名
-type 表示要查找的文件类型,b表示块文件、d表示目录、l表示链接文件,f表示普通文件
-size 表示要查找的文件大小,+表示大于,-表示小于,单位可以为K、M和G
-user 表示要查找的文件属主
-group 表示要查找的文件属组
-mtime -atime -ctime 分别表示按照文件的更改时间、访问时间和创建时间来查找文件,+表示大于,-表示小于,单位为天
-mmin -amin -cmin 分别表示按照文件的更改时间、访问时间和创建时间来查找文件,+表示大于,-表示小于,单位为分钟
-exec 后面跟bash命令,表示在查找到文件后进行的操作

二、find命令使用示例

下面,我通过几个find的命令示例,来给大家介绍一下find的用法

find /var -name *.log
find /root -ctime -1
find /root -size +1M -size -10M

上述三条命令含义依次为:
1、表示查找/var目录下名字结尾是.log的文件
2、表示查找/root目录下创建时间在1天以内的文件
3、表示查找/root目录下大于1M但是小于10M的文件
这几条命令执行效果如下:
Linux四剑客详解——find_第1张图片
Linux四剑客详解——find_第2张图片
Linux四剑客详解——find_第3张图片

三、find命令与命令执行

上一章第一条命令,我们实现了查找所有的.log文件,如果我们想把这些文件都复制到某一文件夹下,我们可以有两种做法。
一种是使用管道符,后面跟xargs命令

find /var -name *.log  | xargs -i cp {
     } /root/log_backup

另一种是使用find命令自带的-exec参数,命令如下所示:

find /var -name *.log /root/log_backup \;

这两种方式都可以实现将查找出来的文件执行某写命令,但是在执行顺序上却有所不同,-exec参数的方式是find命令自带参数,每次找到指定的文件,就会执行-exec后面的命令,但是采用xarfs的方式,则会等到find命令全部执行完毕后,再去执行相关命令,相比较而言,使用find参数自带的-exec参数比较多。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(Linux,linux,运维,centos,Linux四剑客,find)