FDE Times 数据在招 FDE 职位 862▼55 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 70在招公司 180支持远程 24%美国薪资中位数 $200k招聘最多 Palantir 95
ENVI

前线部署工程师(FDE)的专业媒体

书籍与课程

一本免费书,帮 FDE 应对没有图形界面的客户服务器

William Shotts 的《The Linux Command Line》从零讲起,覆盖管道、进程、Vim 和脚本,是和客户连线排障的基本功。

封面: The Linux Command Line
The Linux Command Line · William E. Shotts, Jr. · 封面图片:Open Library
分享微博

要点速览

  • 作者以 Creative Commons BY-NC-ND 许可免费提供 PDF 下载。544 页的第三版纸质书由 No Starch Press 出版。
  • 这本书写给对命令行一无所知的读者。配套教程包含 Permissions、Job Control、I/O Redirection 和 Expansion 等章节。
  • 值得保留的四个习惯:用串联命令代替点鼠标;先预览通配符会展开成什么;申请 sudo 之前先看文件权限;SSH 断开时让进程继续运行。
一张前后对比图,列出三行 shell 命令。扩展:rm *.log 改为 echo *.log。重定向:cmd > out.txt 改为 cmd > out.txt 2>&1。作业控制:./import.sh 改为 nohup ./import.sh &。每行新增的部分用橙色标出。
三个习惯,取自 William Shotts 的 Learning the Shell 教程中的主题。一是用 echo 预览通配符会匹配哪些文件;二是加上 2>&1,让日志文件也记录错误信息;三是用 nohup,SSH 会话断开时任务照样运行。

设想这样一个场景:你通过 SSH 登录客户的虚拟机,排查一条数据管道为什么停了。手边没有 IDE,也没有用惯的 alias,客户那边还有人在电话会议上等着。

这次会话的头几分钟顺不顺,取决于你对 shell 有多熟。William Shotts 的《The Linux Command Line》教的正是这套基本功,PDF 可以在作者的网站 LinuxCommand.org 免费下载。

一本写给零基础读者的书

Linux Pro Magazine 的一篇书评指出,这本书不要求读者有任何基础。书评认为,它可能是这一主题下最好读的书,同时在广度和深度上都讲得足够。

出版方的说法更进一步:这是一门讲透 Linux 实际如何运作的完整课程。书中内容包括文件系统导航、管道、进程、Vim 和 shell 脚本。

边界最好一开始就弄清楚。Shotts 明确表示,配套的《Adventures with the Linux Command Line》不是系统管理手册,只是一组有趣主题的合集,比如 Midnight Commander、终端复用器、AWK、Vim 和 SQL。

对前线部署工程师(FDE)来说,看日志、挪文件、跑任务是第一位的;深入的服务器运维以后可以从别的资料里学。

合上书后值得保留的四个习惯

用串联命令代替点鼠标。 Learning the Shell 教程开篇就说,图形界面适合很多任务,但不是所有任务。到了客户现场,这一点会变得非常具体。

举个假设的例子:客户反馈磁盘满了。你先敲 df -h 找出哪个分区满了,再用 du -sh /var/log/* | sort -h | tail -5 列出最大的五个日志目录。两条命令,电话还没挂,答案就有了。

先预览 shell 会把命令变成什么。 I/O Redirection 和 Expansion 是教程十个章节中的两个,在别人的机器上,这两项都可能酿成代价高昂的失误。要把日志发给同事,command > output.txt 2>&1 会把输出和错误写进同一个文件;少了 2>&1,你发出去的文件可能恰好缺了报错的那一行。

扩展的风险更大。在客户机器上用通配符执行 rm 之前,先用同样的通配符执行 echo,看看它会展开成哪些文件。

申请 sudo 之前先看文件权限。 Permissions 也是教程的一个章节。在客户的数据目录里遇到“Permission denied”时,先用 ls -l 看清文件属于哪个用户和组,再去找客户;问对问题,更能赢得对方 IT 团队的尊重。

SSH 断开时让进程继续运行。 导入任务跑到一半、SSH 会话断开时,Job Control 能救你。最稳妥的做法是一开始就让任务脱离会话,比如 nohup ./import.sh > import.log 2>&1 &,再用 tail -f import.log 跟踪进度。

如果已经在前台启动了,按 Ctrl+Z,输入 bg,再输入 disown。对于要跑几个小时的任务,开工前先打开 tmux 是个好习惯;终端复用器也是《Adventures》里的主题之一。

应该按什么顺序读?

刚接触命令行的人,或者习惯在 macOS 和 IDE 里工作的工程师,应该从 Learning the Shell 的十个章节开始。在一台干净的虚拟机上把每条命令都亲手敲一遍,不要只看不练。

然后读这本书补足深度,《Adventures》留到最后,等基础命令已经成了条件反射再看。如果你每天都在写 bash 脚本,快速翻一遍即可,只在自己敲键盘仍会犹豫的章节停下来。

至于求职:看 FDE 招聘启事时,留意岗位是否需要在客户的基础设施上工作;如果需要,熟练使用 shell 就值得展示出来。与其在简历上写“精通 Linux”,不如描述一次具体事件:谁的机器、你敲了什么、花了多长时间。

你准备好 SSH 登录客户的机器了吗?

先试着回答下面三道题,再看答案,然后在虚拟机上实际跑一遍。

第一题:command 2>&1 > out.txt 和 command > out.txt 2>&1 有什么区别?答案:shell 从左到右解析重定向。第一种写法中,错误被指向此刻输出所指的地方,也就是屏幕,所以文件里只有输出;只有第二种写法会把两者都收进文件。

第二题:在一个包含 a.tmp、b.tmp 和 config.yaml 的目录里,echo rm *.tmp 会打印什么?答案:rm a.tmp b.tmp。如果打印出来的那一行里有你不想丢的文件,你就刚刚避免了一次事故。

第三题:一个脚本已经在前台跑了 40 分钟,网络又不稳定。怎样做才能在 SSH 会话断开时不丢掉这个任务?答案:Ctrl+Z、bg、disown。最常见的错误是条件反射地按下 Ctrl+C,40 分钟的工作就白费了。

如果三道题都能毫不犹豫地答出来,你就具备了这本书承诺的基本功。如果卡住了,就回到教程中对应的章节。

下载或购买之前

LinuxCommand.org 上的免费版本是第七版互联网版(Seventh Internet Edition),共 596 页,以 Creative Commons BY-NC-ND 许可发布。No Starch Press 的第三版纸质书共 544 页,ISBN 9781718504523,出版方称其中有近 40 页新内容。

不同格式的发布日期不同:Apple Books 上电子书的日期是 2026 年 2 月 17 日,Penguin Australia 上平装本的日期是 2026 年 3 月 3 日。哪个版本都可以,关键是先在虚拟机上把命令敲熟,再到客户的机器上去敲。

这篇文章对你有帮助吗?

6 个信源
路线图上的下一篇 · 阶段 1: 基础认知FDE 可以拿去教客户的 Anthropic 免费课约三小时的课程,讲清该把什么交给 Agent、出错时由谁负责,适用于任何模型。