linux查询目录大小取反_Linux 命令之 find 用法

find

1. 概述

使用linux server命令行系统时,经常需要进行特定文件的查找,主要的查找命令是find及grep,区别如下:

1.1 find

根据文件属性进行查找,如文件名、文件大小、文件所有者、访问时间、修改时间、是否为空等

1.2 grep

根据文件内容查找,会对文件的每一行按照给定的模式进行匹配

1.3 locate

不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),该数据库含有本地所有文件信息,系统每天仅更新该数据库一次,因此有时候查不到最新变动过的文件,不过可以执行该命令前可执行updatedb命令手动更新该数据库

e231f76f3ea4ca18359ec50fb5a26739.png

命令格式

1. 基本格式:

find [PATH] [OPTION] [EXPRESSION]

2. 常见options:

2.1 按类型查找

-type f | d | l | b | c | s | p

f 普通文件 d 目录 l 符号连接 c 字符设备 b 块设备 s 套接字 p Fifo

2.2 按用户名、用户组查找

-user username -group groupname

2.3 按文件大小查找

-size +10M

+ 大于 -小于 c 字节 k 千字节 M 兆 G 千兆

2.4 按文件名称或权限查找

-name a.c -perm 644

2.5 按文件访问时间或文件状态改变时间

-amin +10 十分钟前被访问过的文件

-amin -10 十分钟内被访问过的文件

-atime -1 最近1天内被访问供的文件

同理, -a替换为-c时白哦是文件状态改变时间

2.6 按搜索目录层级查找

-maxdepth 3 三级目录内查找

-mindepth 3 从三级目录开始查找

-maxdepth 3 -mindepth 3 第三级目录查找

2.7 对查找结果执行命令

-ok 交互式执行Linux命令

-exec 批量静默之行Linux命令

2.8 查找条件逻辑运算

-a 且

-o 或者

-! 或 -not 条件取反

使用示例

1. 从根目录查找 且排除/proc/路径 属于tom的文件或文件组

find / ! -path "/proc/*" -user tom

2. 对匹配的结果执行ls -lh 命令

find / ! -path "/proc/*" ! -path "/etc/x" -user tom -exec ls -lh {}

3. 删除大于80k 小于100k的文件

find / -type f -size +80k -size -100k -delete

find / -type f -size +80k -size -100k | xargs rm -rf

4. 将指定路径下.c文件更改为.h文件

find ./ -name "*.c" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.c ./{}.h

5. 查找所有属于tom的文件总的有多少兆

find . -user tom -type f -exec du -m {} ; | awk '{ s = s+$1 } END { print "Total used:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>