格式說明:
操作
概念
命令
說明及舉例
十二.文件查找和壓縮、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
練習
12
3
4
56
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.www58058.com/39201