Linux中的find
命令用于在文件系统中搜索符合条件的文件或目录。
一.基本语法
find [path] [expression]
#path:搜索的起始目录,如果不指定,默认为当前目录
#expression:定义搜索条件的表达式
命令选项
-name 按文件名搜索
-size 按文件大小搜索
-mtime 按文件内容最后修改时间搜索
-ctime 按文件状态最好修改时间搜索
-atime 按文件最后访问时间搜索-type 指定文件类型
-type f 仅搜索文件
-type d 仅搜索目录-maxdepth 限制搜索的目录深度。
-mindepth 设置搜索的最小目录深度-o 逻辑或,用于组合多个条件。
-a 或 -and 逻辑与,用于组合多个条件。-exec:对找到的每个文件执行指定的命令。如 -exec rm {} \; 删除找到的每个文件。
-print:打印找到的文件名(默认行为)。
-delete:直接删除找到的文件。-prune:排除指定的路径,不在其下进行搜索。-regex:使用正则表达式搜索文件名
二.实操案例
1.在终端打印/tmp/目录下文件夹的个数
#在终端打印/tmp/目录下所有目录的个数
find /tmp/ -type -d | wc -l#find:这是 find 命令,用于搜索文件和目录。
#/tmp/:指定搜索的起始路径,这里是 /tmp 目录。
#-type -d:指定搜索条件。-type 后面通常跟文件类型,但在这里 -d 是一个特殊选项,表示只搜索目录。#|:管道符,它将前一个命令的输出作为后一个命令的输入#wc -l:
#wc:是 "word count" 的缩写,用于统计行数、单词数或字节数。
#-l:选项 -l 告诉 wc 命令只统计行数。
2.查找/usr目录下.txt后缀的文件,并打印个数。
#查找/usr目录下.txt后缀的文件,并打印个数
find /usr -type f -name "*.txt" | wc -l#find /usr:指定 find 命令在 /usr 目录下进行搜索。
#-type f:指定只搜索文件类型(f 代表文件)。
#-name "*.txt":指定搜索文件名,这里使用 *.txt 来匹配所有以 .txt 结尾的文件。
#|:管道操作符,将 find 命令的输出传递给下一个命令。
#wc -l:wc 命令的 -l 选项用来计数行数,因为 find 命令输出的每一行都是一个找到的文件路径。