如何熟悉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基础
如何加密解密压缩包文件?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要加密压缩文件,因此整理此章节。 2 最佳实践 …

Linux基础
如何查询IP地址的归属地?

1 前言 一个问题,一篇文章,一出故事。 最近发现百度推荐的IP地址归属地查询很不靠谱,要么要注册要 …

Linux基础
如何替代线上的网络和IP地址计算器?

1 前言 一个问题,一篇文章,一出故事。 以往我们需要知道某个网段的范围,也懒得自己取计算。 通常就 …