Linux 知识库(3)- 命令行和包管理
命令行(Command Line Interface)介绍
为什么要使用命令行?- 对于系统管理员以及开发人员,熟练使用命令行要比操作图形界面的效率高很多!
如何打开命令行?- 在 ubuntu 的图形桌面窗口,单击鼠标右键弹出菜单,点击"Open in Terminal"。如果经常使用命令行,则用快捷键打开会更加方便。如在 ubuntu 中的快捷键为 ctrl+alt+t。更多快捷键可以参考这篇文章:https://zhuanlan.zhihu.com/p/32878307
命令行窗口打开后,在闪烁的光标位置前面会有一串提示符,类似于username@machine-name:~$
。其中 username 就是当前登录的用户名,如 tom,而 machine-name 就是计算机名,如 linux-ubuntu-vm;~符号表示当前路径为用户的主目录,如/home/tom
;$符号表示这是一个普通用户。如果当前为 root 用户,则该符号为 #。
下面我们仅列出部分常用命令作为参考,更多的命令和进阶技巧在网上有大量的资料,如有需要请自行搜索查找。
pwd
- 显示当前所在路径
ls
- 显示当前路径下的子目录和文件
cd
- 切换路径。注意执行完该命令行,提示符里的路径符号也会随之变化
mkdir
- 创建目录
touch
- 新建文件
rm
- 删除文件或者目录
如何安装和卸载软件 - Package Manager
在 Windows 系统中,我们通常使用安装程序进行软件安装;而在 Linux 中,我们通常使用包管理器(Package Manager)来安装软件。这一点跟 Windows 的差别很大。
大部分 Linux 应用软件被存放在一些官方认证的、公开的仓库(repositories)中进行管理。使用 Package Manager 安装一个软件时,它会从这些仓库中进行查找,找到后下载安装包,并负责将所需的缺失依赖项(即系统中没有的)一并下载进行安装。在安装时会把不同的文件分放到不同的目录,如/usr/bin
和/usr/lib
;同理,当使用 Package Manager 卸载软件时,它也会将相应的文件删除。
在 Ubuntu 上安装软件
不同的 Linux 发行版提供的包管理器也不尽相同,接下来我们介绍 Debian 系列的 ubuntu 发行版中常用的 3 种包管理器。
APT - Advanced Packaging Tool
Debian 系列发行版自带的 Packet Manager 是 apt,相应的主流软件仓库地址保存在/etc/apt/sources.list
文件中,你也可以用命令自行添加仓库地址。
执行 apt 命令需要 super user 权限
可以用sudo apt search <package name>
来查找你想安装的软件,这将返回一个所有可用仓库和版本的列表。另一个更为简单的方法时,直接在终端里执行你想安装的软件,系统会直接给出安装提示。在终端上执行sudo apt install <package name>
来进行软件安装。如果想要卸载一个程序,则需要在终端上执行sudo apt remove <package name>
。
APT-GET
ubuntu 系统中还自带另一个类似的命令可以完成软件安装,这就是 apt-get。
apt-get 的命令选项功能不如 apt 丰富,而且安装过程也不如 apt 友好,因此推荐使用 apt。
其它安装方法
上面提到的两种都是系统自带的包管理器,此外,我们还可以使用以下几种方法来安装软件
Ubuntu Software Center
这是一个图形化的软件安装平台,类似于苹果的 App Store 和 Windows 的 Microsoft Store。如果一些软件在 apt 的 repositories 里面没有,可以在这里尝试查找安装。使用起来非常直观,容易上手。
Snap Package Manager
除了 apt 和 apt-get 这两个系统自带的包管理器,我们还可以使用第三方提供的 Snap 包管理器。Snap 和 apt 的区别在于,它不对安装包做任何的分割,也就是程序的所有文件都会安装在一个地方。因此对于一些可重复使用的库,就会有冗余,造成对存储空间的浪费。Snap 有自己的软件仓库 Snap Store,为用户提供下载和上传。另外,Snap 可以在任何的 Linux 发行版上使用,而不仅限于 Ubuntu。它还提供软件自动更新功能。
Add Repository to official list of repos
有时你想安装一些很新的软件,或者已有软件尚未发布的新版本,但它们还没有被添加到官方仓库中时,可以使用这种方法。在终端执行
sudo add-apt-repository <repository-url>
,就可以把软件所在的仓库添加到/etc/apt/sources.list
中。值得注意的是,这类软件没有经过官方测试认证,因此可能存在安全风险。
尽可能使用 apt 进行软件安装
Linux 其它系列的包管理器
Redhat 系列的包管理器是 yum
Arch 系列的包管理器是 Pacman
评论