Bash - 常用命令 - find经典用法

I. 主理人说

没有 GUI,首次使用 Linux server 的用户会比较抓瞎。你面对的只有一个 命令列界面,需要你输入一串命令才能与系统进行交互。但 Linux 提供了性能卓越的搜索命令,如 grep/find/which/whereis/locate等。

现在就 find 命令的一些经典用法做一个记录,这也是在实际运维中常用的一些用法。

II. find 命令介绍

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

via linuxde

III. 学习资料

find命令_Linux find 命令用法详解:在指定目录下查找文件.pdf
find 查找文件

IV. 经典用法

最基本的使用

find [path] [expression]

通过文件名查找

find -name "query"   # 搜索文件名,大小写敏感
find -iname "query"  # 大小写不敏感
find -not -name "query"  # 查找不包含关键字的文件
find \! -name "query"    # 不包含

按照类型查找文件

find -type [fdlcb] "query"

type 后能够使用的类型有
f 常规文件
d 目录
l 连接
c 字符设备文件 character devices
b 块设备文件 block devices

比如要查找系统中所有以 .conf 结尾的文件

find / -type f -name "*.conf"

通过文件大小查找

find /path/to/folder -size 50M

查找 50M 的文件,size 后能够使用的单位有:
b 512byte blocks
c byte 字节
w two byte
k kB 千字节
M MB
G GB
size 后面的参数可以使用 + 或者 - 或者不加来标识,超过,少于,或者正好。

find / -size +700M   # 表示查找大于 700M 的文件
find / -size -50c    # 表示查找小于 50 byte 的文件
find . -size 50M     # 表示在当前目录查找正好 50M 的文件
最后修改:2021 年 03 月 27 日 01 : 59 AM