Linux中的find命令

本文详细介绍了Linux中的find命令,包括按名称、用户、组、路径深度、文件修改时间和大小等条件查找文件的方法,还涵盖了如何进行逻辑操作及删除文件。通过这些实例,你可以更高效地在Linux系统中定位和管理文件。
摘要由CSDN通过智能技术生成

find命令是一个查找文件工具,方便我们查找Linux中的目录或文件

1. 基本语法

# path为查找目录,option为接的选项,expresstion为查找出来后续的操作
find path -option [expresstion]

2. 按名称查找

# 查找根目录下命名含有passwd的文件
find / -name passwd

# 查找根目录下以.c结尾的文件
find / -name *.c

3. 按用户名和组查找

# 查找根目录下指定属主的目录或文件
find / -user 用户名
# 查找根目录下指定属组的目录或文件
find / -group 组名

4. 按绝对路径深度查找

# 查找根目录下绝对路径最小深度为1且命名含有passwd的文件
find / -mindepth 1 -name passwd
# 查找/etc/下绝对路径最大深度为2且以.conf结尾的文件
find / -maxdepth 2 -name *.conf

5. 按文件修改时间查找

# 查找 /etc/ 下n分钟之内被修改的文件
find /etc/ -cmin n

# 查找 /etc/ 下n天之内被修改的文件
find /etc/ -ctime n

# 查找 /var/log/ 目录中更改时间在 n 天以前的普通文件,并在删除之前询问它们
find /var/log -type f -mtime +n -ok rm {} \;

6. 按文件大小查找(find path -size [+|-]单位,常用单位:k,M,G

# 查找/var/log/下大于100M的文件并且列出大小
find /var/log/ -size +1G -exec du -sh {} \;

# 查找/var/log/下小于10M大于5M的文件
find /var/log/ -size -10M -size +5M

# # 查找/var/log/下大小为 0 k的文件
find /var/log/ -size 0

7. 按并且,或者,非关系进行查找

# -a:并且关系
# 查找根目录下属主为root且属组为apache的文件
find / -user root -a -group apache
# 不加 -a 默认为并且
find / -user root -group apache

# -o:或者关系
# 查找属主为apache或者属组为apache的文件
find / -user apache -o -group apache

# -not:非关系,表示取反
# 查找/var目录下属主不是root的文件
find /var -not -user root

8.查找文件并且删除

find /path -name file -exec rm {} \;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值