格式说明:
操作
概念
命令
说明及举例
十二.文件查找和压缩、rpm包管理、yum、while循环、until循环
tar
tar -zcvf /testdir/etc.tar.gz /etc/ 备份etc创建etc.tar.gz文件 压缩为gz格式 显示过程 tar -jcvf /testdir/etc.tar.bz2 /etc/ 备份etc创建etc.tar.bz2文件 压缩为bz2格式 显示过程 tar tvf /testdir/etc.tar 预览 tar xvf /testdir/etc.tar.xz 解压缩到当前目录 tar xvf /testdir/etc.tar.xz -C /testdir/ 指定解压缩的目录
cpio 复制 从或到文件
-o 将文件拷贝打包成文件或将文件输出到设备上 -i 解包 -t 预览 -v 显示过程 -d 解包生成目录 -c
for,while.until
for
for 变量名 in 列表;do 循环体 done
1
for id in 1 2 3 4 5
do
echo "the number is $id"
done
2
for file in /root/bin/.sh
do
echo "the filename isbasename $file
"
done
3
for arg in "$"
do
echo "the arg is $arg"
done
练习
1
2
3
4
5
6
while
while 条件;do 循环体 done
练习
1
2
3
4
until
until 条件;do 循环体 done
break 退出循环
continue 结束当此循环
rpm包管理
安装
rpm {-i|--install} [install-options] PACKAGE_FILE… -v: verbose -vv: -h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE ... -q 查询 -ql 查看某个包安装后文件储存路径 [install-options] --test: 测试安装,但不真正执行安装;dry run模式 --nodeps:忽略依赖关系 --replacepkgs| replacefiles 重装覆盖包(包名一样)|覆盖个别文件(包命不一样) --nosignature: 不检查来源合法性 --nodigest:不检查包完整性 --noscipts:不执行程序包脚本片断 %pre: 安装前脚本;--nopre %post: 安装后脚本;--nopost %preun: 卸载前脚本;--nopreun %postun: 卸载后脚本;--nopostun
升级
rpm {-U|--upgrade} [install-options] PACKAGE_FILE... rpm {-F|--freshen} [install-options] PACKAGE_FILE... upgrade:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则“安装” freshen:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则不执行升级操作 rpm -UvhPACKAGE_FILE ... rpm -FvhPACKAGE_FILE ... --oldpackage:降级 --force: 强行升级
查询
rpm {-q|--query} [select-options] [query-options] [select-options] -qa: 所有包 -qf: 查看指定的文件由哪个程序包安装生成 -qp rpmfile:针对尚未安装的程序包文件做查询操作; --whatprovidesCAPABILITY:查询指定的CAPABILITY 由哪个包所提供 --whatrequiresCAPABILITY:查询指定的CAPABILITY被哪个包所依赖 -ql +包名:已经装了,看装到哪 -qpl +包名:包没装的时候查看如果装,会装到哪 rpm2cpio 包文件|cpio–itv预览包内文件 rpm2cpio 包文件|cpio–id “*.conf”释放包内文件 [query-options] --changelog:查询rpm包的changelog -c: 查询程序的配置文件 -d: 查询程序的文档 -i: information -l: 查看指定的程序包安装后生成的所有文件; --scripts:程序包自带的脚本片断 -R: 查询指定的程序包所依赖的CAPABILITY; --provides: 列出指定程序包所提供的CAPABILITY;
卸载
-e
包校验
rpm {-V|--verify} [select-options] [verify-options] S file Size differs M Mode differs (includes permissions and file type) 5 digest (formerly MD5 sum) differs D Device major/minor number mismatch L readLink(2) path mismatch U User ownership differs G Group ownership differs T mTimediffers P capabilities differ
导入检测工具后具有检测能力
导入所需要公钥:
rpm -K|checksigrpmfile检查包的完整性和签名 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7 rpm -qagpg-pubkey*
rpm数据库
数据库重建:
/var/lib/rpm rpm {--initdb|--rebuilddb} initdb: 初始化 如果事先不存在数据库,则新建之 否则,不执行任何操作 rebuilddb:重建
无论当前存在与否,直接重新创建数据库
yum
YUM: YellowdogUpdate Modifier,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具
yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
文件服务器:
ftp://
http://
file:///
yum配置文件
yum客户端配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向的定义:
[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0} 是否启用
gpgcheck={1|0} 检测合法性
gpgkey=URL 可以直接把密钥路径写在这里,就不用导入了 enablegroups={1|0}
failovermethod={roundrobin|priority}
默认为:roundrobin,意为随机挑选;
cost= 默认为1000
命令
显示仓库列表:
repolist[all|enabled|disabled]
显示程序包:
list # yum list [all | glob_exp1] [glob_exp2] [...] # yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:
install package1 [package2] [...] reinstall package1 [package2] [...] (重新安装)
练习
1.打印等腰三角形
until练习
2.猜字
原创文章,作者:自己泡面,如若转载,请注明出处:http://www.178linux.com/39201