工具与资源github.com编辑精选
命令行艺术
The Art of Command Line (2015)
2015 — 2022,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是一份广受欢迎的 GitHub 开源指南,系统整理了命令行使用的技巧与最佳实践,从基础 Bash 用法到文本处理、SSH、调试等进阶内容。它多次登上 Hacker News 首页,被视为命令行入门与进阶的经典参考资料。
为什么经久不衰:命令行技能历久弥新,这份指南经过多年社区打磨和多次首页检验,至今仍是学习高效使用终端的最佳起点之一。
HN 评论精选
命令行技能在生物等非计算机领域也严重稀缺,这类指南价值很大
跑个题:如果强制生物专业的本科生通读这份指南,当他们突然拿到测序输出数据、却连 Bash 都没听说过时,会大有帮助。我们实验室 40 多人里,大概只有两三个人会用命令行。
ImaCake查看英文原文
Slight tangent, but forcing biology undergrads to work their way through this would probably help them a lot when they suddenly get saddled with some sequencing output and have literally never heard of Bash let alone used it. My lab of 40+ people has maybe 2 or 3 people who know how to use the command line.
警告指南中 LC_ALL=C 的建议会破坏 UTF-8 处理,不应照做
文中建议在 ~/.bashrc 里设置 export LC_ALL=C 来禁用缓慢的 i18n 例程——千万别这么做。非 UTF-8 的 locale 意味着你无法正常处理 UTF-8,而且会在最莫名其妙的时候出问题,比如提示符或命令行里出现非 latin1 字符时会把间距搞乱。我在自己的 .zshrc 里甚至会专门检查这个设置。除此之外文章写得不错。
scrollaway查看英文原文
> To disable slow i18n routines and use traditional byte-based sort order, use export LC_ALL=C (in fact, consider putting this in your ~/.bashrc). Do not. Having a non-utf8 locale means you won't be able to handle utf-8 sanely ("that's why it's faster") and it will break at the most inexplicable times. Any non-latin1 character appearing in your prompt or command line with this will mess its spacing up for example. Do not do not do not. Hell I even check for it in my .zshrc: https://github.com/jleclanche/dotfiles/blob/master/.zshrc#L378-L381 Good post otherwise.
指南中关闭 SSH 主机密钥检查的建议存在安全隐患
StrictHostKeyChecking=no——欢迎来到中间人攻击的天堂。如果你在乎 SSH 里的那个 S(安全),这是非常糟糕的建议。
cmrx64查看英文原文
> StrictHostKeyChecking=no And welcome to MITM haven. This is awful advice if you care about the first S in SSH.
推荐 set -o vi 让 shell 拥有 vi 编辑按键
如果你学了 bash 和 vi,下一个最棒的补充就是:set -o vi。这样你的 shell 就有 vi 按键了,妙极了。
bdamm查看英文原文
If you learn bash, and you learn vi, then the next most glorious addition is: set -o vi Then you have vi keys in your shell. And it is marvelous.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com