linux命令行与shell脚本大全——学习笔记(9-10章)
linux命令行与shell脚本大全——学习笔记(9-10章)
- 第九章 安装软件
- 基于debian的系统
- dpkg
- apt
- 指定源
- 基于Redhat的系统
- dnf
- 容器管理
- snap容器
- flatpak容器
- 从源代码安装
- 第10章 文本编辑器
- vim
- nano
- emacs
第九章 安装软件
基于debian的系统
dpkg
命令 | 作用 | 额外补充 |
---|---|---|
dpkg -L acl | 列举出acl包下安装的所有文件 | |
dpkg --search /bin/getfacl | dpkg -L acl的反向操作,找到文件所属的包 |
apt
命令 | 作用 | 额外补充 |
---|---|---|
apt --installed list | 确认已安装的包 | |
apt search package_name | 查找安装包 | 可以只搜索名称相关:apt --names-only search zsh |
apt upgrade | 所有已安装的包升级到最新版本 | 如果必须删除某个软件包才能升级,使用apt full-upgrade |
apt remove package_name | 移除已安装的包 | 若要将软件包相关的数据和配置全部清除,使用: sudo apt purge zsh |
deb (or deb-src) address distribution_name package_type_list | 指定仓库源 | 有具体的语法 |
指定源
使用以下结构来指定仓库:deb (or deb-src) address distribution_name package_type_list
参数/名称 | 作用 | 额外补充 |
---|---|---|
deb (or deb-src) | deb表明这是一个已编译程序的仓库源,而deb-src表明这是一个源代码的仓库源 | |
address | 软件仓库的网址 | |
distribution_name | 该软件仓库的发行版的版本名称 | 例如:focal |
package_type_list | 表明仓库里面有什么类型的软件包 | 可能并不止一个单词,可能会在其中看到如main、restricted、universe或partner这样的词 |
基于Redhat的系统
和基于Debian的发行版类似,基于Red Hat的系统有以下几种前端工具:
(1)yum:用于Red Hat、CentOS和Fedora
(2) zypper:用于openSUSE
(3)dnf:yum的升级版,有一些新增的特性
上述前端全部基于命令行工具rpm
dnf
命令 | 作用 | 额外补充 |
---|---|---|
dnf list installed | 列举出已安装的软件包 | 等于dnf --installed list |
dnf provides file_name | 找出文件系统中的某个文件是由哪个软件包安装的 | |
dnf install package_name | 安装 | |
dnf list upgrades | 列举出所有可以更新的包(同样debian可以使用apt list upgrades ) | |
dnf upgrade package_name | 某一个包升级 | |
dnf upgrade | 升级所有包 | |
upgrade-minimal | 升级到最新的bug修复版或安全补丁版,而不是最新的最高版本 | |
dnf remove package_name | 卸载软件 | |
dnf repolist | 查看当前拉取软件的仓库 |
容器管理
snap容器
命令 | 作用 | 补充 |
---|---|---|
snap version | 查看版本 | 顺便可以看是否运行 |
snap list | 查看已安装的容器列表 | |
snap find solitaire | 搜索snap软件 | |
snap info solitaire | 查看snap应用的详细信息 | |
snap install solitaire | 安装新的snap | 安装snap需要root权限或sudo命令 |
sudo snap remove solitaire | 删除snap |
flatpak容器
暂时没看到有在用,略过不学
从源代码安装
了解tar命令解包,后续编译(./configure和make等),实际上不需要学习
第10章 文本编辑器
vim
vim编辑器我已经非常熟悉,工作中经常使用。vim是vi的升级版,目前大多数linux已经内置了。这里直接列举一些可用于编辑缓冲区数据的命令,这些命令前全都可以加数字,表示执行多少次,例如dd是删除一行,可以100dd删除100行。
命令 | 描述 |
---|---|
x | 删除光标当前所在位置的字符 |
dd | 删除光标当前所在行 |
dw | 删除光标当前所在位置的单词 |
d$ | 删除光标当前所在位置至行尾的内容 |
J | 删除光标当前所在行结尾的换行符(合并行) |
u | 撤销上一个编辑命令 |
a | 在光标当前位置后追加数据 |
r char | 用char 替换光标当前所在位置的单个字符 |
R text | 用text 覆盖光标当前所在位置的内容,直到按下ESC键 |
nano
nano本身列举出了编辑操作的快捷键,无需学习
emacs
我查找了最新的centos,发现已经不再内置安装了,ubuntu虽然已内置安装,但也有vim,不再学习