1、簡述rpm與yum命令的常見選項,并舉例
rpm命令:
rpm ?[OPTIONS] ?[PACKAGE_FILE]
安裝:-i, –install
升級:-U, –update, -F, –freshen
卸載:-e, –erase
查詢:-q, –query
詳細信息:-v, (更詳細信息-vv)
校驗:-V, –verify
數據庫維護:–builddb, –initdb
輸出進度條;每個#表示2%的進度: ?-h
示例:
rpm -ivh? ? zip.x86_64? ? #安裝zip包并顯示安裝進度和詳細信息
卸載:rpm -e ?[options] [filename]
–allmatches:卸載所有匹配指定名稱的程序包的各版本;
–nodeps:忽略依賴關系
–test:測試卸載,dry run模式
示例:
rpm -e zip? #卸載zip包
查詢:rpm {-q|–query} [select-options] [query-options]
[select-options]
PACKAGE_NAME:查詢指定的程序包是否已經安裝,及其版本;
-a, –all:查詢所有已經安裝過的包;
-f ?FILE:查詢指定的文件由哪個程序包安裝生成;
-p, –package PACKAGE_FILE:用于實現對未安裝的程序包執行查詢操作;
–whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個程序包提供;
–whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;
[query-options]
–changelog:查詢rpm包的changlog;
-l, –list:程序安裝生成的所有文件列表;
-i, –info:程序包相關的信息,版本號、大小、所屬的包組,等;
-c, –configfiles:查詢指定的程序包提供的配置文件;
-d, –docfiles:查詢指定的程序包提供的文檔;
–provides:列出指定的程序包提供的所有的CAPABILITY;
-R, –requires:查詢指定的程序包的依賴關系;
–scripts:查看程序包自帶的腳本片斷;
用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE, …
示例:
rpm -qa? ? ? ? ? ? ? ? #查詢所有已經安裝過的包
rpm -qi zip? ? ? ? ? #查詢安裝包zip相關的信息,版本號、大小、所屬的包組,等
rpm -qc zip.x86_64? ? ? #查詢指定的程序包zip提供的配置文件
rpm -qf /etc/yum.conf? ?#查詢此文件有那個安裝包生成的
yum命令的用法:
yum [options] [command] [package …]
顯示倉庫列表:
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] […] (重新安裝)
升級程序包:
update [package1] [package2] […]
downgrade package1 [package2] […] (降級)
查看yum事務歷史:
history
包組管理的相關命令:
* groupinstall group1 [group2] […]
* groupupdate group1 [group2] […]
* grouplist [hidden] [groupwildcard] […]
* groupremove group1 [group2] […]
* groupinfo group1 […]
示例:
yum repolist? ? ? #顯示可用倉庫列表
yum install zip.x86_64? ? #在線安裝zip包
yum list install? #顯示已經安裝的rpm包列表
yum history? ? ?#顯示安裝rpm包的事物歷史
2、自建yum倉庫,分別為網絡源和本地源
網絡源:
mv CentOS-Base.repo CentOS-Base.repo.bak? ? ? #備份repo倉庫文件
vim centos-network.repo? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #編輯新的網絡源repo
[base]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #輸入新的配置文件內容
name=CentOS-$releasever – Base
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
本地源:
mount -rt /dev/cdrom /media/cdrom? ? ? ? ? ? ? ? ? ?#掛載光盤至/media/cdrom下
vim centos-network.repo? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #編輯網絡源repo
[xen4centos]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#在后面輸入新的配置文件內容
name=Xen 4 CentOS 6
baseurl=file:///media/cdrom
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
yum repolist? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#檢查xen4centos是否加入進來
3、簡述at和crontab命令,制定 每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00
at命令:
at [OPTION]… TIME
TIME:
HH:MM [YYYY-mm-dd]
noon,midnight, teatime
tomorrow
now+#
UNIT:minutes, hours, days, OR weeks
at的作業有隊列,用單個字母表示,默認都使用a隊列;
常用選項:
-l:查看作業隊列,相當于atq
-f /PATH/FROM/SOMEFILE:從指定文件中讀取作業任務,而不用再交互式輸入;
-d:刪除指定的作業,相當于atrm;
-c:查看指定作業的具體內容;
-q QUEUE:指明隊列;
注意:作業執行結果是以郵件發送給提交作業的用戶;
cron命令:
用戶cron的配置格式:/var/spool/cron/USERNAME
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .—————- minute (0 – 59)
# | .————- hour (0 – 23)
# | | .———- day of month (1 – 31)
# | | | .——- month (1 – 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
注意:
(1) 每行定義一個cron任務,共6個字段;
(2) 此處的環境變量不同于用戶登錄后獲得的環境,因此,建議命令使用絕對路徑,或者自定義PATH環境變量;
(3) 郵件發送給當前用戶;
時間表示法:
(1) 特定值;
給定時間點有效取值范圍內的值;
注意:day of week和day of month一般不同時使用;
(2) *
給定時間點上有效取值范圍內的所有值;表“每..”
(3) 離散取值:,
在時間點上使用逗號分隔的多個值;
#,#,#
(4) 連續取值:-
在時間點上使用-連接開頭和結束
#-#
(5) 在指定時間點上,定義步長:
/#:#即步長;
注意:
(1) 指定的時間點不能被步長整除時,其意義將不復存在;
(2) 最小時間單位為“分鐘”,想完成“秒”級任務,得需要額外借助于其它機制;
定義成每分鐘任務:而在利用腳本實現在每分鐘之內,循環執行多次;
示例:
crontab -e
10 3,5 * * 3 /bin/date? +”\%Y-\%m-\%d \%H:\%M:\%S”
crontab -l
4、簡述sed常用操作命令,并舉例
sed [OPTION]… ‘script’ [input-file] …
script:地址定界編輯命令
常用選項:
-n:不輸出模式空間中的內容至屏幕;
-e script, –expression=script:多點編輯;編輯命令:
d:刪除;
p:顯示模式空間中的內容;
a \text:在行后面追加文本“text”,支持使用\n實現多行追加;
i \text:在行前面插入文本“text”,支持使用\n實現多行插入;
c \text:把匹配到的行替換為此處指定的文本“text”;
w /PATH/TO/SOMEFILE:保存模式空間匹配到的行至指定的文件中;
r /PATH/FROM/SOMEFILE:讀取指定文件的內容至當前文件被模式匹配到的行后面;文件合并;
=:為模式匹配到的行打印行號;
!:條件取反;
地址定界!編輯命令;
s///:查找替換,其分隔符可自行指定,常用的有s@@@, s###等;
替換標記:
g:全局替換;
w /PATH/TO/SOMEFILE:將替換成功的結果保存至指定文件中;
p:顯示替換成功的行;
示例:
sed -n? ‘2,6p’ /etc/fstab? ? ##輸出etc/fstab中2至6行
sed ‘2~2d’ /etc/fstab? ? ##刪除/etc/fstab中所有的偶數行
sed ‘2i\test test’ /etc/fstab? ? ##在/etc/fstab的第二行前面插入一行test test
sed ‘/^[^#]/w /tmp/fstab.new’ /etc/fstab? ?##將/etc/fstab中非#開頭的行都寫入到/tmp/fstab.new文件中
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/100852