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 {} \;
find命令Linux系统一个非常常用的命令,该命令可以查找文件和目录,并根据不同的条件进行过滤。其基本语法格式如下: ```shell find [path] [option] [expression] ``` 其,path表示要查找的路径,可以是相对路径或绝对路径;option表示查找时的一些选项,可以用来指定查找深度、时间、权限等条件;expression表示要查找的条件,可以是文件名、文件类型、文件大小等。 下面介绍几个常用的find命令选项和表达式: 1. -name:根据文件名进行查找。 ```shell find /home -name "test.txt" # 在/home下查找文件名为test.txt的文件 ``` 2. -type:根据文件类型进行查找。 ```shell find /home -type f # 在/home下查找普通文件 find /home -type d # 在/home下查找目录 ``` 3. -mtime:根据文件修改时间进行查找。 ```shell find /home -mtime +7 # 查找/home目录下7天前修改的文件 find /home -mtime -7 # 查找/home目录下7天内修改的文件 ``` 4. -size:根据文件大小进行查找。 ```shell find /home -size +1M # 查找/home目录下大小大于1MB的文件 find /home -size -1M # 查找/home目录下大小小于1MB的文件 ``` 5. -user:根据文件所有者进行查找。 ```shell find /home -user alice # 查找/home目录下所有者为alice的文件 ``` 6. -perm:根据文件权限进行查找。 ```shell find /home -perm 644 # 查找/home目录下权限为644的文件 ``` 7. -exec:对查找到的文件进行操作。 ```shell find /home -name "test.txt" -exec rm {} \; # 查找/home目录下名为test.txt的文件并删除 ``` 以上仅是find命令的一些常用选项和表达式,实际使用还可以根据具体需求进行更多的定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值