如何熟悉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基础
Linux下的常用性能分析工具?

1 前言 一个问题,一篇文章,一出故事。 最近笔者需要整理常用的Linux分析工具,于是整理此文。 …

Linux基础
如何排查硬盘读写慢问题?

1 前言 一个问题,一篇文章,一出故事。 最近笔者需要排查硬盘慢引起的问题,于是整理此文。 2 最佳 …

Linux基础
如何tcpdump实时测量网络吞吐量?

1 前言 一个问题,一篇文章,一出故事。 最近笔者需要实时测量网络的吞吐量,于是整理此文。 2 最佳 …