ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# find 根据文件名查找文件 **作用**:`find` 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 ### 语法 **语法**: ``` find path -option [ -print ] [ -exec -ok command ] {} \; find [path] fileName ``` **选项**: * `-name` 根据文件名查找 * `-i`:不区分大小写 * `-size`:根据文件大小来查找 * `nM`表示查找文件大小为nM的文件,通常使用较少 * `+nM`表示大于nM,例如`+5M`表示大于5M的文件 * `-nM`表示小于nM,例如`-5M`表示小于5M的文件 * `-maxdepth` 表示按目录层级查找,例如`-maxdepth 3` 表示在第三级目录下查找文件 * `-user`:表示按所属用户查找,例如`-user root` 表示查找`root`用户的文件 * `-group`:表示按所属组查找 * `-type`:表示根据文件类型查找 * `f` 表示普通文件 * `b` 表示设备文件,即硬件 * `l` 表示链接文件 * `d` 表示目录 * `-perm`:表示按权限查找,例如`-perm 755` * `-a`: and 的意思,表示多个条件的连接 **参数**: * `fileName`:需要查找的文件名 * `fileName*` 表示文件名以 `fileName`开头的所有文件 * `*fileName` 表示文件名以`fileName`结尾的所有文件 * `*fileName*` 表示文件名中包含`fileName`的所有文件 * `*` 表示任意名称的文件,即所有文件都会被匹配到 * **示例**: 在`/root/text`中查找`howie.txt`文件: ``` [root@bogon ~]# find /root/test/ -name "howie.txt" /root/test/howie.txt ``` 文件名可以带引号,也可以不带,为避免歧义,通常都是带上的 查找文件并复制 ``` [root@bogon ~]# find /root/test/ -name "test.txt" -ok cp -rvf {} /tmp \; ``` `-ok` 表示后面还要进行复制动作,`{}`表示引用前面查找到的结果,`\;` 表示表达式结束