学习 Linux 终端命令、参数的区别,以及如何使用它们来控制你的计算机。
前言
距离我的住处几条街远的地方,有一家咖啡馆,我在每个周日都会去那里参加固定的 “龙与地下城”(D&D) 游戏。他们有一份菜单,前几次我去点餐时,我总是要翻看好几分钟,才能确定要点些什么。熟悉了之后,我就不用看菜单了,因为我清楚地知道他们在卖什么,也清楚地知道自己想要什么。现在点餐对我来说很简单,只要说一声“老规矩”就好了,接下来就是等待一杯咖啡、一碗薯片和烤饼被送来(通常不方便的是,在我们 做出决定 的那一刻,但这也不是他们的问题)。(LCTT 译注:做出决定 是 D&D 玩家的黑话,它指的是在比赛开始前掷骰子的行为)
与餐厅的菜单类似,计算机的图形界面也为用户提供了操作选项。这里有图标、窗口和按钮,你可以搜索你想要的东西,点击项目,拖动其他项目,操纵图形界面,直到你的任务完成。不过,一段时间后,这可能会变得繁琐,甚至是效率低下。既然你清楚地知道需要做什么,那么,如果只需告诉计算机你想要发生什么,无需耗费大量的体力和脑力来搜索项目、舞动鼠标,就能达到目的,岂不是更好吗?
Linux 终端
Linux 终端是一个基于文本的交互界面,它是用来控制 Linux 计算机的。虽然它只是帮助 Linux 用户完成任何特定任务的众多工具之一,但是它被广泛地认为是最有效的方法。除了编写代码,这无疑是最直接的方法。事实上,它是如此受欢迎,以至于苹果公司将操作系统的基础改为 Unix,从而获得了 Bash 和 Z shell ,而微软公司开发了它自己的开源命令行 PowerShell 。
Linux 命令
命令 是一种特殊的关键词,你可以在终端中使用它,告诉计算机去执行一个动作。大多数命令是很小的应用程序,它们与你的操作系统的其他部分一起安装。你可能没有意识到它们的存在,因为它们通常被保存在相对模糊的目录中,如 /bin
、/sbin
、/usr/bin
和 /usr/sbin
,但你的终端知道在哪里可以找到它们(多亏了一个叫 PATH
的东西)。其他的命令是内置在终端中的。你不必担心一个命令是安装的还是内置的,无论是哪一种,终端都能执行。更棒的是,在大多数 Linux 发行版上,当终端找不到一个命令时,它会在互联网上搜索提供该命令的软件包,然后会主动为你提供安装软件包、运行该命令的服务。
下面是一个简单的命令:
$ ls
ls
命令是 “list” 的缩写,它会列出当前目录的内容。试一试吧!先打开一个终端窗口,然后打开一个文件管理器窗口(Linux 上叫 “文件”,macOS 上叫 “访达”,Windows 上叫 “资源管理器”)。比较一下这两个窗口,它们是同一数据的两种不同表现方式。
Linux 命令中的参数
参数 是命令中的任意一个“不是命令本身”的部分。例如,要列出一个特定目录的内容,你可以提供该目录的名称作为参数。
$ ls Documents
在这个例子中,ls
是命令,Documents
是参数。该命令将列出 Documents
目录的内容。
Linux 命令中的选项
命令的 选项,也叫 标志 或 开关,它是命令参数的一部分。命令参数是跟在命令后面的任何东西,而选项通常(但不总是)用一个连接号(-
)或两个连接号(--
)来划分。请看下面这个例子:
$ ls --classify Documents
在这个例子中,--classify
是一个选项。它也有一个简短的版本,因为终端用户更喜欢少打点字来提高效率。
$ ls -F Documents
短的选项通常可以合并。下面是一个 ls
命令,它将 -l
选项与 --human-readable
(-h
)、--classify
(-F
) 和 --ignore-backups
(-B
) 选项结合了起来:
$ 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 终端查看你的计算机上有哪些文件
- 如何在 Linux 终端中打开和关闭目录
- 在 Linux 终端中进行导航
- 在 Linux 终端中移动一个文件
- 在 Linux 终端中重命名一个文件
- 在 Linux 终端中复制文件和文件夹
- 在 Linux 终端中删除文件和文件夹
在阅读和练习了这些文章中的课程后,你可以下载我们的免费电子书 系统管理员的 Bash 脚本指南 ,在终端中获得更多乐趣。
本文使用 CC BY-SA 4.0 国际协议 进行许可,欢迎 遵照协议规定 转载。
链接:https://lkxed.github.io/posts/linux-terminal/
作者:Seth Kenlon / 译者:六开箱
原文:A guide to the Linux terminal for beginners
首发:Linux 终端新手指南 @ Linux 中国