离我住的地方有几条街的地方有一家咖啡馆,我每周日都会去那里参加固定的D&D游戏。他们有一份菜单,头几次我点餐时,我翻看了好几分钟的菜单,看看我的选择是什么。作为一个习惯性的生物,我最终不再参考菜单,因为我清楚地知道他们有什么卖的,我也清楚地知道我想要什么。现在为餐桌点菜就像说 "老规矩 "一样简单,然后等待一杯咖啡、一碗薯片和烤饼被送来(通常不方便,正好是我们为主动权打滚的时刻,但这几乎不是员工的错或问题)。
与餐厅的菜单类似,计算机的图形界面也为用户提供了行动的选择。这里有图标、窗口和按钮,你可以寻找你要找的东西,点击项目,拖动其他项目,并操纵图形表示法,直到完成任务。不过,一段时间后,这可能会变得繁琐,更糟糕的是,效率低下。你清楚地知道需要做什么,所以,如果只是告诉计算机你想要发生什么,而不是通过身体和精神上的动作来寻找组件和重复基于鼠标的舞步,那不是很好吗?
什么是Linux终端?
Linux终端是一个基于文本的界面,用于控制Linux计算机。它只是提供给Linux用户用于完成任何特定任务的众多工具之一,但它被广泛认为是最有效的方法。在编写代码之外,这当然是最直接的方法。事实上,它是如此受欢迎,以至于苹果公司将其基础改为Unix,并获得了Bash和Z shell,而微软则开发了PowerShell,它是自己的开源命令行。
什么是Linux命令?
命令是一个特殊的关键词,你可以在终端中使用它来告诉你的计算机执行一个动作。大多数命令是微小的应用程序,与你的操作系统的其他部分一起安装。你可能没有意识到它们在你的计算机上,因为它们通常保存在相对隐蔽的目录中,如/bin,/sbin,/usr/bin, 和/usr/sbin, 但你的终端知道在哪里找到它们(感谢称为PATH的东西)。其他的命令是内置在你的终端中的。你不必担心一个命令是安装的还是内置的,因为你的终端知道这些命令。更好的是,在大多数Linux发行版上,当你的终端找不到一个命令时,它会在互联网上搜索提供该命令的软件包,然后为你提供安装和运行。
这里有一个简单的命令。
$ ls
ls 命令是 "list "的缩写,它列出了你当前目录的内容。打开一个终端,试试吧。然后打开一个文件管理器窗口*(Linux的Files*,macOS的Finder,Windows的Windows Explorer)并进行比较。这是对同一数据的两种不同看法。
什么是Linux命令中的参数?
参数是命令的任何部分,而不是命令。例如,要列出一个特定目录的内容,你可以提供该目录的名称作为参数。
$ ls Documents
在这个例子中,ls 是命令,Documents 是参数。这将呈现出你的Documents 目录的内容的列表。
什么是Linux中的选项?
命令选项,也叫标志或开关,是命令参数的一部分。命令参数是跟在命令后面的任何东西,而选项通常(但不总是)用破折号或双破折号来划分。比如说。
$ ls --classify Documents
在这个例子中,--classify 是一个选项。它也有一个简短的版本,因为终端用户倾向于喜欢少打字的效率。
$ ls -F Documents
短的选项通常可以合并。下面是一条ls 命令,将-l 选项与--human-readable,--classify, 和--ignore-backups 选项结合起来。
$ ls -lhFB
有些选项本身可以带参数。例如,ls 的--format 选项让你改变信息的呈现方式。默认情况下,目录的内容是以列的形式提供给你的,但如果你需要它们以逗号分隔的列表形式列出,你可以把format 设为comma 。
$ ls --format=comma Documents
alluvial, android-info.txt, arduinoIntro, dmschema,
headers.snippet, twine, workshop.odt
等号(=)是可选的,所以这样做也是可以的。
$ ls --format comma Documents
alluvial, android-info.txt, arduinoIntro, dmschema,
headers.snippet, twine, workshop.odt
学习使用Linux终端
学习如何使用终端可以提高工作效率和生产力--也可以使计算变得非常有趣。很少有这样的时候,当我运行一条精心设计的命令时,我不会坐下来惊叹于我在空白的屏幕上输入几个字就能实现的事情。终端是很多东西--编程、诗歌、拼图和实用主义--但无论你如何看待它,它都是一个值得学习的持久创新。
在阅读并实践了这些文章中的课程后,下载我们的免费电子书《系统管理员的Bash脚本指南》,在终端中获得更多乐趣。