在日常使用电脑时,经常需要找某个文件,比如上周写的报告、一张下载的图片,或者某个配置文件。用鼠标点开一个一个文件夹太慢,这时候命令行查找文件命令就能派上大用场。
Windows 下的 findstr 和 where
在 Windows 系统中,如果已经知道文件名的一部分,可以用 where 命令快速查找。比如想找所有名字包含 report 的 .docx 文件:
where /r C:\Users\John *.report*.docx
这里的 /r 表示递归搜索子目录,路径可以换成你关心的位置。如果你更关心文件内容,比如想找某个日志文件里包含“错误”的行,可以用 findstr:
findstr /s /i "错误" *.log
其中 /s 是搜索子目录,/i 表示忽略大小写。
Linux 和 macOS 的 find 命令
在 Mac 或 Linux 上,find 是查找文件的主力工具。比如想在家目录下找最近三天修改过的 .pdf 文件:
find ~/ -name "*.pdf" -mtime -3
如果只知道文件名但不确定位置,可以用通配符:
find / -name "*财务报表*" 2>/dev/null
这里加上 2>/dev/null 是为了屏蔽权限不足的报错信息,让结果更清爽。
按大小查找文件
有时候硬盘满了,想找几个大文件清理一下。比如列出大于 100MB 的文件:
find /home -size +100M
单位可以用 k(KB)、M(MB)、G(GB),前面加 + 表示大于,加 - 表示小于。
结合 grep 进行内容搜索
当你记得文件里的某句话,但忘了文件名时,可以用 grep 配合 find:
find . -type f -exec grep -l "订单编号" {} \;
这条命令会在当前目录下找所有文件,并输出包含“订单编号”的文件名。-type f 限定只查普通文件,避免目录干扰。
小技巧:别名简化常用操作
如果你经常查找某种文件,可以设置别名。比如在 .bashrc 中添加:
alias ff='find . -name'
保存后运行 source ~/.bashrc,之后就可以用 ff "*.py" 快速查找 Python 文件。
熟练使用命令行查找文件命令,能让你在成千上万个文件中迅速锁定目标,省下大量点击时间。这些命令不难记,用几次就顺手了。