如何熟悉find的使用?

Linux基础

1 前言

一个问题,一篇文章,一出故事。
笔者认为整理才能节省工作时间,因为没有人能记住所有的命令。

2 最佳实践

2.1 根据名称查找

2.1.1 单个文件名称

find . -name '*.php'

2.1.2 多个文件名称

find /tmp -type f \( -name \*.py -o  -name \*.csv -o -name \*.json -o -name \*.R \)

注:以上文件名称使用“-o”选项表示或关系

2.1.2 排除隐藏文件

find . ! -name ".*"

2.2 根据时间查找

2.2.1 根据分钟数查找编辑文件

2.2.1.1 查找30分钟内编辑过的文件

touch /tmp/test
cd /tmp
find . -mmin -30

2.2.1.1 查找30分钟前编辑过的文件

find . -mmin +30

2.2.2 根据小时数查找编辑文件

2.2.2.1 查找24小时内编辑过的文件

touch /tmp/test
find /tmp/ -mtime 0

以上命令与以下命令等价,

touch /tmp/test
find /tmp/ -mtime -24

2.2.2.2 查找24小时前编辑过的文件

touch /tmp/test
find /tmp/ -mtime +24

2.2.2.3 查找并列出

find /tmp/ -mtime 0 -ls

2.3 根据文件类型查找

2.3.1 查找软连接

find /var -type l

2.3.2 查找文件

find /var -type f

2.3.3 查找目录

find /var -type d

2.4 查找并执行指令

2.4.1 查找并执行ls命令

find /tmp -type f -cmin -120 -exec ls -l {} \;

2.4.2 查找并执行rm命令(谨慎操作)

find /tmp -type f -cmin +120 -exec rm -f {} \;

2.5 查找包含特殊字符的对象

find /data -name '*\**' -o -name '*\\*' -o -name '*\:*' -o -name '*\?*' -o -name '*\"*' -o -name '*\*' 
没有评论

发表回复

Linux基础
如何配置RHEL 8.x OpenSSH客户端登录自动过期?

1 前言 一个问题,一篇文章,一出故事。 基于服务器安全,笔者需要让OpenSSH客户端在10分钟内 …

Linux基础
如何安装部署SentinelOne EDR?

1 基础知识 1.1 软件公司介绍 SentinelOne,Inc.是一家在纽约证券交易所上市的美国 …

Linux基础
如何配置Ext4的磁盘配额?

1 基础知识 1.1 Disk Quota的概念 Disk Quota用于合理分配有限的磁盘使用空间 …