1.基礎(chǔ)總結(jié)
2.Linux歷史
1.操作系統(tǒng):用來管理計算機硬件與軟件資源惑淳;也用來提供一個讓用戶與計算機能夠交互的操作界面。
2.Linux:Linux是一個操作系統(tǒng)饺窿,全稱是‘GNU'linux’歧焦,它是由托瓦茲開發(fā)的內(nèi)核與GNU項目的組件結(jié)合而成的一個支持多用戶、多線程肚医、多CPU的操作系統(tǒng)绢馍。
* Linux主要發(fā)行版本:
* Red het ——企業(yè)版,收費肠套,有問題有紅帽工程師技術(shù)支持
* CentOS ——社區(qū)版舰涌,免費,就是去掉Redhat里的收費組件和logo然后發(fā)行你稚,但有問題自己解決
* Ubuntu ——內(nèi)核版本高
* Debian ——安全性高
* Fedora ——有新的組件和新功能都會在Fedora上試運行
3.GNU:全稱是'GNU is not unix' ,是斯托曼1983年發(fā)起的組織瓷耙,又稱‘革奴計劃’,其目的是開發(fā)一個能夠替代‘unix’的能夠自由傳播的操作系統(tǒng)刁赖。
4.GPL:‘GNU通用公共許可協(xié)議’搁痛,并非是自由軟件基金會發(fā)表;GPL是一個開源協(xié)議乾闰,以GPL協(xié)議發(fā)表的程序落追,任何人有任意修改盈滴,任意傳播涯肩,任意發(fā)布的權(quán)利,但修改后必須開放源代碼巢钓。
2.目錄結(jié)構(gòu)
/bin:二進制可執(zhí)行文件的保存目錄病苗,普通用戶命令保存目錄(軟鏈接,指向/usr/bin)
/sbin:管理員可用的系統(tǒng)相關(guān)命令存儲目錄(軟鏈接症汹,指向/usr/sbin)
/lib:系統(tǒng)啟動與運行時所需的庫文件(軟鏈接硫朦,指向/usr/lib)
/lib64:系統(tǒng)啟動與運行時所需的64庫庫文件(軟鏈接,指向/usr/lib64)
/usr:系統(tǒng)文件目錄(第二層次目錄)
/usr/local:軟件安裝的目錄
/usr/bin
/usr/sbin
/usr/lib
/usr/lib64
/boot:存放系統(tǒng)啟動的相關(guān)文件
/dev:設備文件的保存目錄背镇,比如硬盤分區(qū) 光驅(qū)等
/dev/sd:硬盤分區(qū) sda sdb sdc
/dev/null:黑洞設備咬展,只進不出 /dev/random:生成隨機數(shù)的設備
/dev/zero:能取出源源不斷的數(shù)據(jù)
/etc:配置文件的保存目錄
/etc/sysconfig/network-scripts/ifcfg-:網(wǎng)絡配置文件
/etc/hostname:主機名稱的配置文件
/etc/resolv.conf: dns客戶端配置文件
/etc/hosts:本地域名解析的配置文件
/etc/fstab:設備開機自動掛載文件
/etc/rc.local:開機自啟動文件
/etc/profile.d:放置開機加載的腳本
/etc/motd:系統(tǒng)登陸提示信息
/home:普通用戶的家目錄
/media:可移動媒體的掛載點
/mnt:臨時掛載點
/opt:第三方軟件程序存儲目錄
/srv:存儲為用戶提供服務的數(shù)據(jù)
/proc:存放系統(tǒng)正在運行的程序 進程信息
meminfo:內(nèi)存情況
cpuinfo: cpu情況
loadavg:查看負載情況
mounts:掛載信息
/root :管理員家目錄
/run:正在運行的程序的pid和鎖文件存儲目錄
/sys:虛擬的文件系統(tǒng)泽裳,存放進程和內(nèi)核信息
/tmp:臨時文件存儲目錄
/var:存放系統(tǒng)執(zhí)行過程中經(jīng)常變化的文件,如日志和郵件等
/var/tmp:進程產(chǎn)生的臨時文件
/var/log:messages: 系統(tǒng)運行行為記錄文件
secure: 用戶登錄信息
dmesg:硬件加載情況日志文件
3.Linux shell
1.bash shell:bash shell 就是命令解釋器破婆,是操作系統(tǒng)的最外層涮总,負責將用戶輸入的命令翻譯給內(nèi)核,內(nèi)核處理后將結(jié)果再返回到窗口顯示給用戶祷舀。
2.bash shell 的作用:文件管理,用戶管理,權(quán)限管理,磁盤管理,軟件管理,網(wǎng)絡管理,等等...
3.bash shell 使用:
單條命令:效率低瀑梗,適合少量簡單的工作,shell script :shell 腳本,效率高裳扯,適合復雜重復性的工作
4.bash shell 基礎(chǔ)語法:
* command [-option] [arguments]
* 選項以'-'引導
* 選項和參數(shù)位置可以發(fā)生變化
5.bash shell 常用的特性:
* 命令補全:可以在輸入命令時用'TAB'鍵進行命令或路徑補全
* yum install -y bash-completion(下載軟件包)
* 快捷鍵:
* ctrl+l ——清屏
* ctrl+c ——終止當前前臺程序
* ctrl+z ——暫停當前前臺程序并轉(zhuǎn)入后臺
* ctrl+w ——以單詞向前刪除
* ctrl+a ——光標移動到命令開頭
* ctrl+e ——光標移動到命令結(jié)尾
* ctrl+u ——刪除光標前的所有內(nèi)容
* ctrl+k ——刪除光標后的所有內(nèi)容
* ctrl+b ——光標向前移動一位
* ctrl+f ——光標向后移動一位
* ctrl+r ——搜索歷史命令
* ESC+. ——復制上一條命令的結(jié)尾
* 命令別名:可以將較長的命令簡寫抛丽,可以將危險的命令重新定義
* 臨時設置:alias 別名='命令'
* 永久設置:將命令寫入配置文件
* 臨時取消別名:unalias 命令 或 \命令
* 查看歷史命令:history
* !編號:可以調(diào)取指定編號的歷史命令
* -c ——可以清除歷史命令
* -w ——可以將歷史記錄保存到.bash_history
* -d 編號 ——刪除指定編號的歷史命令記錄
* bash shell 幫助:可查看命令的詳細信息
* command --help
* man command
4.文件操作
1.查看文件
* ls ——查看目錄【例:ls dir】
* -l ——以長格式顯示文件信息
* -d ——查看目錄的信息而不查看目錄下內(nèi)容
* -h ——以人性化顯示文件信息饰豺,與-l 配合使用
* -t ——按修改時間排序
* -i ——顯示文件inode
* tree ——以樹形顯示目錄結(jié)構(gòu) 【例:tree -L 2 dir】
* -L ——指定顯示的層數(shù)
* -d ——只顯示目錄
* cat ——查看文件的內(nèi)容 【例:cat file】
* -n ——顯示行號
* -A ——顯示特殊符號(tab)
* less ——查看大文件的內(nèi)容亿鲜,上下鍵以行上下翻,空格下翻一頁冤吨,b上翻一頁狡门,q退出 【例:less file】
* more ——查看大文件的內(nèi)容,顯示百分比锅很;空格下翻一頁其馏,b上翻一頁,q退出 【例:more file】
* head ——查看文件內(nèi)容的前幾行爆安,默認十行 【head -5 file】
* -5 ——查看文件前五行內(nèi)容
* tail ——查看文件內(nèi)容的后幾行叛复,默認十行 【tail -5 file】
* -5 ——查看文件后五行內(nèi)容
* stat ——查看文件詳細屬性【例:stat file】
* file ——查看文件的類型 【例:file file】
2.創(chuàng)建文件
* mkdir ——創(chuàng)建目錄 【例:mkdir dir】
* -p ——遞歸創(chuàng)建目錄
* -v ——顯示創(chuàng)建過程
* touch ——創(chuàng)建文件 【touch file】
* ln ——創(chuàng)建硬鏈接 【例:ln 源文件 鏈接】
* -s ——創(chuàng)建軟連接
3.移動文件
* mv ——移動文件或目錄 【例:mv 文件 路徑】
* -i ——覆蓋前詢問
* -n ——不覆蓋已存在文件
* -t ——移動到指定目錄【例:mv -t 路徑 文件】
4.復制文件
* cp ——復制文件或目錄 【例:cp 文件 路徑】
* -r ——遞歸復制
* -a ——等于 -dpr
* -p ——復制文件屬性
* -d ——目標為鏈接文件時,復制為鏈接文件扔仓,指向相同文件
* -t ——指定路徑
* -v ——顯示過程
* -i ——覆蓋前詢問
5.刪除文件
* rm ——刪除文件 【例:rm file】
* -r ——遞歸刪除褐奥,刪除目錄
* -f ——強制刪除,不詢問
* -i ——刪除前詢問
6.搜索文件
* find ——按條件查找文件 【例:find 路徑 選項】
* -name ——按文件名稱查找
* -type ——按文件類型查找
* -mtime ——按修改時間查找
* -user ——按屬主查詢
* -group ——按屬組查詢
* -maxdepth ——最多查找?guī)讓?
* -mindepth ——從第幾層開始查找
7.排序翘簇、統(tǒng)計
* sort ——對文件內(nèi)容進行排序 【例 :sort file】
* -n ——按數(shù)字進行排序
* -r ——倒序
* -t ——指定間隔符
* -k——指定列
* -u ——去除重復行
* uniq ——去重撬码,與sort組合使用【例:sort file | uniq -c】
* -c ——統(tǒng)計重復項
* wc ——統(tǒng)計 【例:wc -l file】
* -l ——統(tǒng)計行數(shù)
8.截取字符
* cut ——截取文件中的字符串 【cut -d ':' -f 3 file]
* -d ——指定間隔符
* -f ——指定列
9.壓縮文件:
* zip ——將文件壓縮為zip壓縮包 【zip 壓縮包名 源文件】
* -r ——遞歸,壓縮目錄
* -q ——不顯示壓縮過程
* gzip ——只能壓縮文件版保,壓縮后刪除源文件【gzip 壓縮包名 源文件】
* tar ——將文件歸檔壓縮 【tar zcf 壓縮包名 源文件】
* -c ——創(chuàng)建新的壓縮包
* -v ——顯示壓縮過程
* -f ——指定包名
* -h ——壓縮鏈接文件的真實文件
* -z ——以gzip方式壓縮歸檔文件
* -j ——以bz2方式壓縮歸檔文件
* -J ——以xz壓縮歸檔文件
* -P ——留根
* --exclude ——壓縮時排除某個文件
* 【例:tar test.tar.gz --exclude file1.txt /dir】
* -X ——排除多個文件
10.解壓文件
* unzip ——解壓zip包 【例:unzip test.zip】
* -l ——不解壓查看壓縮包內(nèi)容
* -d ——指定解壓路徑
* -t ——查看壓縮包文件是否OK
* -T ——查看壓縮包是否完整
* gzip ——解壓gzip包 【gzip -d test.gzip】
* -d ——解壓gzip包
* tar ——解壓tar包 【tar -xf test.tar.gz】
* -tf ——不解壓查看壓縮包內(nèi)容
* -xf ——解壓tar包
* -C ——指定解壓路徑
5.VIM
1.vim:文本編輯器
2.普通模式:
* gg:光標移動到文件首行
* G:光標移動到文件尾行
* r:替換光標所在的位置
* R:進入連續(xù)替換
* yy:復制光標所在行
* P:粘貼
* dd:刪除光標當前行
* dG:刪除光標所在行到結(jié)尾的所有內(nèi)容
* ^:光標移動到行首
* $/0:光標移動到行尾
* x:刪除光標后一個字符
* u:撤銷
* ctrl+r:取消撤銷
* ctrl+b:上翻一頁
* ctrl+f:下翻一頁
3.編輯模式:
* i:光標所在處進入編輯
* I:光標移動到行首進入編輯
* a:光標所在后一位字符進入編輯
* A:光標移動到行尾進入編輯
* o:光標所在行下插入一行進入編輯
* O:光標所在行上插入一行進入編輯
* cc:刪除光標所在行所有內(nèi)容進入編輯
* C:刪除光標之后的內(nèi)容進入編輯
4.命令模式:
* set ic:忽略大小寫
* set nu:顯示行號
* set ai :自動縮進
* set list:顯示制表符
* nohl:取消高亮
* %s###g:替換整個文本
* n,ms###g:替換n行到m行
* q:退出不保存
* wq:保存并退出
* wN匦Α:強制保存狀態(tài)
* q!:強制退出
* wq3估纭:強制保存退出
* w /root :文件另存
5.視圖模式:
* shift+v :進入行模式
* d:刪除
* y:復制
* ctrl+v :進入塊模式
* d:刪除
* y:復制
* shift+i :進入編輯 ESC退出
6.VIM編輯文件時意外退出叫胁,可用-r恢復,恢復后刪除.file.swp文件汞幢。
6.用戶管理
1.查看切換用戶:
* id ——查看用戶信息【例:id name】
* su ——切換用戶 【例:su - name】
2.添加用戶:
* useradd:添加用戶 【useradd name】
* -u ——指定UID(默認組)
* -g ——指定GID
* -G ——指定用戶附加組
* -d ——指定家目錄
* -s ——指定登錄bash
* -r ——創(chuàng)建系統(tǒng)用戶驼鹅,默認沒有家目錄
* -M ——不創(chuàng)建家目錄
* -c ——備注信息
3.修改用戶信息:
* usermod:修改用戶信息 【例:usermod name -s /sbin/nologin】
* -u ——修改UID(默認組)
* -g ——修改GID
* -G ——修改用戶附加組
* -aG ——追加用戶附加組
* -s ——修改登錄bash
* -c ——修改備注信息
* -d ——修改家目錄
* -m ——移動用戶家目錄與-d一起使用
* -l ——修改用戶登錄名
* -L ——鎖定用戶
* -U ——解鎖用戶
4.刪除用戶:
* userdel ——刪除用戶 【例:userdel name】
* -r ——連同用戶家目錄一起刪除
5.添加組:
* newgrp ——用戶可切換基本組 【例:newgrp root】
* groupadd ——添加用戶組 【例:groupadd name】
* -g ——指定GID
* -r ——添加系統(tǒng)組
6.修改組信息:
* groupmod ——修改組信息 【groupmod name -g 1234】
* -g ——修改組GID
* -n ——修改組名
7.刪除組:
* groupdel ——刪除用戶組 【groupdel name】
8.修改密碼:
* passwd ——更改用戶密碼(只有root可以更改其他用戶的密碼)【例:passwd name】
* echo '123' | passwd --stdin name ——非交互修改密碼
* gpasswd ——組添加密碼
* -d ——把用戶從指定組中刪除
9.修改密碼的屬性:
* chage ——修改密碼的屬性
* -d ——設置最近一次更改密碼時間, 0下次登陸系統(tǒng)強制修改密碼
* -m ——設置用戶兩次改變密碼之間使用"最小天數(shù)"
* -M ——設置用戶兩次改變密碼之間使用"最大天數(shù)"
* -W ——設置密碼更改警告時間 將過期警告天數(shù)設為“警告天數(shù)”
* -I ——設置密碼過期天數(shù)后, 密碼為失效狀態(tài)
* -E ——設置用戶過期時間, 賬戶失效后無法登陸
* -l ——顯示用戶信息
7.權(quán)限管理
1.修改文件數(shù)組屬主
* chown ——修改文件的屬主和屬組 【例:chown root.root file】
* chgrp ——修改文件屬組 【chgrp root file】
2.修改文件權(quán)限:
* chmod ——修改文件的權(quán)限 【chmod 644 file】
* -r ——遞歸修改目錄下所有文件
3.文件特殊權(quán)限與特殊屬性:
* chmod ——修改文件特殊權(quán)限
* u+s ——所有用戶使用命令默認以屬主身份運行
* g+s ——目錄下創(chuàng)建所有文件屬組都與主目錄一致
* o+t ——粘滯位目錄下的文件只有屬主和root可以刪除
* chattr ——給文件添加特殊屬性
* +i ——文件不可更改,不可移動,不可刪除输钩;可復制
* +a ——文件內(nèi)容只能追加豺型,不可以移動,不可刪除买乃;可復制
4.acl訪問控制:
* getfacl ——查看文件的acl權(quán)限
* setfacl ——修改文件acl權(quán)限 【例:setfacl -m u:root:rwx file】
* -m ——更改文件的訪問列表
* -R ——遞歸操作目錄
* -b ——清除文件所有acl權(quán)限
* -x ——刪除文件指定的acl權(quán)限
* -k ——刪除默認的acl
5.
sudo ——(visudo)可分配權(quán)限
8.通配符和重定向
1.通配符:
^:以什么開頭
$:以什么結(jié)束
. :匹配任意一個字符
*:匹配任意字符
\: 轉(zhuǎn)義
:注釋
&&:前一個命令執(zhí)行成功再執(zhí)行后一個命令
|| :前一個命令執(zhí)行失敗再執(zhí)行后一個命令
| :管道:將前一個命令執(zhí)行的結(jié)果傳遞給下一個命令當作參數(shù)
``或$():引用命令執(zhí)行后的結(jié)果
触创?:任意一個字符
&:將程序轉(zhuǎn)入后臺
2.重定向:
1>:標準輸出重定向--將程序的正確信息輸入到指定文件中,并覆蓋文件原內(nèi)容
1>>:標準輸出追加重定向--將程序的正確信息追加輸入到指定文件中
2>:錯誤輸出重定向--將程序的錯誤信息輸入到指定文件中为牍,并覆蓋文件原內(nèi)容
2>>:錯誤輸出追加重定向--將程序的錯誤信息追加輸入到指定文件中
&>:錯誤和正確都重定向到一個文件哼绑,并覆蓋原內(nèi)容
&>>:錯誤和正確都追加重定向到一個文件
9.三劍客基礎(chǔ)應用
1.awk:
* awk ——取列
* -F ——指定分隔符
* NR==3 ——指定取行
* NF ——最后一列
* {print $2} ——指定第幾列
* '/ /' ——篩選行
2.sed:
* sed ——替換
* -i ——寫入文件
* 's###g' ——全局替換
* 's###' ——替換每行第一個
* -n ——取消默認輸出,與p組合
* sed -n '10,20p'(10-20行)
* sed -n '10p;20p' (第10行和20行)
* p ——取行
3.grep:
* grep ——篩選
* -n ——顯示行號
* -v ——取反
* -i ——忽略大小寫
* -E ——多條件篩選
* -o ——只打印過濾的內(nèi)容
* -A ——顯示過濾行的下兩行
* -B ——顯示過濾行的上兩行
* -C ——顯示過濾行的上下兩行
10.下載安裝
1.wget下載:
wget ——下載網(wǎng)絡資源 【wget -O ~/file [www.aliyum.com](https://links.jianshu.com/go?to=www.aliyum.com)】
* -O ——指定下載路徑
2.curl下載:
curl ——下載網(wǎng)絡資源碉咆,可在線查看網(wǎng)絡資源
【curl -o ~/file [www.aliyum.com](https://links.jianshu.com/go?to=www.aliyum.com)】
* -o ——指定下載路徑
3.文件上傳下載:
rz ——文件上傳抖韩,只能上傳文件,不能上傳目錄疫铜,不能上傳4G以上的大文件茂浮,不支持斷點續(xù)傳
sz ——文件下載,只能下載文件壳咕,不能下載目錄
4.rpm:
* rpm ——下載安裝軟件包
* -i ——安裝軟件包
* -v ——顯示安裝過程
* -h ——顯示進度
* -q ——查看軟件包的版本
* -ql ——查看軟件所有文件的路徑
* -qc ——查看軟件的配置文件路徑
* -qa ——查看所有已安裝軟件包
* -qf ——查看命令屬于那個軟件包(已安裝)
* -qi ——查看軟件包詳細屬性
* -U ——軟件升級
* -e ——卸載
5.yum:
* yum :安裝軟件席揽,自動解決軟件包依賴問題
* yum install packages ——安裝軟件包
* yum localinstall ——本地安裝(依賴自動聯(lián)網(wǎng)下載)
* yum check-update ——列出所有可更新的軟件包
* yum update packages ——升級軟件包
* yum update ——更新所有
* yum provides command ——查詢命令屬于哪個軟件包
* yum list ——列出可安裝的軟件包
* yum list installed ——列出所有已安裝的軟件包
* yum remove packages ——卸載軟件包
* yum repolist ——列出已啟用的yum源
* yum repolist all ——列出所有可用的yum源
* yum-config-manager --enable/disable repo ——關(guān)閉/開啟yum源
* yum clean ——清除緩存
* yum group list ——查看可安裝的組包
* yum groups install -y ‘base' ——安裝組包
* yum groupsremove -y ‘base' ——安裝組包
11.yum倉庫
1.本地yum倉庫:
配置本地倉庫
1.'gzip *'關(guān)閉所有網(wǎng)絡倉庫(進入/etc/yum.repos.d)
2.連接光盤,掛載光盤(monut /dev/cdrom /mnt)
添加一個repo的倉庫文件
[cdrom-local]
name = CentOS Local CD-ROM
baseurl = file:///mnt
(file://是一個查看本地資源的協(xié)議)
enable = 1
gpgcheck = 0
2.局域網(wǎng)yum倉庫:
服務端
1.安裝ftp和createrepo(啟動ftp服務)
2.準備軟件包——拷貝光盤或同步網(wǎng)上谓厘,到/var/ftp目錄下
3.執(zhí)行createrepo /var/ftp/dir幌羞,將共享目錄生成倉庫
* 客戶端:
1. 關(guān)閉其他所有的網(wǎng)絡源
2. 為服務器配置repo文件;將baseurl指向本地倉庫
[cdrom-local]
name = CentOS Local
baseurl = [ftp://10.0.0.201/nginx](https://links.jianshu.com/go?to=ftp%3A%2F%2F10.0.0.201%2Fnginx)
enable = 1
gpgcheck = 0
12.磁盤管理:
1.磁道:每個盤片有兩個面竟稳,都可記錄信息属桦。盤片表面以盤片中心為圓心,用于記錄數(shù)據(jù)的不同半徑的圓形磁化軌跡就稱為磁道他爸。磁化軌跡是磁化區(qū)域聂宾,肉眼不可見,磁道看起來是一個平面圓周形诊笤。
2.柱面:磁盤中系谐,不同的盤片相同相同半徑的磁道軌跡從上到下所組成的圓柱形區(qū)域就稱為柱面,看起來是一個圓柱形讨跟。
扇區(qū):盤面由圓心向四周畫直線纪他,不同的磁道被直線分成許多扇形的區(qū)域,每個弧形的區(qū)域就叫做扇區(qū)许赃,每個扇區(qū)大小一般為512字節(jié)止喷,扇區(qū)看起來就是圓弧或扇形馆类。
4.磁盤接口:
IDE / SCSI ——已淘汰
SATA ——傳輸速率6Gbps/s
SAS ——企業(yè)級混聊,傳輸速率6~8Gbps/s
SSD ——純電子,抗震
M.2
SATA
5.磁盤分區(qū)規(guī)則:
主分區(qū)最多只能分四個
擴展分區(qū)和主分區(qū)組合,分區(qū)最少兩個句喜,最多四個预愤。拓展分區(qū)可以沒有;最多只能有一個咳胃。擴展分區(qū)編號最小從5開始植康。
6.磁盤分區(qū)工作原理
磁盤分區(qū)登記的地點:磁盤分區(qū)表
磁盤分區(qū)表存放分區(qū)結(jié)果信息
分區(qū)表位置:0磁頭0柱面1扇區(qū)(512字節(jié))
一扇區(qū):前446字節(jié)(系統(tǒng)引導信息MBR);后64字節(jié)(分區(qū)表)展懈;剩余兩字節(jié)是分區(qū)結(jié)束標志(55AA)
磁盤分區(qū)表的容量是有限的销睁,64字節(jié),一個分區(qū)固定占16字節(jié)(所以最多只能分四個)
7.磁盤分區(qū):
小于2T的硬盤可用fdisk進行分區(qū)
fdisk ——MBR分區(qū)
大于2T的硬盤建議用gdisk進行分區(qū)(可分128個主分區(qū)存崖;與fdisk操作一致)
gdisk ——GPT分區(qū)
8.磁盤格式化:
* mkfs ——格式化磁盤
* -t ——指定格式(xfs/swap)
9.磁盤掛載:
* mount ——掛載設備
* -t ——指定掛載設備的類型
* -o ——指定掛載的參數(shù)(rw冻记,ro)
* umount ——卸載設備
* -l ——強制卸載設備
10.swap:
* 內(nèi)存不足時,系統(tǒng)會用swap分區(qū)臨時充當內(nèi)存来惧,但會很卡冗栗;如果沒有swap分區(qū),系統(tǒng)會隨機kill進程
* swapoff -a ——關(guān)閉swap分區(qū)
* swapon -a ——開啟swap分區(qū)
11.RAID:
raid簡稱磁盤陣列供搀,將多塊磁盤組合在一起用來提高磁盤的性能和冗余能力
raid常見模式:
55.png
RAID1和RAID5需做熱備盤
12.進程管理:
1.進程:正在運行的程序就是進程
程序成為進程后系統(tǒng)或自動分配內(nèi)存和運行用戶
進程運行中隅居,系統(tǒng)會有各種指標來表示當前運行的狀態(tài)
2.進程生命周期:
父進程接收任務調(diào)度,通過fock派子進程來處理葛虐,子進程會繼承父進程屬性
子進程在處理任務代碼后胎源,會執(zhí)行推出,然后喚醒父進程來回收進程信息
如果子進程處理任務過程中屿脐,父進程退出乒融,子進程會成為僵尸狀態(tài)
3.查看進程:
* ps ——靜態(tài)查看
* aux ——查看進程詳細的信息
* axo ——可指定查看列【例:ps axo pid,command,nice】
* top ——動態(tài)查看
* -p ——指定pid
* -u ——指定用戶名
* -d ——指定間隔時間
* 1 ——監(jiān)控每個CPU的狀態(tài)
* i ——忽略閑置和僵死的進程,開關(guān)式命令
* M ——根據(jù)使用內(nèi)存大小排序
* P ——根據(jù)CPU使用百分比大小排序
4.STAT狀態(tài):
基本狀態(tài)
* R:進程運行
* S:可中斷的睡眠狀態(tài)
* T:進程被暫停
* D:不可中斷的睡眠狀態(tài)
* Z:僵尸進程
* **符號狀態(tài)**
* s:進程是控制進程摄悯,Ss表示父進程
* <:表示運行在高優(yōu)先級上赞季,S<優(yōu)先級較高的
* N:表示進程運行在低優(yōu)先級上
* +:表示進程運行在前臺
* l:進程是多線程的
5.中斷:中斷是系統(tǒng)用來響應硬件設備請求的一種機制,它會打斷進程的正常調(diào)度和執(zhí)行奢驯,然后調(diào)用內(nèi)核中的中斷處理程序來響應設備的請求
Linux軟中斷與硬中斷:
Linux 中的中斷處理程序分為上半部和下半部
上半部對應硬件中斷申钩,用來快速處理中斷
下半部對應軟中斷,用來異步處理上半部未完成的工作
6.停止進程:
* kill + PID ——正常殺死進程
* kill -1 + PID ——平滑加載配置文件
* kill -9 + PID ——強制殺死進程(對有狀態(tài)的慎用瘪阁,例Mysql)
* pkill Name ——批量殺死進程
* killall Name ——批量殺死進程
7.后臺進程:
* &——將進程放入后臺
* jobs ——查看后臺進程
* bg %進程編號 ——讓后臺進程繼續(xù)運行
* fg %進程編號 ——將進程從后臺調(diào)出
*screen ——管理后臺進程撒遣,窗口退出,后臺也不會停止(推薦使用)*
* -S ——指定后臺進程的名稱
* crtl+a+d ——平滑退出screen管跺,不會終止任務(exit义黎;可停止該后臺)
* -list ——列出后臺進程
* -r ——調(diào)出后臺進程
* -wipe ——檢查當前所有的screen作業(yè),并刪除已經(jīng)無法使用的
8.進程優(yōu)先級:
nice 值越高:表示優(yōu)先級越低
nice 值越低:表示優(yōu)先級越高
設置優(yōu)先級:
nice -n number naem——啟動一個進程配置優(yōu)先級
renice -n number -p PID ——調(diào)整一個已啟動的進程的優(yōu)先級豁跑。
9.負載:
負載:單位時間內(nèi)活動的進程數(shù)廉涕,(包括處于進行的+處于等待運行+不可中斷的進程),平均負載高于CPU數(shù)量的%70(不是絕對),應開始排查負載高的問題
過載的三種場景狐蜕,需關(guān)注三個數(shù)值宠纯,綜合評估
CPU密集型進程,使用大量CPU或?qū)е仑撦d升高
I/O密集型進程层释,等待I/O也會導致負載升高婆瓜,但CPU使用率不一定高
大量等待CPU的進程調(diào)度也會導致負載升高,此時CPU使用率也會很高
13.系統(tǒng)運行級別與單用戶贡羔,救援模式
1.CentOS6 系統(tǒng)啟動流程
1\. 開機BIOS自檢
2\. 讀取MBR引導(讀硬盤的引導程序)
3\. 硬盤上的空間廉白,位于0柱面0磁道1扇區(qū)(數(shù)據(jù)在硬盤上的三維地址),共512字節(jié)乖寒,前446字節(jié)為引導程序蒙秒,后66字節(jié)為分區(qū)表
4\. 加載GRUB菜單(要啟動什么操作系統(tǒng));讀取文件展現(xiàn)grup菜單
5\. 加載內(nèi)核(kernel)
6\. 運行INIT進程
1\. 讀取/etc/inittab文件:系統(tǒng)運行級別
2\. 讀取/etc/init/rcS.conf:執(zhí)行/etc/re.d/rc.sysinit 腳本宵统,掛載程序等
3\. 讀取/etc/init/rcS.conf:執(zhí)行/etc/re.d/rc 3 腳本
4\. 讀取/etc/rc.local文件:開機自啟動的程序
5\. 讀取/etc/init/tty.conf文件:啟動
* **init進程順序啟動**
2.CentOS7 系統(tǒng)啟動流程
1\. 開機BIOS自檢
2\. 讀取MBR引導(讀硬盤的引導程序)
- 硬盤上的空間晕讲,位于0柱面0磁道1扇區(qū)(數(shù)據(jù)在硬盤上的三維地址),共512字節(jié)马澈,前446字節(jié)為引導程序瓢省,后64字節(jié)為分區(qū)表,剩余兩字節(jié)是分區(qū)結(jié)束標志
3\. 加載內(nèi)核(kernel)
4\. 運行systemd進程
1\. 加載initrd.target文件 :包含掛載fstab中文件系統(tǒng)
2\. 加載default.target文件 :設定target模式加載腳本
3\. 加載sysinit.target文件: 初始化系統(tǒng)加載basic
4\. 讀取/etc/rc.local文件 :設定用戶開機自啟程序
5\. 讀取getty.target文件 啟動mingetty進程
* **systemd進程并行啟動**
3.運行級別:
* 0 ——關(guān)機級別
* 1 ——單用戶級別
* 2 ——多用戶無網(wǎng)絡
* 3 ——多用戶有網(wǎng)絡
* 4 ——預留痊班,未使用
* 5 ——圖形化級別
* 6 ——重啟級別
**runlevel ——查看用戶當前級別(centos6)**
**init number ——設置當前運行級別(centos6)**
**systemctl get-default ——查看當前運行級別**
**systemctl set-default graphical ——設置運行級別勤婚,永久**
4.單用戶作用:
能正常引導進入系統(tǒng)
但配置文件錯誤導致無法啟動
忘記root密碼
5.救援模式作用:
無法正常啟動系統(tǒng)
沒有內(nèi)核文件,救援加載
系統(tǒng)崩潰涤伐,保留重要數(shù)據(jù)
沒有引導文件馒胆,修復MBR