美文网首页
Linux find命令常用总结

Linux find命令常用总结

作者: 皮儿吃屁 | 来源:发表于2020-08-21 10:49 被阅读0次

简介

find 命令的基本结构如下:

find [paths] [expression] [actions]

常用参数汇总

参数 解析
-name pattern 搜索时使用 pattern 对文件名进行匹配
-atime n[smhdw] 距离文件上次被访问时的时间间隔
-ctime n[smhdw] 距离文件创建时的时间间隔
-delete 删除检索到的文件
-depth n 检索深度为 n 的文件,即位于指定目录以下 n 层的文件
-empty 检索空文件或空目录
-fstype type 指定文件所在的文件系统的类型
-group gname 指定文件的属组
-iname pattern 同 -name,忽略大小写
-ipath pattern 同 -path,忽略大小写
-ls 打印搜索到的文件的详细信息
-maxdepth n 指定递归的最大层数为 n
-mtime n[smhdw] 距离文件上次发生变更时的时间间隔
-path pattern 搜索时使用 pattern 对文件路径进行匹配
-perm mode 根据文件权限搜索
-size n[ckMGTP] 根据文件大小搜索
-type t 根据文件类型搜索
-user uname 指定文件的属主

常用命令

1、根据文件名检索

  • ? 可以表示任意一个单一的符号
  • * 可以表示任意数量(包括 0)的未知符号
find /usr -name '*.txt' 

查找 /usr 目录下所有文件名以 .txt 结尾的文件

find /usr -name '????'

查找 /usr 目录下所有文件名刚好为 4 个字符的文件
如查找 /usr 下所有文件名以 .txt 结尾的文件或目录,且该文件的父目录必须是 src。可以使用以下命令:

find /usr -path '*/src/*.txt'

2、根据文件类型检索

  • f: 文件
  • d: 目录
  • l: 符号链接
find /usr -type d -name 'python*' 

检索 /usr 下所有文件名以 python 开头的目录
3、根据时间日期进行检索
与此对应的是 find 命令中的 -mtime,-atime 和 -ctime 三个选项。

这三个选项的使用遵循以下示例中的规则:

  • -mtime 2:该文件 2 天前被修改过
  • -mtime -2:该文件 2 天以内被修改过
  • -mtime +2:该文件距离上次修改已经超过 2 天时间
find /usr -type f -mtime 2 

检索 /usr 下两天前被修改过的文件
如果觉得 -mtime 等选项以天为单位时间有点长,还可以使用 -mmin,-amin,-cmin 三个选项:

find /usr -type f -mtime +50 -mtime -100 

检索 /usr 下 50 到 100 天之前修改过的文件

find /usr -type f -mtime 2 -amin 5 

检索 /usr 下两天前被修改过且 5 分钟前又读取过的文件
4、根据大小检索
c:字节
k:Kb
M:Mb
G:Gb

find / -size +1G 

检索文件大小高于 1 GB 的文件
5、其它

find ~ -type d -empty 

检索用户主目录下所有的空目录

find /usr -type f ! -name '*.txt'

检索 /usr 下所有文件名不以 .txt 为后缀的文件

find / -type f -user dayu

检索根目录下所有属主为 dayu 的文件

find /usr -perm u=rwx,g=rx,o=rx

检索 /usr 目录下权限为 rwxr-xr-x 的文件

find / -maxdepth 3 

搜索时向下递归的层数最大为 3

对搜索结果执行命令

find ~ -type d -empty -delete

删除 home 目录下所有的空目录

find ~ -type f -name '*.mp3' -exec cp {} /dayu ';'

将 home 目录下所有的 MP3 音频文件复制到指定目录
其中的大括号({})作为检索到的文件的 占位符 ,而分号( ;)作为命令结束的标志。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来。
每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的 {},然后执行 -exec 后面的命令一次。

find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ';'

将用户主目录下所有的 MP3 文件添加到压缩包 music.tar.gz 中

find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} +

+符号,先让 find 命令检索出所有符合条件的音频文件,再将得到的文件列表传递给后面的压缩命令。

find / -type file -size +1G -ls 

浏览所有 1G 以上大小的文件的详细信息

相关文章

  • Linux find命令常用总结

    简介 find 命令的基本结构如下: find [paths] [expression] [actions] 常用...

  • Mac 常用操作

    一、常用命令 Linux的五个查找命令:find,locate,whereis,which,type 1、find...

  • Linux 常用命令

    linux 常用命令 1.find 与时间相关 2.find 命令 3.ls 命令 4.cd 命令 5.cp 命令...

  • linux下查找命令

    9月18日任务2.23/2.24/2.25 find命令2.26 文件名后缀 find命令 linux上常用的查找...

  • linux常用命令

    linux常用命令 文件查找 find [指定目录][指定条件][指定动作] 指定目录:​ find命令所查找的目...

  • 每日几个Linux命令,十天了解工作中常用的那些命令(三)

    Centos下常用Linux命令的学习 find 很重要 find命令用来在指定目录下查找文件。任何位于参数之前的...

  • Linux下的五个文件查找命令

    在使用linux的时候,经常需要查找文件。下面总结一下linux下查找文件的五个命令。 find命令 find是最...

  • 16- Linux命令 find 命令

    在linux中可以使用find命令在磁盘上查找文件,功能十分强大,下面总结一些常用的用法 find的基本模式是 f...

  • Hadoop总结

    Linux 1. 问题:Linux常用命令 参考答案:find、df、tar、ps、top、netstat等。(尽...

  • Linux系统基础命令汇总

    Linux系统学习,总结汇总了linux系统下基础常用的命令: 一.Linux系统基础常用命令 1.命令da...

网友评论

      本文标题:Linux find命令常用总结

      本文链接:https://www.haomeiwen.com/subject/fpxejktx.html