學習筆記(9)

學習筆記(9)

1.find ./ -maxdepth 1 -name ‘test’ -ls ?注意–maxdepth的位置,放在命令的尾部會有警告
2.find /etc -regex “/etc/.*passwd” ?find中使用正則表達式匹配時,匹配的是整個路徑而非文件名稱,而使用文件統配符的時候是匹配的文件名
? # find / -iname “[^[:lower:]][^[:lower:]][^[:lower:]][^[:lower:]][^[:lower:]][^[:lower:]][^[:lower:]].txt”
? # find / -iname “[a-z][a-z][a-z][a-z][a-z][a-z][a-z].txt” 使用[a-z] 會匹配大寫字母的文件名
? 因為a-z匹配的是a A b B ….z,如果匹配的是大小寫字母的則使用[a-Z]
3.find 中的大小的常用單位: k, M, G, c(bytes)
4.grep:文本搜索工具,根據用戶指定的“模式”對目標文本逐行進行匹配檢查;打印匹配到的行(注意是打印出的是匹配到的行)
5.只有在tr的時候才使用[:alpha:] 類型的表達,其余的都是[[:alpha:]] ,因為 tr ‘a-z’ ‘A-Z’ 表示的就是單一一個字符,所以使用[a-z],注意 tr只能使用重定向或管道來接受處理的文件內容,不能直接接文件來處理如 tr ‘a-z’ ‘A-Z’ file 這樣是錯誤的
6.grep -w 匹配的單詞是數字、字母、下劃線混合的,而非空格分隔的
7.vim 刪除時使用g作為全文檔,如刪除所有空格 :g/^$/d,選擇替換的時候使用 % 作為全文檔
8.vim 中使用的是標準的正則表達式
9.sed -n ‘n;p’ 打印偶數行
10.seq 10 | sed ‘1!G;h;$!d’ ?倒序輸出(tac)
11.sed 示例 文字說明
12.程序包的noarch表示與系統平臺無關,適用于x86_64,同樣適用于i686
13.ls *.rpm | sed -r ‘s@.*\.([^.]+)\.rpm$@\1@’|sort |uniq -c
? ?ls *.rpm |rev |cut -d. -f2|rev|sort|uniq -c
? ?ls *.rpm |grep -Eo ‘\.[^.]+\.rpm$’|cut -d. -f2|sort|uniq -c
14.seq 1 10 | sed ‘N;s/\n//’
? ?seq 1 10 | xargs -n 2
15.sed 進階
P:打印模式空間開端至\n內容,并追加到默認輸出之前
h: 把模式空間中的內容覆蓋至保持空間中
H:把模式空間中的內容追加至保持空間中
g: 從保持空間取出數據覆蓋至模式空間
G:從保持空間取出內容追加至模式空間
x: 把模式空間中的內容與保持空間中的內容進行互換
n: 讀取匹配到的行的下一行覆蓋至模式空間
N:讀取匹配到的行的下一行追加至模式空間
d: 刪除模式空間中的行
D:如果模式空間包含換行符,則刪除直到第一個換行符的模式空間中的文本,并不會讀取新的輸入行,而使用合成的模式空間重新啟動循環。如果模式空間不包含換行符,則會像發出d命令那樣啟動正常的新循環
? ? sed -n ‘n;p’ FILE ? #打印偶數行
sed ‘1!G;h;$!d’ file ? #倒序輸出
sed ‘N;D’ FILE ? #打印最后一行
sed ‘$!N;$!D’ FILE ? ? ?#但因最后兩行
sed ‘$!d’ FILE #打印最后一行
sed ‘G’ FILE #在每一行的下面追加一個空行
sed ‘g’ FILE #將每一行的內容用空行替換
sed ‘/^$/d;G’ FILE #將多個空行合并成一個空行
sed ‘n;d’ FILE ? ? #只保留奇數行
sed -n ‘1!G;h;$p’ FILE ?#倒序輸出
16.軟連接相對路徑
17.tar xvf 不需要指定zj,可以通過后綴名自動解壓縮
18.做詞尾錨定的時候,多個單詞的詞尾錨定不需要使用括號錨定單詞,如\< \>
19.修復圖文
20.ldconfig -p 查看系統中已經加載的庫
21.rpm -qp –scripts httpd…
22./var/lib/rpm/* 安裝rpm包之后的記錄 是否安裝是否未安裝(重要) 刪除后無法安裝,無法查詢包是否安裝
23.自己制作rpm包
24.rpm -e vsftpd(軟件名) 卸載程序包
25.rpm -i –test 測試安裝
26.rpm –replacepkgs 重新安裝
27.rpm –import RPM-…Centos-6 導入公鑰
28.rpm -ivh –force ?包名 對已經安裝的軟件包再次強制重新安裝
29.對程序包做升級后修改過的相同的配置文件不會覆蓋,新的配置文件會命名為FILENAME.rpmnew
30.rpm -q 包名(不是文件名)要求包名準確
? ?rpm -qa | grep vsftp 可以模糊查詢
? ?rpm -qa *vsftp* ? 支持模糊匹配
31.rpm -qf /etc/passwd 查詢文件來自于哪個程序包,即便文件刪除也會查詢到,/var/lib/rpm文件中已經保存了rpm元數據的數據庫,所以即便文件刪除也會查詢到
32.rpm -ql ?包名 ?查詢已安裝程序包的的文件信息
33.rpm -qpl ?*.rpm ?查詢未安裝的程序包的信息
34.rpm -q –whatprovides ?tree 查詢已安裝的程序由那個程序包提供
? ? ? ? ? –whatrequires ? 查詢被依賴
35.rpm2cpio *.rpm | cpio -idv ?文件(指定需要解壓縮的文件,注意解壓縮之后文件屬性是否滿足要求)
36.rpm -qi 已安裝程序包 ? 可以查看到包信息以及官網信息
37.rpm -qR 查詢包依賴
38.all-matches 卸載所有版本,在相同程序存在多個版本時可以一切卸載所有版本
39.rpm -V 程序名 查詢程序的屬性是否發生變化
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 mTime differs
P capabilities differ
40.rpm -K ?校驗需要使用的安裝包是否改變
? echo >> tree-1.6.0-10.el7.x86_64.rpm
? rpm -K tree-1.6.0-10.el7.x86_64.rpm ? 查詢安裝包是否發生改變
41./etc/rpm-gpg/RPM… 公鑰(光盤的在根目錄下)
42.rpm -qa “gpg-pubkey*”” 導入后公鑰后生成的
43.rpm -ql rpm ? rpm -qf rpm
44.rpm2cpio …|cpio -idv file(包內文件)
45.救援模式
46.mount /dev/sro /mnt/cdrom ?df
47.rpm -ivh **** –root=/mnt/sysimage ?救援模式使用
? ?由于是光盤啟動的系統,所以需要將根路徑指定成/mnt/sysimage,因為真正的系統是被掛載在/mnt/sysimage上的
48.危險的操作有: 1. 修改所有文件權限 chomd -R 000 / ,2. 刪除/var/lib/rpm 因為刪除rpm數據庫,系統將無法獲知rpm軟件是否被安裝或被刪除會導致rpm無法正常使用,
? ?3.rm -rf /* ?刪除更目錄下面的所有文件
49.yum 緩存的是元數據,不刪除,下載的rpm包安裝完后刪除,多個yumServer相同軟件安裝最新,先訪問緩存后下載rpm包
50.vim /etc/yum.conf
? ? [main]
cachedir=/var/cache/yum/$basearch/$releasever ? #metadata緩存路徑
keepcache=0 ? ? #是否緩存rpm包,1為保存
debuglevel=2
logfile=/var/log/yum.log ? # 日志路徑
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
51. 光盤中的repodata 目錄存放的是元數據信息
[base] ? ?#名字不要有空格
name= centos cdrom
baseurl=file:///mnt/cdrom ? ?#repodata的父目錄就是倉庫路徑(即repodata所在的目錄),mnt前面的/是根
gpgcheck=0 ? 未import公鑰,所以不校驗
[epel]
name=epel
baseurl=htp://172.20.0.1/epel/7/x86_64/
? ? ? ?file:///mnt/cdrom ?#容錯
gpgcheck=1 校驗完整性
gpgkey=file:///mnt/cdrom/RPM-GPG-… 指定key文件
enabled=0 禁用yum源
52.yum install httpd 中的d 是只下載的不安裝
53.yum repolist 查看有本地多少倉庫,及倉庫中的rpm包
? ?yum repolist all 顯示所有包括禁用的倉庫
? ?yum repolist disabled 顯示禁用的倉庫
54.yum clean all 清空緩存 (/var/cache/yum)
55.yum list 查看所有的倉庫中的rpm包 帶@符號的均是安裝完成的
@anaconda 安裝系統時使用anacoda中安裝
@base 使用base源安裝的
@epel epel安裝
56.sl -a 使用yum 安裝 epel中
57.yum remove sl ?卸載程序包
58.baseurl 可以寫多個,可以容錯,也可以將多個baseurl放到文件中mirrorlist,并使用mirrorlist=file://root/mirrolist
59.cost值越小優先級越高
60.yum install autofs 神奇文件夾
? ?yum start autofs
? ?yum enable autofs
61.yum-config-manager –add-repo=http://…
62.glob 通配符,pattern 正則
63.yum底層使用的依然是rpm,所以rpm如果使用不了,yum也不能使用。
64.卸載程序不卸載依賴包(默認)
65.yum history list num
? ?yum history info num
66.yum history undo num
67.yum install *.rpm 可以解決依賴關系,而不需要創建yum源
68.yum grouplist 顯示包組
69.yum -y -q 靜默模式 要分開寫不能合并,可以在腳本中使用做安裝判斷
70.createrepo /data 自定義yum倉庫,/data指定包含有rpm包的倉庫
71.搭建yum倉庫服務器
72.支持http https ftp協議格式 file(本地) ?yum倉庫
73.httpd.service rpm -ql 中存在httpd.service ?服務名就是httpd
74.添加光驅并掃描識別:
? ?echo ‘- – -‘ >> /sys/class/scsi_host/host2/scan
? ?echo ‘- – -‘ >> /sys/class/scsi_host/host0/scan
75.搭建yum http: centos6 centos7
76.yum倉庫中可用的變量
? ?$releasever (release version 發布版本)
? ?$arch ? ?平臺,i386,i486,i586,x86_64等
? ?$basearch ?基礎平臺

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96810

(0)
滌生滌生
上一篇 2018-04-22 17:38
下一篇 2018-04-22 17:56

相關推薦

欧美性久久久久