【Linux】find命令及相关用法

本文介绍了Linux中的find命令,用于在指定目录下按照不同条件递归查找文件,如文件大小、修改时间等,并展示了如何执行相关操作,如复制、移动。示例包括查找大于10M的文件、一天内被修改过的文件以及按名称和扩展名过滤文件。
摘要由CSDN通过智能技术生成

介绍

Linux中的find命令用于在指定目录下查找文件或目录。它可以按照文件名、文件类型、文件大小、文件修改时间等条件进行匹配,并支持递归搜索。

find命令的基本语法如下:

find [搜索范围] [搜索条件] [操作]
  • 搜索范围可以是当前目录(.)、某个目录(如/home/user/)或整个文件系统(如/)

  • 搜索条件可以是文件名、文件类型、文件大小、文件修改时间等

  • 操作则是对符合条件的文件进行的一些操作,如复制、移动、删除等。

下面是一些常用的find命令选项:

  • -name:按照文件名进行匹配。
  • -type:按照文件类型进行匹配,如d表示目录,f表示普通文件等。
  • -size:按照文件大小进行匹配,如+10M表示大于10M的文件,-10K表示小于等于10K的文件。
  • -mtime:按照文件修改时间进行匹配,如-1表示修改时间在1天之内的文件,+1表示在一天之前被改过。
  • -exec:对符合条件的文件执行指定操作,需要接操作命令参数。例如-exec mv {} /backup/ ;表示将符合条件的文件移动到/backup/目录下。

示例

1.(递归)查找当前目录下文件大小大于10M的文件?

find . -type f -size +10M

这将使用 find 命令在当前目录中查找所有文件,并输出文件名和文件大小。-type f 限制了查找的文件类型为普通文件,而 -size +10M 表示文件大小要大于 10MB。

2.(递归)查找当前目录下一天内被修改过的文件?

find . -type f -mtime -1

3.(递归)查找当前目录下文件大小大于10M的文件,并将其拷贝到当前target目录下?

find . -type f -size +10M -exec cp {} ./target \

解释:

  • find .:在当前目录及其子目录中查找文件。
  • -type f:只匹配普通文件,不包括目录。
  • -size +10M:匹配大小大于10M的文件。
  • -exec cp {} ./target \;:对于每个匹配的文件,使用cp命令将其拷贝到当前目录下的target目录中。(-exec 选项用于执行指定的命令,{} 表示当前找到的文件名,\; 表示命令结束。)

4.(递归)查找当前目录下文件名包含hello的文件?

find . -name "*hello*"

5.(递归)查找当前目录下所有.txt文件,并将结果输出到文件中?

find . -name "*.txt" > result.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值