引言
Linux是一個(gè)開源的Unix-like操作系統(tǒng)。它是由芬蘭計(jì)算機(jī)科學(xué)家Linus Torvalds于1991年首次發(fā)布。Linux以其穩(wěn)定性,安全性和靈活性而受到歡迎,并被廣泛用于服務(wù)器,超級(jí)計(jì)算機(jī),嵌入式系統(tǒng)和許多其他平臺(tái)。在某些領(lǐng)域,例如智能手機(jī)和平板電腦(主要是Android操作系統(tǒng)),Linux的衍生品也非常流行。
Linux操作系統(tǒng)的主要組成部分是Linux內(nèi)核,它負(fù)責(zé)管理系統(tǒng)的硬件。Linux操作系統(tǒng)的一大特點(diǎn)是其高度的可定制性。用戶可以根據(jù)自己的需要選擇安裝不同的軟件包,以適應(yīng)各種用途,從基本的命令行界面到帶有各種現(xiàn)代桌面環(huán)境的全功能操作系統(tǒng)。另一個(gè)Linux的重要特性是其開源許可證。Linux的源代碼對(duì)公眾開放,任何人都可以自由地查看,修改,和分發(fā)代碼,只要他們遵守GNU通用公共許可證(GPL)。
Linux的主要發(fā)行版包括Ubuntu,Debian,F(xiàn)edora,CentOS,和Arch Linux等。每個(gè)發(fā)行版都有自己獨(dú)特的特點(diǎn)和優(yōu)勢(shì),滿足不同類型的用戶需求。
1. 認(rèn)識(shí)Linux
我們現(xiàn)在常用的系統(tǒng)為Windows系統(tǒng)和macOS系統(tǒng),這兩個(gè)都屬于個(gè)人桌面操作系統(tǒng),而本文章所要討論的Linux則為服務(wù)器操作系統(tǒng)。
1.1 操作系統(tǒng)概述
我們所熟知的計(jì)算機(jī)是由:硬件和軟件所組成。
硬件:計(jì)算機(jī)系統(tǒng)中由電子,機(jī)械和光電元件等組成的各種物理裝置的總稱。
硬件和軟件:
軟件:是用戶和計(jì)算機(jī)硬件之間的接口和橋梁,用戶通過軟件與計(jì)算機(jī)進(jìn)行交流。
而操作系統(tǒng),就是軟件的一類。
一個(gè)完整的計(jì)算機(jī):
操作系統(tǒng):
操作系統(tǒng)是計(jì)算機(jī)軟件的一種,它主要負(fù)責(zé):
作為用戶和計(jì)算機(jī)硬件之間的橋梁,調(diào)度和管理計(jì)算機(jī)硬件進(jìn)行工作。
而計(jì)算機(jī),如果沒有操作系統(tǒng),就是一堆無法使用的塑料而已。
當(dāng)計(jì)算機(jī)擁有了操作系統(tǒng),就相當(dāng)于擁有了靈魂,操作系統(tǒng)可以:
- 調(diào)度CPU進(jìn)行工作
- 調(diào)度內(nèi)存進(jìn)行工作
- 調(diào)度硬盤進(jìn)行數(shù)據(jù)存儲(chǔ)
- 調(diào)度網(wǎng)卡進(jìn)行網(wǎng)絡(luò)通訊
- 調(diào)度音響發(fā)出聲音
- 調(diào)度打印機(jī)打印內(nèi)容
- …
常見操作系統(tǒng):
PC端:Windows、Linux、MacOS
移動(dòng)端:Android、IOS、鴻蒙系統(tǒng)
不管是PC操作系統(tǒng)
還是移動(dòng)操作系統(tǒng)
其功能都是:調(diào)度硬件進(jìn)行工作
充當(dāng)用戶和硬件之間的橋梁
1.2 認(rèn)識(shí)Linux
Linux創(chuàng)始人: 林納斯 托瓦茲
Linux 誕生于1991年,作者上大學(xué)期間
因?yàn)閯?chuàng)始人在上大學(xué)期間經(jīng)常需要瀏覽新聞和處理郵件,發(fā)現(xiàn)現(xiàn)有的操作系統(tǒng)不好用, 于是他決心自己寫一個(gè)保護(hù)模式下的操作系統(tǒng),這就是Linux的原型, 當(dāng)時(shí)他21歲,后來經(jīng)過全世界網(wǎng)友的支持, 現(xiàn)在能夠兼容多種硬件,成為最為流行的服務(wù)器操作系統(tǒng)之一。
Linux內(nèi)核:
Linux系統(tǒng)的組成如下:
- Linux系統(tǒng)內(nèi)核
- 系統(tǒng)級(jí)應(yīng)用程序
兩部分組成。
- 內(nèi)核提供系統(tǒng)最核心的功能,如:調(diào)度CPU、調(diào)度內(nèi)存、調(diào)度文件系統(tǒng)、調(diào)度網(wǎng)絡(luò)通訊、調(diào)度IO等。
- 系統(tǒng)級(jí)應(yīng)用程序,可以理解為出廠自帶程序,可供用戶快速上手操作系統(tǒng),如:
文件管理器、任務(wù)管理器、圖片查看、音樂播放等。 - 比如,播放音樂,無論用戶使用自帶音樂播放器或是自行安裝的第三方播放器均是由播放器程序,調(diào)用內(nèi)核提供的相關(guān)功能,由內(nèi)核調(diào)度CPU解碼、音響發(fā)聲等。
可以看出,內(nèi)核是Linux操作系統(tǒng)最核心的所在,系統(tǒng)級(jí)應(yīng)用程序只是錦上添花。
Linux內(nèi)核是免費(fèi)開源的,任何人都可以下載內(nèi)核源碼并查看且修改。
可以通過:https://www.kernel.org 去下載Linux內(nèi)核
Linux發(fā)行版:
內(nèi)核是免費(fèi)、開源的,這也就代表了:
- 任何人都可以獲得并修改內(nèi)核,并且自行集成系統(tǒng)級(jí)程序
- 提供了內(nèi)核+系統(tǒng)級(jí)程序的完整封裝,稱之為Linux發(fā)行版
- 任何人都可以封裝Linux,目前市面上由非常多的Linux發(fā)行版
1.3 虛擬機(jī)介紹
借助虛擬化技術(shù),我們可以在系統(tǒng)中,通過軟件:模擬計(jì)算機(jī)硬件,并給虛擬硬件安裝真實(shí)的操作系統(tǒng)。
這樣,就可以在電腦中,虛擬出一個(gè)完整的電腦,以供我們學(xué)習(xí)Linux系統(tǒng)。
可以通過提供虛擬化的軟件來獲得虛擬機(jī)。
本文選用VMware WorkStation軟件來提供虛擬機(jī)。
下載地址:https://www.vmware.com/cn/products/workstation-pro.html
首先,我們需要下載操作系統(tǒng)的安裝文件,此文章使用CentOS7.6版本
下載地址:https://vault.centos.org/7.6.1810/isos/x86_64/
1.4 遠(yuǎn)程連接Linux操作系統(tǒng)
圖形化、命令行:
對(duì)于操作系統(tǒng)的使用,有2種使用形式:
- 圖形化頁面使用操作系統(tǒng)
- 以命令的形式使用操作系統(tǒng)
不論是Windows還是Linux亦或是MacOS系統(tǒng),都是支持這兩種使用形式。
-
圖形化:使用操作系統(tǒng)提供的圖形化頁面,以獲得圖形化反饋的形式去使用操作系統(tǒng)。
-
命令行:使用操作系統(tǒng)提供的各類命令,以獲得字符反饋的形式去使用操作系統(tǒng)。
Linux系統(tǒng)的圖形化和命令行
我們使用VMware可以得到Linux虛擬機(jī),但是在VMware中操作Linux的命令行頁面不太方便,主要是:
- 內(nèi)容的復(fù)制、粘貼跨越VMware不方便
- 文件的上傳、下載跨越VMware不方便
- 也就是和Linux系統(tǒng)的各類交互,跨越VMware不方便
我們可以通過第三方軟件,F(xiàn)inalShell,遠(yuǎn)程連接到Linux操作系統(tǒng)之上。并通過FinalShell去操作Linux系統(tǒng)。這樣各類操作都會(huì)十分的方便。
FinalShell的下載地址為:http://www.hostbuf.com/downloads/finalshell_install.exe
1.5 WSL
WSL作為Windows10系統(tǒng)帶來的全新特性,正在逐步顛覆開發(fā)人員既有的選擇。
- 傳統(tǒng)方式獲取Linux操作系統(tǒng)環(huán)境,是安裝完整的虛擬機(jī),如VMware
- 使用WSL,可以以非常輕量化的方式,得到Linux系統(tǒng)環(huán)境
目前,開發(fā)者正在逐步拋棄以虛擬機(jī)的形式獲取Linux系統(tǒng)環(huán)境,而在逐步擁抱WSL環(huán)境。
所以,為什么要用WSL,其實(shí)很簡單:
- 開發(fā)人員都在用,大家都用
- 方便,簡單、好用、輕量化、省內(nèi)存
WSL:Windows Subsystem for Linux,是用于Windows系統(tǒng)之上的Linux子系統(tǒng)。
作用很簡單,可以在Windows系統(tǒng)中獲得Linux系統(tǒng)環(huán)境,并完全直連計(jì)算機(jī)硬件,無需通過虛擬機(jī)虛擬硬件。簡而言之:Windows10的WSL功能,可以無需單獨(dú)虛擬一套硬件設(shè)備就可以直接使用主機(jī)的物理硬件,構(gòu)建Linux操作系統(tǒng)并不會(huì)影響Windows系統(tǒng)本身的運(yùn)行
1.6 虛擬機(jī)快照
我們有時(shí)無法避免的可能損壞Linux操作系統(tǒng)。
如果損壞的話,重新安裝一個(gè)Linux操作系統(tǒng)就會(huì)十分麻煩。
VMware虛擬機(jī)(Workstation和Funsion)支持為虛擬機(jī)制作快照。
通過快照將當(dāng)前虛擬機(jī)的狀態(tài)保存下來,在以后可以通過快照恢復(fù)虛擬機(jī)到保存的狀態(tài)。
2. Linux基礎(chǔ)命令
2.1 Linux的目錄結(jié)構(gòu)
Linux的目錄結(jié)構(gòu)是一個(gè)樹型結(jié)構(gòu)
Windows 系統(tǒng)可以擁有多個(gè)盤符, 如 C盤、D盤、E盤
Linux沒有盤符這個(gè)概念, 只有一個(gè)根目錄 /, 所有文件都在它下面
Linux路徑的描述方式:
- 在Linux系統(tǒng)中,路徑之間的層級(jí)關(guān)系,使用:/ 來表示
- 在Windows系統(tǒng)中,路徑之間的層級(jí)關(guān)系,使用: \ 來表示
2.2 命令入門
ls命令
ls命令的作用是列出目錄下的內(nèi)容,語法細(xì)節(jié)如下:
- -a -l -h 是可選的選項(xiàng)
- Linux路徑是此命令可選的參數(shù)
當(dāng)不使用選項(xiàng)和參數(shù),直接使用ls命令本體,表示:以平鋪形式,列出當(dāng)前工作目錄下的內(nèi)容
- -a選項(xiàng),表示:all的意思,即列出全部文件(包含隱藏的文件/文件夾)
可以看到,ls -a 對(duì)比 ls 列出的內(nèi)容更多了。
- 圖中以.開頭的,表示是Linux系統(tǒng)的隱藏文件/文件夾(只要以.開頭,就能自動(dòng)隱藏)
- 只有通過-a選項(xiàng),才能看到這些隱藏的文件/文件夾
ls命令的 -l選項(xiàng)
- -l選項(xiàng),表示:以列表(豎向排列)的形式展示內(nèi)容,并展示更多信息
-l選項(xiàng)其實(shí)和圖形化中,文件夾以列表形式排列是一個(gè)意思
- -h 表示以易于閱讀的形式,列出文件大小,如K、M、G
- -h選項(xiàng)必須要搭配 -l 一起使用
2.3 目錄切換相關(guān)命令(cd/pwd)
當(dāng)Linux終端(命令行)打開的時(shí)候,會(huì)默認(rèn)以用戶的HOME目錄作為當(dāng)前的工作目錄
我們可以通過cd命令,更改當(dāng)前所在的工作目錄。
cd命令來自英文:Change Directory在這里插入圖片描述
- cd命令無需選項(xiàng),只有參數(shù),表示要切換到哪個(gè)目錄下
- cd命令直接執(zhí)行,不寫參數(shù),表示回到用戶的HOME目錄
通過ls來驗(yàn)證當(dāng)前的工作目錄,其實(shí)是不恰當(dāng)?shù)摹?br> 我們可以通過pwd命令,來查看當(dāng)前所在的工作目錄。
pwd命令來自:Print Work Directory
- pwd命令,無選項(xiàng),無參數(shù),直接輸入pwd即可
2.4 相對(duì)路徑,絕對(duì)路徑和特殊路徑符
絕對(duì)路徑:以根目錄為起點(diǎn),描述路徑的一種寫法,路徑描述以/開頭
相對(duì)路徑:以當(dāng)前目錄為起點(diǎn),描述路徑的一種寫法,路徑描述無需以/開頭
- cd /home/java/Desktop 絕對(duì)路徑寫法
- cd Desktop 相對(duì)路徑寫法
特殊路徑符:
- . 表示當(dāng)前目錄,比如 cd ./Desktop 表示切換到當(dāng)前目錄下的Desktop目錄內(nèi),和cd Desktop效果一致
- … 表示上一級(jí)目錄,比如:cd … 即可切換到上一級(jí)目錄,cd …/… 切換到上二級(jí)的目錄
- ~ 表示HOME目錄,比如:cd ~ 即可切換到HOME目錄或cd ~/Desktop,切換到HOME內(nèi)的Desktop目錄
2.5 創(chuàng)建目錄命令
通過mkdir命令可以創(chuàng)建新的目錄(文件夾)
mkdir來自英文:Make Directory
- 參數(shù)必填,表示Linux路徑,即要?jiǎng)?chuàng)建的文件夾的路徑,相對(duì)路徑或絕對(duì)路徑均可
- -p選項(xiàng)可選,表示自動(dòng)創(chuàng)建不存在的父目錄,適用于創(chuàng)建連續(xù)多層級(jí)的目錄
如果想要一次性創(chuàng)建多個(gè)層級(jí)的目錄,如下圖
會(huì)報(bào)錯(cuò),因?yàn)樯霞?jí)目錄itcast和good并不存在,所以無法創(chuàng)建666目錄
可以通過-p選項(xiàng),將一整個(gè)鏈條都創(chuàng)建完成。
注意:創(chuàng)建文件夾需要修改權(quán)限,請(qǐng)確保操作均在HOME目錄內(nèi),不要在HOME外操作,涉及到權(quán)限問題,HOME外無法成功
2.6 文件操作命令(touch,cat,more,cp,mv,rm)
可以通過touch命令創(chuàng)建文件
- touch命令無選項(xiàng),參數(shù)必填,表示要?jiǎng)?chuàng)建的文件路徑,相對(duì)、絕對(duì)、特殊路徑符均可以使
cat命令 查看文件內(nèi)容
有了文件后,我們可以通過cat命令查看文件的內(nèi)容。
- cat同樣沒有選項(xiàng),只有必填參數(shù),參數(shù)表示:被查看的文件路徑,相對(duì)、絕對(duì)、特殊路徑符都可以使用
more命令查看文件內(nèi)容
more命令同樣可以查看文件內(nèi)容,同cat不同的是:
- cat是直接將內(nèi)容全部顯示出來
- more支持翻頁,如果文件內(nèi)容過多,可以一頁頁的展示
- 同樣沒有選項(xiàng),只有必填參數(shù),參數(shù)表示:被查看的文件路徑,相對(duì)、絕對(duì)、特殊路徑符都可以使用
Linux系統(tǒng)內(nèi)置有一個(gè)文件,路徑為:/etc/services,可以使用more命令查看
more /etc/services- 在查看的過程中,通過空格翻頁
- 通過q退出查看
cp命令復(fù)制文件文件夾
cp命令可以用于復(fù)制文件\文件夾,cp命令來自英文單詞:copy
- -r選項(xiàng),可選,用于復(fù)制文件夾使用,表示遞歸
- 參數(shù)1,Linux路徑,表示被復(fù)制的文件或文件夾
- 參數(shù)2,Linux路徑,表示要復(fù)制去的地方
復(fù)制文件
復(fù)制文件夾
復(fù)制文件夾,必須使用-r選項(xiàng),否則不會(huì)生效
mv移動(dòng)文件或文件夾
v命令可以用于移動(dòng)文件\文件夾,mv命令來自英文單詞:move
- 參數(shù)1,Linux路徑,表示被移動(dòng)的文件或文件夾
- 參數(shù)2,Linux路徑,表示要移動(dòng)去的地方,如果目標(biāo)不存在,則進(jìn)行改名,確保目標(biāo)存在
rm刪除文件、文件夾
rm命令可用于刪除文件、文件夾
rm命令來自英文單詞:remove
- 同cp命令一樣,-r選項(xiàng)用于刪除文件夾
- -f表示force,強(qiáng)制刪除(不會(huì)彈出提示確認(rèn)信息)
- 普通用戶刪除內(nèi)容不會(huì)彈出提示,只有root管理員用戶刪除內(nèi)容會(huì)有提示
- 所以一般普通用戶用不到-f選項(xiàng)
- 參數(shù)1、參數(shù)2、…、參數(shù)N 表示要?jiǎng)h除的文件或文件夾路徑,按照空格隔開
刪除文件
刪除多個(gè)文件
rm命令支持通配符 *,用來做模糊匹配
- 符號(hào)* 表示通配符,即匹配任意內(nèi)容(包含空),示例:
- test*,表示匹配任何以test開頭的內(nèi)容
- *test,表示匹配任何以test結(jié)尾的內(nèi)容
rm是一個(gè)危險(xiǎn)的命令,特別是在處于root(超級(jí)管理員)用戶的時(shí)候。
請(qǐng)謹(jǐn)慎使用。
2.7 查找命令(which,find)
我們可以通過which命令,查看所使用的一系列命令的程序文件存放在哪里
find命令 - 按文件名查找文件
find / -name “test”
被查找文件名,支持使用通配符 * 來做模糊查詢。
find命令 - 按文件大小查找文件
語法:
- +、- 表示大于和小于
- n表示大小數(shù)字
- kMG表示大小單位,k(小寫字母)表示kb,M表示MB,G表示GB
示例:
- 查找小于10KB的文件: find / -size -10k
- 查找大于100MB的文件:find / -size +100M
- 查找大于1GB的文件:find / -size +1G
2.8 grep,wc和管道符
可以通過grep命令,從文件中通過關(guān)鍵字過濾文件行。
- 選項(xiàng)-n,可選,表示在結(jié)果中顯示匹配的行的行號(hào)。
- 參數(shù),關(guān)鍵字,必填,表示過濾的關(guān)鍵字,帶有空格或其它特殊符號(hào),建議使用””將關(guān)鍵字包圍起來
- 參數(shù),文件路徑,必填,表示要過濾內(nèi)容的文件路徑,可作為內(nèi)容輸入端口
wc命令做數(shù)量統(tǒng)計(jì)
可以通過wc命令統(tǒng)計(jì)文件的行數(shù)、單詞數(shù)量等
- 選項(xiàng),-c,統(tǒng)計(jì)bytes數(shù)量
- 選項(xiàng),-m,統(tǒng)計(jì)字符數(shù)量
- 選項(xiàng),-l,統(tǒng)計(jì)行數(shù)
- 選項(xiàng),-w,統(tǒng)計(jì)單詞數(shù)量
- 參數(shù),文件路徑,被統(tǒng)計(jì)的文件,可作為內(nèi)容輸入端口
管道符:|
管道符的含義是:將管道符左邊命令的結(jié)果,作為右邊命令的輸入
2.9 echo、tail和重定向符
可以使用echo命令在命令行內(nèi)輸出指定內(nèi)容
- 無需選項(xiàng),只有一個(gè)參數(shù),表示要輸出的內(nèi)容,復(fù)雜內(nèi)容可以用””包圍
重定向符:>和>>
- 重定向符 >,將左側(cè)命令的結(jié)果,覆蓋寫入到符號(hào)右側(cè)指定的文件中
- 重定向符 >>,將左側(cè)命令的結(jié)果,追加寫入到符號(hào)右側(cè)指定的文件中
使用tail命令,可以查看文件尾部內(nèi)容,跟蹤文件的最新更改,語法如下:
- 參數(shù),Linux路徑,表示被跟蹤的文件路徑
- 選項(xiàng),-f,表示持續(xù)跟蹤
- 選項(xiàng), -num,表示,查看尾部多少行,不填默認(rèn)10行
如果想要對(duì)命令的其它選項(xiàng)進(jìn)行查閱,可以通過如下方式:
- 任何命令都支持:–help 選項(xiàng), 可以通過這個(gè)選項(xiàng),查看命令的幫助。
如果想要查看命令的詳細(xì)手冊(cè),可以通過man(manual, 手冊(cè))命令查看
比如: - man ls,就是查看ls命令的詳細(xì)手冊(cè)
- man cd,就是查看cd命令的詳細(xì)手冊(cè)
2.10 vi編輯器
vi\vim是visual interface的簡稱, 是Linux中最經(jīng)典的文本編輯器
同圖形化界面中的 文本編輯器一樣,vi是命令行下對(duì)文本文件進(jìn)行編輯的絕佳選擇。
vim 是 vi 的加強(qiáng)版本,兼容 vi 的所有指令,不僅能編輯文本,而且還具有 shell 程序編輯的功能,可以不同顏色的字體來辨別語法的正確性,極大方便了程序的設(shè)計(jì)和編輯性。
vi\vim編輯器的三種工作模式
命令模式(Command mode)
命令模式下,所敲的按鍵編輯器都理解為命令,以命令驅(qū)動(dòng)執(zhí)行不同的功能。
此模型下,不能自由進(jìn)行文本編輯。
輸入模式(Insert mode)
也就是所謂的編輯模式、插入模式。
此模式下,可以對(duì)文件內(nèi)容進(jìn)行自由編輯。
底線命令模式(Last line mode)
以:開始,通常用于文件的保存、退出。
如果需要通過vi/vim編輯器編輯文件,請(qǐng)通過如下命令:
vim兼容全部的vi功能,后續(xù)全部使用vim命令
-
如果文件路徑表示的文件不存在,那么此命令會(huì)用于編輯新文件
-
如果文件路徑表示的文件存在,那么此命令用于編輯已有文件
在命令模式下的一些常見快捷鍵。
3. Linux權(quán)限管控
3.1 root用戶
root用戶(超級(jí)管理員)
- 無論是Windows、MacOS、Linux均采用多用戶的管理模式進(jìn)行權(quán)限管理。
- inux系統(tǒng)中,擁有最大權(quán)限的賬戶名為:root(超級(jí)管理員)
而在前期,我們一直使用的賬戶是普通的用戶:Java - root用戶擁有最大的系統(tǒng)操作權(quán)限,而普通用戶在許多地方的權(quán)限是受限的。
- 普通用戶的權(quán)限,一般在其HOME目錄內(nèi)是不受限的
一旦出了HOME目錄,大多數(shù)地方,普通用戶僅有只讀和執(zhí)行權(quán)限,無修改權(quán)限
su和exit命令
在前面,我們接觸過su命令切換到root賬戶。
su命令就是用于賬戶切換的系統(tǒng)命令,其來源英文單詞:Switch User
- 參數(shù):用戶名,表示要切換的用戶,用戶名也可以省略,省略表示切換到root
- 切換用戶后,可以通過exit命令退回上一個(gè)用戶,也可以使用快捷鍵:ctrl + d
- 使用普通用戶,切換到其它用戶需要輸入密碼,如切換到root用戶
- 使用root用戶切換到其它用戶,無需密碼,可以直接切換
sudo命令
在我們得知root密碼的時(shí)候,可以通過su命令切換到root得到最大權(quán)限。
但是我們不建議長期使用root用戶,避免帶來系統(tǒng)損壞。
我們可以使用sudo命令,為普通的命令授權(quán),臨時(shí)以root身份執(zhí)行。
其它命令之前,帶上sudo,即可為這一條命令臨時(shí)賦予root授權(quán)
但是并不是所有的用戶,都有權(quán)利使用sudo,我們需要為普通用戶配置sudo認(rèn)證
3.2 用戶、用戶組管理
用戶、用戶組
Linux系統(tǒng)中可以:
- 配置多個(gè)用戶
- 配置多個(gè)用戶組
- 用戶可以加入多個(gè)用戶組中
Linux中關(guān)于權(quán)限的管控級(jí)別有2個(gè)級(jí)別,分別是:
- 針對(duì)用戶的權(quán)限控制
- 針對(duì)用戶組的權(quán)限控制
比如,針對(duì)某文件,可以控制用戶的權(quán)限,也可以控制用戶組的權(quán)限。
用戶組管理
以下命令需root用戶執(zhí)行
-
創(chuàng)建用戶組
groupadd 用戶組名 -
刪除用戶組
groupdel 用戶組名
用戶管理
以下命令需root用戶執(zhí)行
- 創(chuàng)建用戶
useradd [-g -d] 用戶名 -
- 選項(xiàng):-g指定用戶的組,不指定-g,會(huì)創(chuàng)建同名組并自動(dòng)加入,指定-g需要組已經(jīng)存在,如已存在同名組,必須使用-g
-
- 選項(xiàng):-d指定用戶HOME路徑,不指定,HOME目錄默認(rèn)在:/home/用戶名
- 刪除用戶
userdel [-r] 用戶名 -
- 選項(xiàng):-r,刪除用戶的HOME目錄,不使用-r,刪除用戶時(shí),HOME目錄保留
- 查看用戶所屬組
id [用戶名] -
- 參數(shù):用戶名,被查看的用戶,如果不提供則查看自身
- 修改用戶所屬組
usermod -aG 用戶組 用戶名,將指定用戶加入指定用戶組
getent
使用getent命令,可以查看當(dāng)前系統(tǒng)中有哪些用戶
語法: getent passwd
使用getent命令,同樣可以查看當(dāng)前系統(tǒng)中有哪些用戶組
語法:getent group
總結(jié)文章來源地址http://www.zghlxwxcb.cn/news/detail-530442.html
- Linux用戶管理模式
Linux可以支持多用戶、多用戶組、用戶加入多個(gè)組
Linux權(quán)限管控的單元是用戶級(jí)別和用戶組級(jí)別 - 用戶、用戶組相關(guān)管理命令
groupadd添加組、groupdel刪除組
useradd添加用戶、userdel刪除用戶
usermod修改用戶組、id命令查看用戶信息
getent passwd查看系統(tǒng)全部用戶信息
getent group查看系統(tǒng)全部組信息
3.3 查看權(quán)限控制
通過ls -l 可以以列表形式查看內(nèi)容,并顯示權(quán)限細(xì)節(jié)
- 序號(hào)1,表示文件、文件夾的權(quán)限控制信息
- 序號(hào)2,表示文件、文件夾所屬用戶
- 序號(hào)3,表示文件、文件夾所屬用戶組
權(quán)限信息
讓我們來解析一下序號(hào)1,權(quán)限細(xì)節(jié)
權(quán)限細(xì)節(jié)總共分為10個(gè)槽位
舉例:drwxr-xr-x,表示:
- 這是一個(gè)文件夾,首字母d表示
- 所屬用戶(右上角圖序號(hào)2)的權(quán)限是:有r有w有x,rwx
- 所屬用戶組(右上角圖序號(hào)3)的權(quán)限是:有r無w有x,r-x (-表示無此權(quán)限)
- 其它用戶的權(quán)限是:有r無w有x,r-x
rwx
那么,rwx到底代表什么呢?
- r表示讀權(quán)限
- w表示寫權(quán)限
- x表示執(zhí)行權(quán)限
針對(duì)文件、文件夾的不同,rwx的含義有細(xì)微差別
- r,針對(duì)文件可以查看文件內(nèi)容
-
- 針對(duì)文件夾,可以查看文件夾內(nèi)容,如ls命令
- w,針對(duì)文件表示可以修改此文件
-
- 針對(duì)文件夾,可以在文件夾內(nèi):創(chuàng)建、刪除、改名等操作
- x,針對(duì)文件表示可以將文件作為程序執(zhí)行
-
- 針對(duì)文件夾,表示可以更改工作目錄到此文件夾,即cd進(jìn)入
3.4修改權(quán)限控制 - chmod
chmod命令
我們可以使用chmod命令,修改文件、文件夾的權(quán)限信息。
注意,只有文件、文件夾的所屬用戶或root用戶可以修改。
- 選項(xiàng):-R,對(duì)文件夾內(nèi)的全部內(nèi)容應(yīng)用同樣的操作
示例:
- chmod u=rwx,g=rx,o=x hello.txt ,將文件權(quán)限修改為:rwxr-x–x
- 其中:u表示user所屬用戶權(quán)限,g表示group組權(quán)限,o表示other其它用戶權(quán)限
- chmod -R u=rwx,g=rx,o=x test,將文件夾test以及文件夾內(nèi)全部內(nèi)容權(quán)限設(shè)置為:rwxr-x–x
除此之外,還有快捷寫法:chmod 751 hello.txt
將hello.txt的權(quán)限修改為751
那么問題來了,751表示什么意思呢?
權(quán)限的數(shù)字序號(hào)
權(quán)限可以用3位數(shù)字來代表,第一位數(shù)字表示用戶權(quán)限,第二位表示用戶組權(quán)限,第三位表示其它用戶權(quán)限。
數(shù)字的細(xì)節(jié)如下:r記為4,w記為2,x記為1,可以有:
0:無任何權(quán)限, 即 —
1:僅有x權(quán)限, 即 --x
2:僅有w權(quán)限 即 -w-
3:有w和x權(quán)限 即 -wx
4:僅有r權(quán)限 即 r–
5:有r和x權(quán)限 即 r-x
6:有r和w權(quán)限 即 rw-
7:有全部權(quán)限 即 rwx
所以751表示: rwx(7) r-x(5) --x(1)
總結(jié)
- chmod命令
功能,修改文件、文件夾的權(quán)限細(xì)節(jié)
限制,只能是文件、文件夾的所屬用戶或root有權(quán)修改
語法:
選項(xiàng):-R,對(duì)文件夾內(nèi)的全部內(nèi)容應(yīng)用同樣規(guī)則 - 權(quán)限的數(shù)字序號(hào)
r代表4,w代表2,x代表1
rwx的相互組合可以得到從0到7的8種權(quán)限組合
如7代表:rwx,5代表:r-x,1代表:–x
3.5修改權(quán)限控制 - chown
chown命令
使用chown命令,可以修改文件、文件夾的所屬用戶和用戶組
普通用戶無法修改所屬為其它用戶或組,所以此命令只適用于root用戶執(zhí)行
- 選項(xiàng),-R,同chmod,對(duì)文件夾內(nèi)全部內(nèi)容應(yīng)用相同規(guī)則
- 選項(xiàng),用戶,修改所屬用戶
- 選項(xiàng),用戶組,修改所屬用戶組
- :用于分隔用戶和用戶組
示例:
- chown root hello.txt,將hello.txt所屬用戶修改為root
- chown :root hello.txt,將hello.txt所屬用戶組修改為root
- chown root:itheima hello.txt,將hello.txt所屬用戶修改為root,- 用戶組修改為itheima
- chown -R root test,將文件夾test的所屬用戶修改為root并對(duì)文件夾內(nèi)全部內(nèi)容應(yīng)用同樣規(guī)則
chown命令
功能,修改文件、文件夾的所屬用戶、組
限制,只可root執(zhí)行
語法:
選項(xiàng),-R,同chmod,對(duì)文件夾內(nèi)全部內(nèi)容應(yīng)用相同規(guī)則
選項(xiàng),用戶,修改所屬用戶
選項(xiàng),用戶組,修改所屬用戶組
:用于分隔用戶和用戶組
4. Linux實(shí)用操作
4.1各類小技巧(快捷鍵)
- ctrl + c 強(qiáng)制停止
- ctrl + d 退出登出
- history 查看歷史命令
- !命令前綴,自動(dòng)匹配上一個(gè)命令
- ctrl + r,搜索歷史命令
- ctrl + a | e,光標(biāo)移動(dòng)到命令開始或結(jié)束
- ctrl + ← | →,左右跳單詞
- ctrl + l 或 clear命令 清屏
4.2軟件安裝
Linux系統(tǒng)的應(yīng)用商店
yum命令
yum:RPM包軟件管理器,用于自動(dòng)化安裝配置Linux軟件,并可以自動(dòng)解決依賴問題。
- 選項(xiàng):-y,自動(dòng)確認(rèn),無需手動(dòng)確認(rèn)安裝或卸載過程
- install:安裝
- remove:卸載
- search:搜索
注意
yum命令需要root權(quán)限,可以su切換到root,或使用sudo提權(quán)。
yum命令需要聯(lián)網(wǎng)
- yum [-y] install wget, 通過yum命令安裝wget程序
- yum [-y] remove wget,通過yum命令卸載wget命令
- yum search wget,通過yum命令,搜索是否有wget安裝包
apt命令 - 擴(kuò)展
前面學(xué)習(xí)的各類Linux命令,都是通用的。 但是軟件安裝,CentOS系統(tǒng)和Ubuntu是使用不同的包管理器。
CentOS使用yum管理器,Ubuntu使用apt管理器
用法和yum一致,同樣需要root權(quán)限
- apt install wget,安裝wget
- apt remove wget,移除wget
- apt search wget,搜索wget
總結(jié)
- 在CentOS系統(tǒng)中,使用yum命令聯(lián)網(wǎng)管理軟件安裝
- 在Ubuntu系統(tǒng)中,使用apt命令聯(lián)網(wǎng)管理軟件安裝
4.3systemctl
Linux系統(tǒng)很多軟件(內(nèi)置或第三方)均支持使用systemctl命令控制:啟動(dòng)、停止、開機(jī)自啟
能夠被systemctl管理的軟件,一般也稱之為:服務(wù)
- start 啟動(dòng)
- stop 關(guān)閉
- status 查看狀態(tài)
- enable 開啟開機(jī)自啟
- disable 關(guān)閉開機(jī)自啟
系統(tǒng)內(nèi)置的服務(wù)比較多,比如:
- NetworkManager,主網(wǎng)絡(luò)服務(wù)
- network,副網(wǎng)絡(luò)服務(wù)
- firewalld,防火墻服務(wù)
- sshd,ssh服務(wù)(FinalShell遠(yuǎn)程登錄Linux使用的就是這個(gè)服務(wù))
4.4 軟連接
ln命令創(chuàng)建軟連接
在系統(tǒng)中創(chuàng)建軟鏈接,可以將文件、文件夾鏈接到其它位置。
類似Windows系統(tǒng)中的《快捷方式》
- -s選項(xiàng),創(chuàng)建軟連接
- 參數(shù)1:被鏈接的文件或文件夾
- 參數(shù)2:要鏈接去的目的地
實(shí)例:
- ln -s /etc/yum.conf ~/yum.conf
- ln -s /etc/yum ~/yum
總結(jié)
- 什么是軟連接?
可以將文件、文件夾鏈接到其它位置
鏈接只是一個(gè)指向,并不是物理移動(dòng),類似Windows系統(tǒng)的快捷方式 - 軟連接的使用語法
4.5日期、時(shí)區(qū)
date命令
通過date命令可以在命令行中查看系統(tǒng)的時(shí)間
- -d 按照給定的字符串顯示日期,一般用于日期計(jì)算
- 格式化字符串:通過特定的字符串標(biāo)記,來控制顯示的日期格式
-
- %Y 年
-
- %y 年份后兩位數(shù)字 (00…99)
-
- %m 月份 (01…12)
-
- %d 日 (01…31)
-
- %H 小時(shí) (00…23)
-
- %M 分鐘 (00…59)
-
- %S 秒 (00…60)
-
- %s 自 1970-01-01 00:00:00 UTC 到現(xiàn)在的秒數(shù)
系統(tǒng)默認(rèn)時(shí)區(qū)非中國的東八區(qū)。
使用root權(quán)限,執(zhí)行如下命令,修改時(shí)區(qū)為東八區(qū)時(shí)區(qū)
將系統(tǒng)自帶的localtime文件刪除,并將/usr/share/zoneinfo/Asia/Shanghai文件鏈接為localtime文件即可
ntp程序
我們可以通過ntp程序自動(dòng)校準(zhǔn)系統(tǒng)時(shí)間
安裝ntp:yum -y install ntp
啟動(dòng)并設(shè)置開機(jī)自啟:
- systemctl start ntpd
- systemctl enable ntpd
當(dāng)ntpd啟動(dòng)后會(huì)定期的幫助我們聯(lián)網(wǎng)校準(zhǔn)系統(tǒng)的時(shí)間
- 也可以手動(dòng)校準(zhǔn)(需root權(quán)限):ntpdate -u ntp.aliyun.com
通過阿里云提供的服務(wù)網(wǎng)址配合ntpdate(安裝ntp后會(huì)附帶這個(gè)命令)命令自動(dòng)校準(zhǔn)
4.6IP地址、主機(jī)名
每一臺(tái)聯(lián)網(wǎng)的電腦都會(huì)有一個(gè)地址,用于和其它計(jì)算機(jī)進(jìn)行通訊
IP地址主要有2個(gè)版本,V4版本和V6版本
IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的數(shù)字,如192.168.88.101就是一個(gè)標(biāo)準(zhǔn)的IP地址
可以通過命令:ifconfig,查看本機(jī)的ip地址,如無法使用ifconfig命令,可以安裝:yum -y install net-tools
除了標(biāo)準(zhǔn)的IP地址以外,還有幾個(gè)特殊的IP地址需要我們了解:
- 127.0.0.1,這個(gè)IP地址用于指代本機(jī)
- 0.0.0.0,特殊IP地址
-
- 可以用于指代本機(jī)
-
- 可以在端口綁定中用來確定綁定關(guān)系(后續(xù)講解)
-
- 在一些IP地址限制中,表示所有IP的意思,如放行規(guī)則設(shè)置為0.0.0.0,表示允許任意IP訪問
在Linux中修改主機(jī)名
- 可以使用命令:hostname查看主機(jī)名
- 以使用命令:hostnamectl set-hostname 主機(jī)名,修改主機(jī)名(需root)
- 重新登錄FinalShell即可看到主機(jī)名已經(jīng)正確顯示
域名解析
IP地址實(shí)在是難以記憶,有沒有什么辦法可以通過主機(jī)名或替代的字符地址去代替數(shù)字化的IP地址呢?
實(shí)際上,我們一直都是通過字符化的地址去訪問服務(wù)器,很少指定IP地址
比如,我們?cè)跒g覽器內(nèi)打開:www.baidu.com,會(huì)打開百度的網(wǎng)址
其中,www.baidu.com,是百度的網(wǎng)址,我們稱之為:域名
訪問www.baidu.com的流程如下:
即:
- 先查看本機(jī)的記錄(私人地址本)
-
- Windows看:C:\Windows\System32\drivers\etc\hosts
-
- Linux看:/etc/hosts
- 再聯(lián)網(wǎng)去DNS服務(wù)器(如114.114.114.114,8.8.8.8等)詢問
配置主機(jī)名映射
比如,我們FinalShell是通過IP地址連接到的Linux服務(wù)器,那有沒有可能通過域名(主機(jī)名)連接呢?
可以,我們只需要在Windows系統(tǒng)的:C:\Windows\System32\drivers\etc\hosts文件中配置記錄即可
為什么需要固定IP
當(dāng)前我們虛擬機(jī)的Linux操作系統(tǒng),其IP地址是通過DHCP服務(wù)獲取的。
DHCP:動(dòng)態(tài)獲取IP地址,即每次重啟設(shè)備后都會(huì)獲取一次,可能導(dǎo)致IP地址頻繁變更
原因1:辦公電腦IP地址變化無所謂,但是我們要遠(yuǎn)程連接到Linux系統(tǒng),如果IP地址經(jīng)常變化我們就要頻繁修改適配很麻煩
原因2:在剛剛我們配置了虛擬機(jī)IP地址和主機(jī)名的映射,如果IP頻繁更改,我們也需要頻繁更新映射關(guān)系
綜上所述,我們需要IP地址固定下來,不要變化了。
在VMware Workstation中配置固定IP
配置固定IP需要2個(gè)大步驟:
- 在VMware Workstation(或Fusion)中配置IP地址網(wǎng)關(guān)和網(wǎng)段(IP地址的范圍)
- 在Linux系統(tǒng)中手動(dòng)修改配置文件,固定IP
4.7網(wǎng)絡(luò)傳輸
4.7.1下載和網(wǎng)絡(luò)請(qǐng)求
ping命令
可以通過ping命令,檢查指定的網(wǎng)絡(luò)服務(wù)器是否是可聯(lián)通狀態(tài)
- 選項(xiàng):-c,檢查的次數(shù),不使用-c選項(xiàng),將無限次數(shù)持續(xù)檢查
- 參數(shù):ip或主機(jī)名,被檢查的服務(wù)器的ip地址或主機(jī)名地址
wget命令
wget是非交互式的文件下載器,可以在命令行內(nèi)下載網(wǎng)絡(luò)文件
- 選項(xiàng):-b,可選,后臺(tái)下載,會(huì)將日志寫入到當(dāng)前工作目錄的wget-log文件
- 參數(shù):url,下載鏈接
curl命令
curl可以發(fā)送http網(wǎng)絡(luò)請(qǐng)求,可用于:下載文件、獲取信息等
- 選項(xiàng):-O,用于下載文件,當(dāng)url是下載鏈接時(shí),可以使用此選項(xiàng)保存文件
- 參數(shù):url,要發(fā)起請(qǐng)求的網(wǎng)絡(luò)地址
4.7.2端口
端口,是設(shè)備與外界通訊交流的出入口。端口可以分為:物理端口和虛擬端口兩類
- 物理端口:又可稱之為接口,是可見的端口,如USB接口,RJ45網(wǎng)口,HDMI端口等
- 虛擬端口:是指計(jì)算機(jī)內(nèi)部的端口,是不可見的,是用來操作系統(tǒng)和外部進(jìn)行交互使用的
端口(虛擬)
物理端口我們?nèi)粘I钪薪?jīng)常見到,也能知曉它的作用。
但是虛擬端口,有什么用?為什么需要它呢?
計(jì)算機(jī)程序之間的通訊,通過IP只能鎖定計(jì)算機(jī),但是無法鎖定具體的程序。
通過端口可以鎖定計(jì)算機(jī)上具體的程序,確保程序之間進(jìn)行溝通
IP地址相當(dāng)于小區(qū)地址,在小區(qū)內(nèi)可以有許多住戶(程序),而門牌號(hào)(端口)就是各個(gè)住戶(程序)的聯(lián)系地址
端口
Linux系統(tǒng)是一個(gè)超大號(hào)小區(qū),可以支持65535個(gè)端口,這6萬多個(gè)端口分為3類進(jìn)行使用:
- 公認(rèn)端口:1~1023,通常用于一些系統(tǒng)內(nèi)置或知名程序的預(yù)留使用,如SSH服務(wù)的22端口,HTTPS服務(wù)的443端口
非特殊需要,不要占用這個(gè)范圍的端口 - 注冊(cè)端口:1024~49151,通??梢噪S意使用,用于松散的綁定一些程序\服務(wù)
- 動(dòng)態(tài)端口:49152~65535,通常不會(huì)固定綁定程序,而是當(dāng)程序?qū)ν膺M(jìn)行網(wǎng)絡(luò)鏈接時(shí),用于臨時(shí)使用。
如圖中,計(jì)算機(jī)A的微信連接計(jì)算機(jī)B的微信,A使用的50001即動(dòng)態(tài)端口,臨時(shí)找一個(gè)端口作為出口
計(jì)算機(jī)B的微信使用端口5678,即注冊(cè)端口,長期綁定此端口等待別人連接
查看端口占用
可以通過Linux命令去查看端口的占用情況
- 使用nmap命令,安裝nmap:yum -y install nmap
- 語法:nmap 被查看的IP地址
可以看到,本機(jī)(127.0.0.1)上有5個(gè)端口現(xiàn)在被程序占用了。
其中: - 22端口,一般是SSH服務(wù)使用,即FinalShell遠(yuǎn)程連接Linux所使用的端口
- 可以通過netstat命令,查看指定端口的占用情況
- 語法:netstat -anp | grep 端口號(hào),安裝netstat:yum -y install net-tools
如圖,可以看到當(dāng)前系統(tǒng)6000端口被程序(進(jìn)程號(hào)7174)占用了
其中,0.0.0.0:6000,表示端口綁定在0.0.0.0這個(gè)IP地址上,表示允許外部訪問
可以看到,當(dāng)前系統(tǒng)12345端口,無人使用
4.8進(jìn)程管理
進(jìn)程
程序運(yùn)行在操作系統(tǒng)中,是被操作系統(tǒng)所管理的。
為管理運(yùn)行的程序,每一個(gè)程序在運(yùn)行的時(shí)候,便被操作系統(tǒng)注冊(cè)為系統(tǒng)中的一個(gè):進(jìn)程
并會(huì)為每一個(gè)進(jìn)程都分配一個(gè)獨(dú)有的:進(jìn)程ID(進(jìn)程號(hào))
查看進(jìn)程
可以通過ps命令查看Linux系統(tǒng)中的進(jìn)程信息
語法:
選項(xiàng):-e,顯示出全部的進(jìn)程
選項(xiàng):-f,以完全格式化的形式展示信息(展示全部信息)
一般來說,固定用法就是: ps -ef 列出全部進(jìn)程的全部信息
查看指定進(jìn)程
- 在FinalShell中,執(zhí)行命令:tail,可以看到,此命令一直阻塞在那里
- 在FinalShell中,復(fù)制一個(gè)標(biāo)簽頁,執(zhí)行:ps -ef 找出tail這個(gè)程序的進(jìn)程信息
- 問題:是否會(huì)發(fā)現(xiàn),列出的信息太多,無法準(zhǔn)確的找到或很麻煩怎么辦?
我們可以使用管道符配合grep來進(jìn)行過濾,如:
ps -ef | grep tail,即可準(zhǔn)確的找到tail命令的信息
- 過濾不僅僅過濾名稱,進(jìn)程號(hào),用戶ID等等,都可以被grep過濾哦
- 如:ps -ef | grep 30001,過濾帶有30001關(guān)鍵字的進(jìn)程信息(一般指代過濾30001進(jìn)程號(hào))
關(guān)閉進(jìn)程
在Windows系統(tǒng)中,可以通過任務(wù)管理器選擇進(jìn)程后,點(diǎn)擊結(jié)束進(jìn)程從而關(guān)閉它。
同樣,在Linux中,可以通過kill命令關(guān)閉進(jìn)程。
語法:
選項(xiàng):-9,表示強(qiáng)制關(guān)閉進(jìn)程。不使用此選項(xiàng)會(huì)向進(jìn)程發(fā)送信號(hào)要求其關(guān)閉,但是否關(guān)閉看進(jìn)程自身的處理機(jī)制。
4.9主機(jī)狀態(tài)
查看系統(tǒng)資源占用
- 可以通過top命令查看CPU、內(nèi)存使用情況,類似Windows的任務(wù)管理器
默認(rèn)每5秒刷新一次,語法:直接輸入top即可,按q或ctrl + c退出
top命令內(nèi)容詳解 - PID:進(jìn)程id
- USER:進(jìn)程所屬用戶
- PR:進(jìn)程優(yōu)先級(jí),越小越高
- NI:負(fù)值表示高優(yōu)先級(jí),正表示低優(yōu)先級(jí)
- VIRT:進(jìn)程使用虛擬內(nèi)存,單位KB
- RES:進(jìn)程使用物理內(nèi)存,單位KB
- SHR:進(jìn)程使用共享內(nèi)存,單位KB
- S:進(jìn)程狀態(tài)(S休眠,R運(yùn)行,Z僵死狀態(tài),N負(fù)數(shù)優(yōu)先級(jí),I空閑狀態(tài))
- %CPU:進(jìn)程占用CPU率
- %MEM:進(jìn)程占用內(nèi)存率
- TIME+:進(jìn)程使用CPU時(shí)間總計(jì),單位10毫秒
- COMMAND:進(jìn)程的命令或名稱或程序文件路徑
top命令選項(xiàng)
top命令也支持選項(xiàng):
top交互式選項(xiàng)
當(dāng)top以交互式運(yùn)行(非-b選項(xiàng)啟動(dòng)),可以用以下交互式命令進(jìn)行控制
磁盤信息監(jiān)控
-
使用df命令,可以查看硬盤的使用情況
-
語法:df [-h]
選項(xiàng):-h,以更加人性化的單位顯示 -
以使用iostat查看CPU、磁盤的相關(guān)信息
語法:iostat [-x] [num1] [num2] -
選項(xiàng):-x,顯示更多信息
-
num1:數(shù)字,刷新間隔,num2:數(shù)字,刷新幾次
tps:該設(shè)備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)。“一次傳輸"意思是"一次I/O請(qǐng)求”。多個(gè)邏輯請(qǐng)求可能會(huì)被合并為"一次I/O請(qǐng)求"。"一次傳輸"請(qǐng)求的大小是未知的。 -
使用iostat的-x選項(xiàng),可以顯示更多信息
-
rrqm/s: 每秒這個(gè)設(shè)備相關(guān)的讀取請(qǐng)求有多少被Merge了(當(dāng)系統(tǒng)調(diào)用需要讀取數(shù)據(jù)的時(shí)候,VFS將請(qǐng)求發(fā)到各個(gè)FS,如果FS發(fā)現(xiàn)不同的讀取請(qǐng)求讀取的是相同Block的數(shù)據(jù),F(xiàn)S會(huì)將這個(gè)請(qǐng)求合并Merge, 提高IO利用率, 避免重復(fù)調(diào)用);
-
wrqm/s: 每秒這個(gè)設(shè)備相關(guān)的寫入請(qǐng)求有多少被Merge了。
-
rsec/s: 每秒讀取的扇區(qū)數(shù);sectors
-
wsec/: 每秒寫入的扇區(qū)數(shù)。
-
rKB/s: 每秒發(fā)送到設(shè)備的讀取請(qǐng)求數(shù)
-
wKB/s: 每秒發(fā)送到設(shè)備的寫入請(qǐng)求數(shù)
-
avgrq-sz 平均請(qǐng)求扇區(qū)的大小
-
avgqu-sz 平均請(qǐng)求隊(duì)列的長度。毫無疑問,隊(duì)列長度越短越好。
-
await: 每一個(gè)IO請(qǐng)求的處理的平均時(shí)間(單位是微秒毫秒)。
-
svctm 表示平均每次設(shè)備I/O操作的服務(wù)時(shí)間(以毫秒為單位)
-
%util: 磁盤利用率
網(wǎng)絡(luò)狀態(tài)監(jiān)控
- 可以使用sar命令查看網(wǎng)絡(luò)的相關(guān)統(tǒng)計(jì)(sar命令非常復(fù)雜,這里僅簡單用于統(tǒng)計(jì)網(wǎng)絡(luò))
語法:sar -n DEV num1 num2
選項(xiàng):-n,查看網(wǎng)絡(luò),DEV表示查看網(wǎng)絡(luò)接口
num1:刷新間隔(不填就查看一次結(jié)束),num2:查看次數(shù)(不填無限次數(shù))
信息解讀:
- IFACE 本地網(wǎng)卡接口的名稱
- rxpck/s 每秒鐘接受的數(shù)據(jù)包
- txpck/s 每秒鐘發(fā)送的數(shù)據(jù)包
- rxKB/S 每秒鐘接受的數(shù)據(jù)包大小,單位為KB
- txKB/S 每秒鐘發(fā)送的數(shù)據(jù)包大小,單位為KB
- rxcmp/s 每秒鐘接受的壓縮數(shù)據(jù)包
- txcmp/s 每秒鐘發(fā)送的壓縮包
- rxmcst/s 每秒鐘接收的多播數(shù)據(jù)包
4.10環(huán)境變量
環(huán)境變量是操作系統(tǒng)(Windows、Linux、Mac)在運(yùn)行的時(shí)候,記錄的一些關(guān)鍵性信息,用以輔助系統(tǒng)運(yùn)行。
在Linux系統(tǒng)中執(zhí)行:env命令即可查看當(dāng)前系統(tǒng)中記錄的環(huán)境變量
環(huán)境變量是一種KeyValue型結(jié)構(gòu),即名稱和值,如下圖:
如左圖,圖中記錄了:
- HOME:/home/itheima,用戶的HOME路徑
- USER:itheima,當(dāng)前的操作用戶
- PWD:當(dāng)前工作路徑
…
等等一系列信息,用于輔助系統(tǒng)在運(yùn)行的時(shí)候
從環(huán)境變量中獲取關(guān)鍵信息
環(huán)境變量:PATH
在前面提出的問題中,我們說無論當(dāng)前工作目錄是什么,都能執(zhí)行/usr/bin/cd這個(gè)程序,這個(gè)就是借助環(huán)境變量中:PATH這個(gè)項(xiàng)目的值來做到的。
PATH記錄了系統(tǒng)執(zhí)行任何命令的搜索路徑,如上圖記錄了(路徑之間以:隔開):
- /usr/local/bin
- /usr/bin
- /usr/local/sbin
- /usr/sbin
- /home/itheima/.local/bin
- /home/itheima/bin
當(dāng)執(zhí)行任何命令,都會(huì)按照順序,從上述路徑中搜索要執(zhí)行的程序的本體
比如執(zhí)行cd命令,就從第二個(gè)目錄/usr/bin中搜索到了cd命令,并執(zhí)行
**
符號(hào)
?
?
在
L
i
n
u
x
系統(tǒng)中,
符號(hào)** 在Linux系統(tǒng)中,
符號(hào)??在Linux系統(tǒng)中,符號(hào)被用于取”變量”的值。
環(huán)境變量記錄的信息,除了給操作系統(tǒng)自己使用外,如果我們想要取用,也可以使用。
取得環(huán)境變量的值就可以通過語法:$環(huán)境變量名 來取得
比如: echo $PATH
就可以取得PATH這個(gè)環(huán)境變量的值,并通過echo語句輸出出來。
又或者:echo ${PATH}ABC
當(dāng)和其它內(nèi)容混合在一起的時(shí)候,可以通過{}來標(biāo)注取的變量是誰
自行設(shè)置環(huán)境變量
Linux環(huán)境變量可以用戶自行設(shè)置,其中分為:
- 臨時(shí)設(shè)置,語法:export 變量名=變量值
- 永久生效
-
- 針對(duì)當(dāng)前用戶生效,配置在當(dāng)前用戶的: ~/.bashrc文件中
-
- 針對(duì)所有用戶生效,配置在系統(tǒng)的: /etc/profile文件中
-
- 并通過語法:source 配置文件,進(jìn)行立刻生效,或重新登錄FinalShell生效
4.11上傳、下載
我們可以通過FinalShell工具,方便的和虛擬機(jī)進(jìn)行數(shù)據(jù)交換。
在FinalShell軟件的下方窗體中,提供了Linux的文件系統(tǒng)視圖,可以方便的:
- 瀏覽文件系統(tǒng),找到合適的文件,右鍵點(diǎn)擊下載,即可傳輸?shù)奖镜仉娔X
- 瀏覽文件系統(tǒng),找到合適的目錄,將本地電腦的文件拓展進(jìn)入,即可方便的上傳數(shù)據(jù)到Linux中
rz、sz命令
當(dāng)然,除了通過FinalShell的下方窗體進(jìn)行文件的傳輸以外,也可以通過rz、sz命令進(jìn)行文件傳輸。
rz、sz命令需要安裝,可以通過:yum -y install lrzsz,即可安裝。
- rz命令,進(jìn)行上傳,語法:直接輸入rz即可
- sz命令進(jìn)行下載,語法:sz 要下載的文件
文件會(huì)自動(dòng)下載到桌面的:fsdownload文件夾中。
注意,rz、sz命令需要終端軟件支持才可正常運(yùn)行
FinalShell、SecureCRT、XShell等常用終端軟件均支持此操作
4.12壓縮、解壓
壓縮格式
市面上有非常多的壓縮格式
- zip格式:Linux、Windows、MacOS,常用
- 7zip:Windows系統(tǒng)常用
- rar:Windows系統(tǒng)常用
- tar:Linux、MacOS常用
- gzip:Linux、MacOS常用
在Windows系統(tǒng)中常用的軟件如:winrar、bandizip等軟件,都支持各類常見的壓縮格式,這里不多做討論。
我們現(xiàn)在要學(xué)習(xí),如何在Linux系統(tǒng)中操作:tar、gzip、zip這三種壓縮格式
完成文件的壓縮、解壓操作。
tar命令
Linux和Mac系統(tǒng)常用有2種壓縮格式,后綴名分別是:
- .tar,稱之為tarball,歸檔文件,即簡單的將文件組裝到一個(gè).tar的文件內(nèi),并沒有太多文件體積的減少,僅僅是簡單的封裝
- .gz,也常見為.tar.gz,gzip格式壓縮文件,即使用gzip壓縮算法將文件壓縮到一個(gè)文件內(nèi),可以極大的減少壓縮后的體積
針對(duì)這兩種格式,使用tar命令均可以進(jìn)行壓縮和解壓縮的操作
- -c,創(chuàng)建壓縮文件,用于壓縮模式
- -v,顯示壓縮、解壓過程,用于查看進(jìn)度
- -x,解壓模式
- -f,要?jiǎng)?chuàng)建的文件,或要解壓的文件,-f選項(xiàng)必須在所有選項(xiàng)中位置處于最后一個(gè)
- -z,gzip模式,不使用-z就是普通的tarball格式
- -C,選擇解壓的目的地,用于解壓模式
tar 命令壓縮
tar的常用組合為:
- tar -cvf test.tar 1.txt 2.txt 3.txt
將1.txt 2.txt 3.txt 壓縮到test.tar文件內(nèi) - tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
將1.txt 2.txt 3.txt 壓縮到test.tar.gz文件內(nèi),使用gzip模式
注意:
- -z選項(xiàng)如果使用的話,一般處于選項(xiàng)位第一個(gè)
- -f選項(xiàng),必須在選項(xiàng)位最后一個(gè)
tar 解壓
常用的tar解壓組合有
- tar -xvf test.tar
解壓test.tar,將文件解壓至當(dāng)前目錄 - tar -xvf test.tar -C /home/itheima
解壓test.tar,將文件解壓至指定目錄(/home/itheima) - tar -zxvf test.tar.gz -C /home/itheima
以Gzip模式解壓test.tar.gz,將文件解壓至指定目錄(/home/itheima)
注意:
- -f選項(xiàng),必須在選項(xiàng)組合體的最后一位
- -z選項(xiàng),建議在開頭位置
- -C選項(xiàng)單獨(dú)使用,和解壓所需的其它參數(shù)分開
zip 命令壓縮文件
可以使用zip命令,壓縮文件為zip壓縮包
- -r,被壓縮的包含文件夾的時(shí)候,需要使用-r選項(xiàng),和rm、cp等命令的-r效果一致
unzip 命令解壓文件
使用unzip命令,可以方便的解壓zip壓縮包文章來源:http://www.zghlxwxcb.cn/news/detail-530442.html
- -d,指定要解壓去的位置,同tar的-C選項(xiàng)
- 參數(shù),被解壓的zip壓縮包文件
總結(jié)
- Linux系統(tǒng)常用的壓縮格式有:
- tar格式,歸檔文件,簡單的將文件整合到一個(gè)文件內(nèi),無壓縮效果
- gzip格式,gzip壓縮文件,不僅能整合到一個(gè)文件,同時(shí)有體積壓縮效果
- tar命令
- tar [-z -x -v -c -f -C] 參數(shù)…
- -c,創(chuàng)建壓縮文件、-v,查看壓縮\解壓過程、-x,解壓模式
- -f,指定壓縮\解壓的文件,-z,gzip模式,-C,指定解壓的路徑
- -z在選項(xiàng)組建議在開頭,-f在選項(xiàng)組內(nèi)必須在尾部,-C單獨(dú)使用
- zip命令
- zip [-r] 參數(shù)…
- -r,壓縮文件夾使用
- unzip命令
- unzip [-d] 參數(shù)
- -d,指定解壓去的目錄
到了這里,關(guān)于Linux操作系統(tǒng)詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!