文章目录
D1-软件包管理级shell命令学习笔记
dpkg相关命令
dpkg -i <package> :安装一个本地文件系统上存在的debian软件包
dpkg -r <package> :移除已安装的软件包
dpkg -P <package> :移除已安装的软件包以及配置文件
dpkg -L <package> :列出安装的软件包list
dpkg -s <package> :显示软件包的安装状态
dpkg 与apt软件包管理器区别
dpkg没有考虑软件的依赖包,需要自行准备依赖包
apt可以直接通过Internet安装,不用自行下载依赖包
apt软件包管理
apt-get subcommand
subcom | description |
---|---|
update | 更新软件包列表信息 |
upgrade | 将系统中所有软件包升级到最新的版本 |
install | 安装 (添加- -reinstall,则不需要下载,重新安装已经下载好的安装包) |
remove | 卸载 |
- -purge remove | 下载的同时还删除该软件包所使用的的配置文件 |
autoremove | 将不满足依赖关系的软件包自动卸载 |
source | 下载源码包 |
build-dep | 为源码包构建所有的编译环境 |
dist-upgrade | 发布版升级 |
dselect-upgrade | 根据dselect的选择进行软件包升级 |
clean | 删除缓存区中所有已下载的包文件 |
audoclean | 删除缓存区中老版本的已下载的包文件 |
check | 检查系统中依赖关系的完整性(apt-get check 和 apt-get -f install组合使用) |
apt-get install下载软件包四步:
step1:扫描本地存放的软件包更新列表(apt-get update命令更新该列表),找到最新的版本
step2:进行软件包依赖关系检查,找到支持该软件正常运行的所有软件包
step3:从软件源所指向的镜像站点中,下载相关包
step4:解压软件包,并自动完成应用程序的安装和配置
apt-cache subcommand
subcom | description |
---|---|
show | 获取软件包的详细信息:安装状态、优先级、版本 、依赖关系、功能描述等 |
policy | 查询软件包的安装状态(dpkg -s) |
depends | 查询软件包依赖于那些软件包 |
rdepends | 查询被那些软件包依赖 |
…
涉及的文件及作用
-/etc/apt/sources.list:软件源配置文件
-/var/lib/apt/lists/*:服务器资源列表的存放位置
-/var/cache/apt/archives:下载的软件的本地缓存目录
Shell命令
shell:是一个命令行解释器
shell脚本:当需要重复执行若干命令,可以将这些命令集合起来,加入控制语句,编辑成为shell脚本文件,交给shell批量执行
shell命令格式
shell命令提示符:username@hostname:direction$
在提示符后面输入命令后按enter健,完成想系统提交命令
shell中的特殊字符
通配符
file_*.txt: 匹配0个或多个任意字符,如file_ajkd.txt、file_bdaf.txt
file_?.txt: 匹配1个字符,如file_a.txt、file_b.txt
file_[abc].txt: 匹配file_a.txt、file_b.txt不匹配file_d.txt
file_[-].txt: 匹配范围,如file_[a-z]
file_[^…].txt: 匹配除了…以外的,例如:file_[^abc],匹配file_1.txt, 不匹配file_.txt、file_abdfdc.txt、file_a.txt
管道
可以把一系列命令链接起来,第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又作为第三个命令的输入。。。
可以结合grep进行搜索,如
ps -ef | grep bash
输入输出重定向
重定向符 | 含义 | 说明 |
---|---|---|
>file | 新建模式 | 若没有file,则新建;若已有file,则替换原来的file |
>>file | 追加模式 | 若没有file,则新建;若已有,则追加到file |
<file | 将file文件重定向为输入源 | wc<file,将file中的内容作为输入传给wc命令 |
2>或&> | 将由命令产生的错误信息输入到文件中 | ls noexistingfile.txt 2>err.log,使用ls命令查看一个不存在文件时,将系统错误提示信息打印到err.log中(&> 不管是正确的还是错误 的都存进去) |
命令置换
command1 `command2`
`cmd`等价于&(cmd)
如:
echo "Today is `date`"等价于
echo “Today is $(date)”
D2-Shell命令
shell命令
man
包含以下几个部分内容:
-NAME:命令名称
-SYNOPSIS:语法格式
-DESCRIPION:描述
-OPTIONS:描述命令所有的参数和选项
-SEE ALSO:列出与该命令直接相关或功能相近的其他命令
-BUGS:存在的已知问题
-EXAMPLES:usage
-AUTHORS:作者
passwd
passwd:修改用户自身密码
sudo passwd:修改超级用户密码
sudo passwd u1:修改u1的密码