每位新人必须掌握的五大Linux终端命令

有时候,我们不可避免地要使用终端,但它绝对没有大家想象中那么可怕。

每位新人必须掌握的五大Linux终端命令

Tux,Linux吉祥物

我个人是《新世纪福音战士》的铁粉,因此这里引用一句台词:“人们畏惧黑暗,因此努力在其中刻画火焰的轮廓。”对于很多Linux新人来说,终端那阴沉的屏幕同样是种黑暗——因此人们拼命利用GUI加以替代。

虽然图形化用户界面确实代表着现代计算友好的一面,且在多数情况下更易于使用。然而,有时命令行仍然拥有它的独特优势。只要拥有一些基本知识,大家就能够在用户界面无法启动或者需要进行维护时,运用命令行这一利器轻松解决问题。

对于初学者,只要掌握以下五条命令,即可轻松玩转Linux。

1. sudo

如果说命令也分阶级的话,那么最值得尊重的无疑是sudo。Sudo的作用非常简单:它将以超级用户(或者root)权限运行任何命令。无论是更新系统还是变更配置文件,配合sudo运行命令都是必不可少的。

每位新人必须掌握的五大Linux终端命令

由于/mnt从属于root,因此大家需要利用sudo方可在/mnt中创建目录。

Sudo还允许用户破坏系统或者查看其他用户的隐私。正因为如此,在初次使用sudo时,系统会给出以下提示:

我们相信您已经从本地系统管理员处获得了常规指导。具体内容通常归结为以下三点:

(1)尊重他人隐私。

(2)输入前,再三斟酌。

(3)能力越大,责任越大。

如果大家希望在自有用户的主目录之外编辑或者修改任何文件,那么往往需要使用sudo。要使用sudo,您的用户需要位于sudoers文件内或者作为超级用户群组(通常为‘wheel’或者‘sudo’)中的一员。

每位新人必须掌握的五大Linux终端命令

上图为一个典型的sudoers文件内容,其中指定了允许执行root访问的各组。请注意,不要为无需密码的用户或者分组分配sudo访问权限。

由于sudo能量巨大,因此如果不清楚命令的具体作用,千万不要随意添加sudo。可能很多朋友都听说过sudorm–R /这条恶作剧命令,它会以递归方式删除系统上的每一个文件,且操作系统不会额外进行任何提示。所以正如之前提到,“输入前再三斟酌。”

2.软件包管理器工具(yum、apt或者pacman)

使用sudo的头号理由就是需要通过软件包管理器向PC内添加或者删除程序。尽管这里提到的三大主要软件包管理器各自拥有不同的命令参数与语法,但它们都能够实现同样的三项基本功能:安装软件包、删除软件包、升级系统上所有软件包。(注意:除非您以root用户登录,否则您需要添加sudo以运行这些命令。)

每位新人必须掌握的五大Linux终端命令

在Arch Linux上利用pacman进行系统升级。请注意,在pacman命令前使用sudo。

  1. yum (红帽/Fedora/CentOS) 

安装软件包:

  1. yum install <package> 

移除软件包:

  1. yum remove <package> 

升级系统:

  1. yum update  
  2. apt (Debian/Ubuntu/Mint) 

安装软件包:

  1. apt install <package> 

移除软件包:

  1. apt remove <package> 

升级系统:

  1. apt update  
  2. apt upgrade  
  3. pacman (Arch/Manjaro) 

安装软件包:

  1. pacman -S <package> 

移除软件包:

  1. pacman -R <package> 

升级系统:

  1. pacman -Syu 

各软件包管理器的功能当然不止于此,不过这里列出的是大家最为常用的三项功能。无论您选择哪一种Linux发行版,都应该能够熟练掌握软件包管理器的使用方式,并了解在哪里可以找到说明文档。

3. systemctl (Systemd)

长久以来,Linux中的后台程序——即守护程序——会使用一系列名为initscripts的脚本。对于新人,initscript往往难于阅读以及解释或者修改。最近,initscript已经被一项名为Systemd的服务管理应用所取代。如果大家使用的是较新的Linux发行版,那么正合适了解如何利用Systemd启动您需要的服务。

每位新人必须掌握的五大Linux终端命令

在引导时禁用及重新启用NetworkManager服务

能够利用Systemd实现的功能多种多样(Unix程序则通常只专注于一项功能,并把它做到极致),然而,大家在使用systemd时仍应考虑以下五个关键词。

启动服务时,使用start关键词:

  1. systemctl start <service name

同样的,如果需要对发生故障的服务进行重启,或者变更其配置,则使用restart:

  1. systemctl restart <service name

要停止服务,使用stop:

  1. systemctl stop <service name

要在引导时启用每项服务,则使用enable:

  1. systemctl enable <service name

最后,利用disable禁止服务在引导时启动:

  1. systemctl disable <service name

4. ls

虽然简单且直观,但ls的作用却超乎大家的想法。就效果而言,ls命令能够列出特定路径下的全部文件与文件夹。在默认情况下,它会列出当前工作目录(通常为用户主目录)中的文件与文件夹。当然,大家也可以利用它查找特定路径下的内容。

每位新人必须掌握的五大Linux终端命令

大家可以为ls命令添加多种选项,其中最常用的是-l,它会显示文件权限与归属。

那么,作为Linux版本的dir,为什么ls拥有如此重要的作用?先提一点,它能够帮助大家查找配置文件中的子目录。它还能够在无需GUI的前提下,查看某一环境下的文件名。由于Linux文件名与命令具备大小写敏感特性,因此它能够轻松了解确切的拼写方式。总之,大家可以将ls作为自己的侦察机,用于探索周边系统。

5. man

有时候,我们可能需要帮助,但又无法接入互联网。在这种可怕的状况下,man能够帮助大家脱离困境。

事实上,man命令就是manual,即手册的缩写,能够将存储在计算机内的信息以“在线”方式进行命令文档显示。如果大家需要了解chmod的作用,只需要在终端内输入man chmod即可。另外,大家可以使用上下箭头或者PgUp及PgDn键进行man翻页。阅读完成后,按下Q即可退出。

每位新人必须掌握的五大Linux终端命令

ls命令的手册页面

尽管man能够在缺少互联网的情况下带来巨大帮助,但谷歌仍然是最强劲的资源获取利器。需要指出的是,谷歌搜索结果中首先显示的其实就是像man页面这样的网页版说明。

总结

当然,今天介绍的五条命令只是个开始,大家还需要学习更多命令,从而更好地了解自己的Linux系统。虽然在图形化界面中能够通过多种方式完成任务,但控制台命令仍是最为快捷的系统更新途径。

另外,控制台命令在显示错误信息时也具有独特的优势。这意味着当更新错误时,软件包发生故障时或者无法接入互联网时,命令行往往能够更好地解决当前困境。

总而言之,只要勤于练习,每个人都能够信心满满地运用终端命令,从而搞定工作与生活中的种种需要。

原文标题:5 terminal commands every Linux newbie should know,作者:Alex Campbell

相关推荐