三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何在终端中筛选特定目录下的特定文件类型?

美国、香港服务器

如何在终端中筛选特定目录下的特定文件类型?

09-15   来源:

 在终端中筛选特定目录下的特定文件类型,核心是通过 find 命令(支持递归子目录)或 ls 命令(仅当前目录,需配合通配符)实现,具体方法根据是否需要包含子目录分为两种场景,以下是详细步骤和示例:

一、核心命令选择:先明确需求
需求场景 推荐命令 特点
仅筛选「当前目录」的目标文件 ls 简单快捷,不递归子目录
筛选「目录 + 所有子目录」的目标文件 find 功能强大,默认递归,支持精准过滤
二、场景 1:仅筛选「当前目录」的特定文件类型
如果只需查看 当前工作目录 下的特定类型文件(不包含子目录),用 ls 命令配合 通配符 * 即可,格式如下:
 
bash
ls [选项] *.目标扩展名
 
*.目标扩展名:通配符 * 表示 “任意字符”,*.txt 即 “所有以 .txt 结尾的文件”;
常用选项:-l(显示文件详情,如大小、修改时间)、-h(人性化显示大小,如 KB/MB)。
实用示例
查看当前目录下所有 .pdf 文件(仅文件名):
bash
ls *.pdf
 
查看当前目录下所有 .jpg 和 .png 图片(多类型匹配):
bash
ls *.jpg *.png  # 用空格分隔多个类型
 
查看当前目录下 .md 文档的详情(大小、修改时间):
bash
ls -lh *.md  # -l 显示详情,-h 人性化大小
 
三、场景 2:筛选「特定目录 + 所有子目录」的特定文件类型
如果需要 递归包含子目录(如 “~/Documents 及其所有子目录下的 .docx 文件”),必须用 find 命令,它会自动扫描目标目录的所有层级子目录,格式如下:
 
bash
find [目标目录路径] -type f -name "*.目标扩展名"
 
参数解析:
[目标目录路径]:指定要筛选的目录(如 ~/Downloads、/Users/yourname/Pictures);
-type f:仅筛选 “文件”(避免包含目录,若需包含目录可去掉此参数);
-name "*.目标扩展名":精准匹配 “以指定扩展名结尾的文件”(引号不可省略,防止通配符被终端提前解析)。
实用示例
基础:查找 ~/Documents 及其子目录下所有 .docx 文件:
bash
find ~/Documents -type f -name "*.docx"
 
结果会列出所有子目录(如 ~/Documents/work/、~/Documents/study/)中的 .docx 文件路径。
进阶:查找指定目录下的 .mp4 文件,并显示文件大小和详情:
bash
find ~/Movies -type f -name "*.mp4" -exec ls -lh {} \;
 
-exec ls -lh {} \;:对每个找到的 .mp4 文件执行 ls -lh 命令,显示大小、修改时间等详情;
{} 是占位符,代表找到的文件路径。
精准:查找 /var/log 目录下(含子目录)名称以 error 开头且后缀为 .log 的文件:
bash
find /var/log -type f -name "error*.log"
 
通配符 * 可灵活使用,error*.log 匹配 error1.log、error_2024.log 等。
四、关键注意事项
路径格式:
绝对路径:如 /Users/yourname/Documents(完整路径,任何目录下都可用);
相对路径:如 ./docs(当前目录下的 docs 文件夹,. 代表当前目录)。
区分大小写:
默认情况下,终端命令区分大小写(如 *.PDF 和 *.pdf 是两种类型);
若需忽略大小写(同时匹配 .PDF 和 .pdf),在 find 命令中用 -iname 代替 -name:
bash
find ~/Documents -type f -iname "*.pdf"  # 匹配 .pdf 和 .PDF
 
排除无关文件:
若需在筛选特定类型时排除部分文件(如排除 tmp*.docx),可叠加 -not 参数:
bash
find ~/Documents -type f -name "*.docx" -not -name "tmp*.docx"
 
总结
仅当前目录:用 ls *.扩展名,简单高效;
包含子目录:用 find 目录路径 -type f -name "*.扩展名",功能全面;
按需添加 -exec ls -lh {} \; 可查看文件详情,满足大多数筛选需求。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:在macOS系统中,使用终端命令筛选特定目录下的特定文件类型时,如何处理文件名包含空格的情况? 下一篇:如何在macOS系统中使用终端命令筛选时排除特定文件类型并只看特定目录及其子目录?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)