知识库
Linux 命令和 Shell 技能
决定管理员是操作服务器还是对抗服务器的命令和脚本编写习惯:使用每个基本安装中的工具搜索、转换、传输和监督文本和进程。
17 主题 · 17 篇指南
- grep:像专业人士一样搜索 Linux
grep 在每次工具链刷新中都能幸存,因为工作永远不会改变:找到文本中重要的行,这些行的增长速度比任何人清理它的速度都快。它真正的力量在于将搜索转化为答案的标志词汇:周围上下文、文件名列表、反向匹配以及 shell 脚本可以分支的退出代码。当服务器行为不当时,…
- sed:在不打开编辑器的情况下编辑流
sed 横向编辑:整个文本流通过它,经过转换,并且没有编辑器打开。它的声誉来自于 -i,它将单行替换转换为跨数千个文件的批处理操作,并且来自于在没有备份后缀的情况下运行它的管理员的灾难故事。安全工作流程永远不会改变:运行可见替换,确认输出,然后添加带有后缀的 …
- find:无所不能的 Linux 搜索
find 是生产服务器上最危险的命令,这正是它值得掌握的原因。它在一个表达式中枚举、过滤和执行,每一个经典的“/var here be Dragons”事件都可以追溯到有人跳过的预览。这些习惯是机械的:首先使用 -print 或 -ls 进行操作,使用 -ex…
- awk:当列成为程序时
当列成为工作单元时,awk 就是您所需要的:nginx 访问日志、/etc/passwd、df 输出、字段中的任何内容。它是一门完整的语言(变量、数组、算术、模式动作规则),披着俏皮话的外衣,这正是日志取证的正确伪装。诚实的边界:awk 能轻松完成的任何事情都…
- curl:运行 Web
curl 是每个操作工具箱的袖珍 HTTP 客户端:诊断、管道友好且诚实地了解返回的内容。它的旗帜表面看起来很大,而且大部分都没有发挥作用:大约有十几个旗帜涵盖了日常操作使用,了解它们就是照本宣科的健康检查和幸运者之间的区别。节省最多分页的规则很简单:每次都设…
- wget:永不休眠的下载程序
礼貌地进行镜像 wget 是一种以小时为单位的工作卷曲:镜像、存档、递归拉取以及在无人监视时运行的 cron 批处理。它会递归,尊重 robots.txt,默认恢复中断的传输,并根据速率限制和等待间隔调整自己的速度,这是礼貌的旋曲留给调用者的。这两个工具之间的…
- ssh:运行基础设施的连接
ssh 不是一种便利,它是每台服务器上的每个操作都依赖的传输,而 ~/.ssh/config 是与你未来的自己在凌晨 3 点签订的合同。主机别名、IdentityFile 条目、ProxyJump 目标和 keepalive 设置将记住的标志语句变成单字命令。…
- ip:取代 ifconfig
iproute2 套件(ip、ss 和朋友)多年前就取代了 net-tools,一半的互联网仍在教授旧命令。 ip 看到了现代现实:多个路由表、策略规则、名称空间和保存地址而不是由地址组成的链接。 ifconfig 在某些发行版上通过兼容层一瘸一拐地前进;在脚…
- sftp:基于 SSH 预算的文件传输
sftp 位于 SSH 内部,这正是它比同类产品寿命更长的原因:密钥、chroot、跳转主机和审计跟踪都是免费的。 OpenSSH 在 9.0 版本中悄悄地将 scp 转移到 SFTP 协议上,因为 SFTP 扮演着真正的协议角色:目录列表、mkdir、权限、…
- top vs htop vs btop:进程监视器比较
每个实时服务器问题都从进程监视器开始,top、htop 和 btop 的三重奏是可读性与普遍性的权衡。 top 位于每个 Unix 盒子上,包括救援图像,并且以一种无聊的方式诚实; htop 添加了交互式排序、树视图和颜色,使分类更快; btop 以安装占用空…
- tmux 与 screen:会话管理器比较
tmux 和 screen 解决了同样古老的问题:当你的网络消失时,你的工作不应该消失。会话存在于服务器上,可以在断开连接后继续存在,并且可以划分为多个窗格; screen 是随处可见的稳定祖先,tmux 是继承者,具有更健全的默认值、可编写脚本的窗格和继续发…
- Bash 脚本:从“在我的盒子上运行”到生产
当一项任务具有粘合性时,Bash 就赢得了自己的位置:编排命令,整理简单文本,并完全保持在盒子上。它的行业声誉来自于登陆,而不是想法:未经测试的管道被运送到服务器上的 cron 中,其中一个变量未设置或一个文件名有空格。该规则是机械的且廉价的,它由四个部分组成…
- 用于服务器脚本的 Python:Bash 结束的地方
Python 在 bash 脚本增长的那一刻就会出现:JSON 有效负载、REST 调用、带回退的重试以及不应存在于正则表达式中的解析。它不是 bash 的替代品;它是 bash 的替代品。这是下一个梯级,一个聪明的正则表达式必须承认它需要真正的数据结构和错误…
- Perl 脚本:系统管理员的瑞士军刀,依然锋利
Perl 因其成为 20 世纪 90 年代最好的文本处理工具而赢得了一席之地,并且从未离开过:它在每个基本安装中都附带,悄悄地驱动着没人会想到的工具(SpamAssassin、配置脚本、监控插件),并且包含正则表达式强大的单行语句无处可去不然舒服。诚实的现代立…
- htop:读取服务器的脉冲
htop 是交互式进程查看器,它将定期报告中的“顶部”转变为实时诊断界面:彩色仪表、可排序的进程树以及触手可及的kill/renice。它已成为几乎所有现代商店中在任何行为异常的盒子上输入的第一个命令;这件专门的作品涵盖了使其成为诊断性而非装饰性的习惯,并且当…
- tmux:比连接持续时间更长的会话
tmux 是终端多路复用器,当您的 SSH 连接中断时,它可以使长时间运行的工作保持活动状态:一个独立的服务器进程保留您的窗口和窗格,并且任何后续连接(笔记本电脑、办公网络、另一个城市)都会重新连接到同一个实时会话。我们 tmux-vs-screen 比较背后…
- GNU screen:拒绝消亡的会话包装器
GNU screen 比 tmux 服务器-客户端复用早了十年,并且比现代竞争对手仍然预装在更多的救援映像、旧主机和最小系统中。它的功能集更小,它的命令以 Ctrl-a 开头,它在 2026 年的诚实角色很简单:当 tmux 不存在时,它就存在会话保持器,加上…