共计 2751 个字符,预计需要花费 7 分钟才能阅读完成。
导读 | 我个人是《新世纪福音战士》的铁粉,因此这里引用一句台词:“人们畏惧黑暗,因此努力在其中刻画火焰的轮廓。”对于很多 Linux 新人来说,终端那阴沉的屏幕同样是种黑暗——因此人们拼命利用 GUI 加以替代。 |
虽然图形化用户界面确实代表着现代计算友好的一面,且在多数情况下更易于使用。然而,有时命令行仍然拥有它的独特优势。只要拥有一些基本知识,大家就能够在用户界面无法启动或者需要进行维护时,运用命令行这一利器轻松解决问题。
对于初学者,只要掌握以下五条命令,即可轻松玩转 Linux。
如果说命令也分阶级的话,那么最值得尊重的无疑是 sudo。Sudo 的作用非常简单:它将以超级用户 (或者 root) 权限运行任何命令。无论是更新系统还是变更配置文件,配合 sudo 运行命令都是必不可少的。
由于 /mnt 从属于 root,因此大家需要利用 sudo 方可在 /mnt 中创建目录。
Sudo 还允许用户破坏系统或者查看其他用户的隐私。正因为如此,在初次使用 sudo 时,系统会给出以下提示:
我们相信您已经从本地系统管理员处获得了常规指导。具体内容通常归结为以下三点:
(1)尊重他人隐私。
(2)输入前,再三斟酌。
(3)能力越大,责任越大。
如果大家希望在自有用户的主目录之外编辑或者修改任何文件,那么往往需要使用 sudo。要使用 sudo,您的用户需要位于 sudoers 文件内或者作为超级用户群组 (通常为‘wheel’或者‘sudo’) 中的一员。
上图为一个典型的 sudoers 文件内容,其中指定了允许执行 root 访问的各组。请注意,不要为无需密码的用户或者分组分配 sudo 访问权限。
由于 sudo 能量巨大,因此如果不清楚命令的具体作用,千万不要随意添加 sudo。可能很多朋友都听说过 sudorm–R / 这条恶作剧命令,它会以递归方式删除系统上的每一个文件,且操作系统不会额外进行任何提示。所以正如之前提到,“输入前再三斟酌。”
使用 sudo 的头号理由就是需要通过软件包管理器向 PC 内添加或者删除程序。尽管这里提到的三大主要软件包管理器各自拥有不同的命令参数与语法,但它们都能够实现同样的三项基本功能:安装软件包、删除软件包、升级系统上所有软件包。(注意:除非您以 root 用户登录,否则您需要添加 sudo 以运行这些命令。)
在 Arch Linux 上利用 pacman 进行系统升级。请注意,在 pacman 命令前使用 sudo。
yum (红帽 /Fedora/CentOS)
安装软件包:
yum install <package>
移除软件包:
yum remove <package>
升级系统:
yum update
apt (Debian/Ubuntu/Mint)
安装软件包:
apt install <package>
移除软件包:
apt remove <package>
升级系统:
apt update
apt upgrade
pacman (Arch/Manjaro)
安装软件包:
pacman -S <package>
移除软件包:
pacman -R <package>
升级系统:
pacman -Syu
各软件包管理器的功能当然不止于此,不过这里列出的是大家最为常用的三项功能。无论您选择哪一种 Linux 发行版,都应该能够熟练掌握软件包管理器的使用方式,并了解在哪里可以找到说明文档。
长久以来,Linux 中的后台程序——即守护程序——会使用一系列名为 initscripts 的脚本。对于新人,initscript 往往难于阅读以及解释或者修改。最近,initscript 已经被一项名为 Systemd 的服务管理应用所取代。如果大家使用的是较新的 Linux 发行版,那么正合适了解如何利用 Systemd 启动您需要的服务。
在引导时禁用及重新启用 NetworkManager 服务
能够利用 Systemd 实现的功能多种多样(Unix 程序则通常只专注于一项功能,并把它做到极致),然而,大家在使用 systemd 时仍应考虑以下五个关键词。
启动服务时,使用 start 关键词:
systemctl start <service name>
同样的,如果需要对发生故障的服务进行重启,或者变更其配置,则使用 restart:
systemctl restart <service name>
要停止服务,使用 stop:
systemctl stop <service name>
要在引导时启用每项服务,则使用 enable:
systemctl enable <service name>
最后,利用 disable 禁止服务在引导时启动:
systemctl disable <service name>
虽然简单且直观,但 ls 的作用却超乎大家的想法。就效果而言,ls 命令能够列出特定路径下的全部文件与文件夹。在默认情况下,它会列出当前工作目录 (通常为用户主目录) 中的文件与文件夹。当然,大家也可以利用它查找特定路径下的内容。
大家可以为 ls 命令添加多种选项,其中最常用的是 -l,它会显示文件权限与归属。
那么,作为 Linux 版本的 dir,为什么 ls 拥有如此重要的作用? 先提一点,它能够帮助大家查找配置文件中的子目录。它还能够在无需 GUI 的前提下,查看某一环境下的文件名。由于 Linux 文件名与命令具备大小写敏感特性,因此它能够轻松了解确切的拼写方式。总之,大家可以将 ls 作为自己的侦察机,用于探索周边系统。
有时候,我们可能需要帮助,但又无法接入互联网。在这种可怕的状况下,man 能够帮助大家脱离困境。
事实上,man 命令就是 manual,即手册的缩写,能够将存储在计算机内的信息以“在线”方式进行命令文档显示。如果大家需要了解 chmod 的作用,只需要在终端内输入 man chmod 即可。另外,大家可以使用上下箭头或者 PgUp 及 PgDn 键进行 man 翻页。阅读完成后,按下 Q 即可退出。
ls 命令的手册页面
尽管 man 能够在缺少互联网的情况下带来巨大帮助,但谷歌仍然是最强劲的资源获取利器。需要指出的是,谷歌搜索结果中首先显示的其实就是像 man 页面这样的网页版说明。
当然,今天介绍的五条命令只是个开始,大家还需要学习更多命令,从而更好地了解自己的 Linux 系统。虽然在图形化界面中能够通过多种方式完成任务,但控制台命令仍是最为快捷的系统更新途径。
另外,控制台命令在显示错误信息时也具有独特的优势。这意味着当更新错误时,软件包发生故障时或者无法接入互联网时,命令行往往能够更好地解决当前困境。
总而言之,只要勤于练习,每个人都能够信心满满地运用终端命令,从而搞定工作与生活中的种种需要。