l00t
2022-06-07 10:49:31 +08:00
为啥这文风感觉是先有英语再翻译过来的…… 甚至在 touch 那里还把 touch 指令 翻译成了 触摸命令……
内容写得还不错。不过以挑剔的眼光看的话,问题倒也是能找出不少。
首先是最根本的一点:标题说的是 Linux shell ,然而实际上并没有这么一个叫 Linux shell 的东西,真实内容还是 Bash 。那么,为啥要学 Bash ?要说命令行的优势,其他 shell 也可以。要说流行程度,Windows 更流行,何不学 Powershell 呢?这里需要思考用户的使用场景,对用户群有个区分。对于大部分人来说,可能需要学习一些常见 shell 中比较通用的概念和操作,但是并没有学习 Bash 的必要,尤其是一些 bash 特有的内容。
其次是一些步骤上的先决条件或者说准备步骤没有充分说明。对于纯萌新小白来说,跟着一个教程走,最厌烦的是走不下去,执行结果和教程上说的不一样。很多对老手完全不是问题的问题,对于萌新小白来说是两眼一抹黑完全不知道发生了什么情况。不区分 shell 内建命令和系统程序是不严谨的。内建命令你可以确保它存在,系统里的程序却不一定。比如文本编辑器,甚至比如 man 。虽然在 man 这部分有标注,但只是说 Git bash 下可能没有,然而 Linux 里也可能没有自带
man 啊。如果说像获取指令帮助这样绕不过去的内容提到 man ,并给出了去网站上搜用法这样的第三条路的解决办法还是合理的,那么创建文本文件时提到 nano 并介绍 nano 的用法,就完全是离题的了,在用户机器上没有 nano 的时候更是让人困扰。简单输入几个字符,完全可以使用后面提到的 echo 加重定向来做。
第三个问题是和上一个紧密相关的。教程里在展示 shell 的强大的时候,已经引入了大量并不是 shell 自身指令而是外部 CLI 程序了,然而却没有告知在没有相关程序的时候怎么安装。当然这里是个巨坑,估计作者也不知道怎么讲清楚怎样装程序,好在涉及到的 wc head tail cut less grep 之类程序都还算通用,几乎各个 Linux 都默认带着。