![为什么需要在 Ubuntu 中使用命令提示符?](https://linux22.com/image/1216208/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%9C%A8%20Ubuntu%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%EF%BC%9F.png)
我想尝试一些 Linux 应用程序,所以只是在 Windows 中将 Ubuntu 安装为 VMware 虚拟机。
VMware 提示我安装 VMware 工具,并在 Ubuntu 桌面上放置一个虚拟 CD-rom,其中包含一个 rpm 和一个 tar.gz 存档。我无法弄清楚如何使用 rpm 文件,因此我设法将 tar.gz 存档提取到桌面上的一个文件夹中,在 Google 的帮助下,我发现我需要打开一个终端窗口,进入相应的目录,然后使用 sudo 执行 Perl 安装脚本。一切正常。
我知道可以通过“应用程序”>“添加/删除”或其他类型的包管理器轻松安装各种应用程序。但并非每个应用程序都可以在这里找到。
我在 DOS 时代经常使用命令提示符,这就是我猜想 cd 命令的原因。我也知道这样的操作需要提升权限,因此需要 sudo 命令。
我的问题是,为什么该操作需要使用命令提示符 - 为什么我不能双击安装脚本文件,然后在需要时提示我提供额外的凭据?或者右键单击并“以 root 身份运行”,或者在 GUI 中执行其他操作?
请不要将此视为“为什么 Linux 不更像 Windows”的咆哮——我真的对任何答案感兴趣。
答案1
简单答案
因为无论是谁编写了您下载的软件包,一开始就没有制作如此方便的安装脚本文件。
更复杂的答案
Ubuntu 是围绕 Debian 风格 (.deb) 软件包设计的。在 Ubuntu 下找到一个方便的点击式软件包安装程序来安装此类软件包很简单。您的问题是,您尝试安装的软件包不是内置包管理器的一部分。
命令行可能是 Linux 用户的最低通用标准。编写软件包时,添加额外的脚本以确保其在所有 Linux 发行版上“正确”安装并非易事,尤其是在定期开发新的分支和发行版的情况下。例如,在 Ubuntu 上完美运行的脚本可能会在 Fedora 或 Slackware 上崩溃。因此,特定于发行版的安装程序通常留给发行版管理员自己,或愿意做繁重工作的志愿者。
.tar.gz 软件包脚本通常只为您编译软件包并将其放在适当的 /bin 目录(或任何地方)中。许多可以使用常见的“./configure && make && make install”过程进行安装,但并非所有脚本都可以。这需要阅读每个软件包的安装说明以确保正确安装。这种人工干预使得自动化过程变得困难甚至不可能。
请注意,此安装过程可能会或可能不会为您做任何其他有用的事情。您很可能最终没有卸载程序,所选软件包管理器中没有显示“已安装”的内容,甚至所选窗口管理器中也没有相应的桌面图标/应用程序条目/文件关联。这完全取决于软件包本身。特定于发行版的软件包通常会尝试解决这些遗漏。
在所有开源开发人员就所有软件的标准安装过程达成一致之前,这可能是您能得到的最佳选择。要么坚持使用发行版支持的软件包,要么使用命令行。
答案2
因为 Linux 的版本实在是太多了。命令行流程将其简化到最基本的程度,这样出错的可能性最小。
答案3
这不一定是 Ubuntu 的问题,而是 VMWare 选择不将其 VMWare 工具打包为 Debian/Ubuntu 包的问题。RPM 是 Redhat/Fedora/CentOS/Mandriva 格式。
您可以安装外星人在 Ubuntu 上安装 RPM 包,但它仍然需要涉及命令行。
答案4
我认为命令行的最佳用途是实际设置和维护 *nix 安装本身。没有 GUI 方式可以修复糟糕的显示问题。但我可以立即通过 CLI 编辑我的显示设置文件。
另外,没有比第一次使用“whoami”来弄清楚您实际上以谁的身份以及在哪里登录更超现实的时刻了。