格式说明:
操作
概念
命令
说明及举例
十二.文件查找和压缩、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

