今天继续给大家介绍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
2
3
上述三条命令含义依次为:
1、表示查找/var目录下名字结尾是.log的文件
2、表示查找/root目录下创建时间在1天以内的文件
3、表示查找/root目录下大于1M但是小于10M的文件
这几条命令执行效果如下:
三、find命令与命令执行
上一章第一条命令,我们实现了查找所有的.log文件,如果我们想把这些文件都复制到某一文件夹下,我们可以有两种做法。
一种是使用管道符,后面跟xargs命令
find /var -name *.log | xargs -i cp {} /root/log_backup
1
另一种是使用find命令自带的-exec参数,命令如下所示:
find /var -name *.log /root/log_backup \;
1
这两种方式都可以实现将查找出来的文件执行某写命令,但是在执行顺序上却有所不同,-exec参数的方式是find命令自带参数,每次找到指定的文件,就会执行-exec后面的命令,但是采用xarfs的方式,则会等到find命令全部执行完毕后,再去执行相关命令,相比较而言,使用find参数自带的-exec参数比较多。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为CSDN博主「永远是少年啊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/120827317