linux-find命令

linux中find的命令的学习:
用在某个目录下,用于查找特定的文件。
find命令的格式: find [-path ..] -options [-print -exec -ok]
find -name 按照文件名查找,
例:
在当前目录及子目录中,查找大写字母开头的txt文件

find . -name "[A-Z]*.txt" [-print]

find -perm 按照权限查找
例:
为了在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件

find . -perm 755 -print

find -prune 忽略某个目录
例:
如果希望在/apps目录下查找文件,但不希望在/apps/bin目录下查找,可以用:

find /apps  "/apps/bin" -prune -o -print

find -user 查看属主文件
例:
查找当前目录中属主是root的文件

find . -user root -print

查找属主被删除的文件

find .-nouser -print

find -group 查看属组的文件
例:

find . -group root -print

查看属组被删除的文件

find .-nogroup -print

find -mtime 按照更改时间查找文件
例:
在/var/adm目录下查找更改时间在3日以前的文件

find /var/adm -mtime +3 -print

查找一天内被访问的文件,也可以用atime

find . -atime -1 -print

查找一天内状态被改变的文件,用ctime

find .-ctime -1

查找10分钟以前状态被改变的文件 cmin

find . -cmin +10 -print

find -newer 查找比某个文件新或旧的文件

例:
查找比aaa.bin新的文件

find . -newer "aaa.bin" -type f -print

查找比aaa.bin旧的文件

find .!-newer "aaa.bin" -type f -print

查找更改时间比文件age.awk新但比文件belts.awk旧的文件:

find . -newer age.awk ! -newer belts.awk -exec ls -l {} \;

find -type 查看文件类型
按linux下的文件类型查找 s d f(普通文件 -) b(块设备) p l c(字符设备)
例:
查看当前目录下的普通文件

find . -type f -print

find -size 按文件大小查找
例:
查找等于6字节的文件

find -size 6c -print

查找超过1M的文件

find -size +1M -print

查找长度超过10块的文件(一块等于512字节)

find -size +10 -print

注意以块为单位查找 ,数字后不加东西,以字节查找,数字后加c,M,k按照上述例子所示。

find -depth 先按照文件查找,然后进入子目录中查找
例:
在下面的例子中,find命令从文件系统的根目录开始,查找一个名为aaa的文件它将首先匹配所有的文件然后再进入子目录中查找

find / -name "aaa" -depth -print

find -exec 和-ok 匹配到一些文件后,进行其他的操作
-ok 的好处是 执行前先要确认
例:
查找del.txt并删除,删除前提示确认

find . -name "del.txt" -ok rm {} \;

查找aa.txt 并备份为aa.txt.bak

find . -name 'aa.txt' -exec cp {} {}.bak \;

查找aa.txt 归档压缩为aa.txt.tar.gz 并删除aa.txt

find . -name "aa.txt" -type f -exec tar -zcvf {}.tar.gz {} \; -exec rm -rf {} \; > /dev/null 

find与xargs一起使用
find 与exec联合使用的时候,每次find查找的所有文件一次性的传递到exec中,如果文件很多的话,容易造成溢出或者效率低等问题,所以使用xargs,文件一批批的传递下去。
例:
下面的例子在整个系统中查找内存信息转储文件(core dump),然后把结果保存到/tmp/core.log文件中:

find / -name "core" |xargs echo " " >/tmp/core.log

在下而的例子中,我们用grep命令在所有的普通文件中搜索device这个词:

find -type -f|xargs grep "device"

find的基本功能先讲到这。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值