news 2026/5/8 19:24:48

别再只会用ls了!这5个隐藏选项和通配符技巧,让你在Linux终端里找文件快人一步

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再只会用ls了!这5个隐藏选项和通配符技巧,让你在Linux终端里找文件快人一步

别再只会用ls了!这5个隐藏选项和通配符技巧,让你在Linux终端里找文件快人一步

如果你每天都要在Linux终端里和文件打交道,却还在用最基础的ls命令,那这篇文章就是为你准备的。作为一名常年与服务器打交道的开发者,我发现大多数同事只掌握了ls -l这样的基础用法,却不知道如何组合选项和通配符来提升效率。今天我要分享的5个技巧,都是经过实战检验的"组合拳",能让你在处理成千上万文件时游刃有余。

1. 时间与大小:快速定位问题文件

当服务器磁盘空间告急,或者需要排查最近被修改的文件时,单纯使用ls -l就像用放大镜看地图——效率太低。试试这个我每天都会用到的组合:

ls -lth

这个命令做了三件事:

  • -l:显示详细信息
  • -t:按修改时间排序(最新在最前)
  • -h:用人类可读的格式显示文件大小

执行后你会看到类似这样的输出:

-rw-r--r-- 1 user group 2.3G Mar 12 14:30 huge_logfile.log -rw-r--r-- 1 user group 1.8G Mar 12 10:15 another_big_file.log -rw-r--r-- 1 user group 512K Mar 12 09:45 config.ini

进阶技巧:如果你只想看大于特定大小的文件,可以结合find命令:

find . -type f -size +100M -exec ls -lth {} +

2. 目录导航:只显示子目录的极简方法

在复杂的项目结构中,有时我们只需要快速查看子目录而不关心文件。很多开发者会先用ls然后手动过滤,其实有更优雅的方式:

ls -d */

这里的-d选项告诉ls只显示目录本身(而不是目录内容),而*/是通配符模式,只匹配目录。输出会是这样的简洁列表:

project_a/ project_b/ logs/ configs/

实用场景:当需要快速切换到某个子目录时,可以配合cd命令使用:

cd $(ls -d */ | fzf) # 需要安装fzf工具

3. 通配符进阶:精准匹配文件组

大多数开发者知道*.txt这样的基础通配符,但Linux的通配符系统其实强大得多。下面这些模式能帮你处理更复杂的场景:

模式作用示例
[a-z]匹配任意小写字母ls image_[a-z].jpg
[0-9]匹配任意数字ls log_[0-9].txt
[!abc]排除指定字符ls [!test]*.py
{a,b,c}匹配多个模式ls *.{jpg,png,gif}

实战案例:假设你需要处理一批图片,但想跳过测试文件:

convert !(test_)*.jpg -resize 50% output/

4. 隐藏文件管理:不只是-a选项

.gitignore.env这类隐藏文件对项目至关重要,但常规的ls -a会把所有隐藏文件都显示出来,包括你不关心的。试试这个更智能的组合:

ls -ld .* | grep -Ev "\.$|\.\.$"

这个命令的巧妙之处在于:

  1. -ld .*:列出所有隐藏文件和目录(包括...
  2. grep -Ev:排除掉当前目录.和上级目录..

进阶用法:如果你想按修改时间查看最近变动的隐藏文件:

ls -lth .* | tail -n +2 # 跳过第一行的"."目录

5. 递归搜索:比find更轻量的选择

虽然find命令功能强大,但有时候我们只需要简单的递归列出文件。ls -R的输出往往太冗长,这里有个更实用的格式:

ls -lR | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g'

这个管道组合会生成一个可视化的目录树:

. --project_a ----src ------main --project_b ----tests

性能提示:对于大型目录结构,可以添加| less来分页查看:

ls -lR | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' | less

6. 组合技实战:解决真实工作场景

让我们把这些技巧组合起来解决一个实际问题:找出项目中最近修改的大型JavaScript文件,但不包括测试文件

ls -lth *.js | grep -v test | head -n 10

这个命令管道:

  1. ls -lth *.js:列出所有JS文件,按时间排序
  2. grep -v test:排除包含"test"的文件
  3. head -n 10:只显示前10个结果

更进一步:如果你想把这些文件打包备份:

tar -czvf recent_js_files.tar.gz $(ls -t *.js | grep -v test | head -n 10)

记住,在Linux终端中,ls不仅仅是列出文件的工具,当与其他命令和选项组合使用时,它能成为你文件管理瑞士军刀中最锋利的那片刀刃。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 19:24:23

programmer-book部署指南:快速搭建个人技术文档网站

programmer-book部署指南:快速搭建个人技术文档网站 【免费下载链接】programmer-book 公众号:普通程序员 项目地址: https://gitcode.com/gh_mirrors/pr/programmer-book programmer-book是一个面向普通程序员的技术文档项目,通过简单…

作者头像 李华
网站建设 2026/5/8 19:22:54

pybbs Websocket实时通信:构建高效的在线聊天系统

pybbs Websocket实时通信:构建高效的在线聊天系统 【免费下载链接】pybbs 更实用的Java开发的社区(论坛),Better use of Java development community (forum) 项目地址: https://gitcode.com/gh_mirrors/py/pybbs pybbs是一个基于Java开发的实用社…

作者头像 李华
网站建设 2026/5/8 19:22:45

数据工程终极指南:掌握高效数据管理策略的7个核心技巧

数据工程终极指南:掌握高效数据管理策略的7个核心技巧 【免费下载链接】data-engineer-handbook This is a repo with links to everything youd ever want to learn about data engineering 项目地址: https://gitcode.com/GitHub_Trending/da/data-engineer-han…

作者头像 李华
网站建设 2026/5/8 19:22:26

对比使用Taotoken前后在Claude Code项目中的API密钥管理体验

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比使用 Taotoken 前后在 Claude Code 项目中的 API 密钥管理体验 在开发基于 Claude Code 的项目时,API 密钥的管理、…

作者头像 李华
网站建设 2026/5/8 19:21:42

Corona-Warn-App Server Spring Profiles配置:多环境部署策略

Corona-Warn-App Server Spring Profiles配置:多环境部署策略 【免费下载链接】cwa-server Backend implementation for the Apple/Google exposure notification API. 项目地址: https://gitcode.com/gh_mirrors/cw/cwa-server Corona-Warn-App Server&…

作者头像 李华
网站建设 2026/5/8 19:17:28

Newton中的传感器数据处理:从采集到分析的完整流程

Newton中的传感器数据处理:从采集到分析的完整流程 【免费下载链接】newton An open-source, GPU-accelerated physics simulation engine built upon NVIDIA Warp, specifically targeting roboticists and simulation researchers. 项目地址: https://gitcode.c…

作者头像 李华