快速搭建網(wǎng)站后天臺百度搜索鏈接入口
學習鏈接
視頻鏈接:黑馬程序員新版Linux零基礎快速入門到精通
原文鏈接:黑馬程序員新版Linux零基礎快速入門到精通——學習筆記
黑馬Linux筆記
文章目錄
- 學習鏈接
- 01初識Linux
- 1.1、操作系統(tǒng)概述
- 1.1.1、硬件和軟件
- 1.1.2、操作系統(tǒng)
- 1.1.3、常見操作系統(tǒng)
- 1.2、初識Linux
- 1.2.1、Linux的誕生
- 1.2.2、Linux的內核
- 1.2.3、Linux發(fā)行版
- 1.3、虛擬機介紹
- 1.4、VMware WorkStation安裝
- 1.5、在VMware上安裝Linux
- 1.6、遠程連接Linux系統(tǒng)
- 1.6.1、學習目標
- 1.6.2、圖形化、命令行
- 1.6.3、使用命令行學習Linux系統(tǒng)
- 1.6.4、FinalShell的下載地址:
- 1.6.5、遠程連接虛擬機步驟
- 1.7、拓展:WSL(Windows SubSystem for Linux)
- 1.7.1、為什么要用WSL
- 1.7.2、什么是WSL
- 1.7.3、部署WSL
- 1.7.4、安裝Ubuntu
- 1.7.5、安裝Terminal軟件
- 1.8、拓展:虛擬機快照
- 1.8.1、為什么要進行虛擬機快照?
- 1.8.2、虛擬機關機的狀態(tài)下,進行虛擬機快照
- 02、Linux基礎命令
- 2.1、Linux的目錄結構
- 2.1.1、學習目標
- 2.1.2、Linux的目錄結構是一個樹型結構
- 2.1.3、Linux只有一個頂級目錄,稱之為:根目錄
- 2.1.4、課后練習
- 2.2、Linux命令入門
- 2.2.1、Linux命令基礎
- 1、命令行與命令
- 2、Linux命令有其通用的格式
- 2.2.2、ls命令
- 1、作用
- 2、語法
- 拓展:HOME目錄和工作目錄
- 3、ls命令參數(shù)(路徑)
- (1)ls命令的參數(shù)的作用
- (2)舉例:查看根目錄下的內容
- 4、ls命令選項(-a -l -h)
- (1)-a
- (2)-l
- (3)-h
- (4)組合使用
- 2.2.3、cd 切換工作目錄
- 1、作用
- 2、語法
- 2.2.4、pwd 查看當前工作目錄
- 1、作用
- 2、語法
- 2.2.5、mkdir 創(chuàng)建目錄命令
- 1、作用
- 2、語法
- 3、創(chuàng)建多層級目錄
- 2.4、相對路徑、絕對路徑和特殊路徑符
- 2.4.1、相對路徑和絕對路徑
- 2.4.2、特殊路徑符(.)(…)(~)
- 2.4.3、課后練習
- 2.5、文件操作命令
- 2.5.1、touch 創(chuàng)建文件
- 1、作用
- 2、語法
- 2.5.2、cat 查看文件內容
- 1、作用
- 2、語法
- 2.5.3、more 查看文件內容
- 1、作用
- 2、語法
- 3、退出查看
- 4、與cat的不同點
- 2.5.4、cp 復制文件\\文件夾
- 1、作用
- 2、語法
- 2.5.5、mv 移動文件或文件夾
- 1、作用
- 2、語法
- 2.5.6、rm 刪除文件、文件夾
- 1、作用
- 2、語法
- 3、通配符\*
- 4、強制刪除,-f選項
- 2.6、統(tǒng)計命令
- 2.6.1、grep命令
- 1、作用
- 2、語法
- 2.6.2、wc命令 做數(shù)量統(tǒng)計
- 1、作用
- 2、語法
- 2.6.3、管道符|
- 1、作用
- 2.7、查找命令(which、find)
- 2.7.1、which命令
- 1、作用
- 2、語法
- 2.7.2、find命令
- 1、作用1
- 2、find命令結合通配符\*
- 3、作用2
- 4、課后練習
- 2.8、輸出指令:echo、重定向符和tail
- 2.8.1、echo命令
- 1、作用
- 2、語法
- 3、當輸出內容為命令時\`\`
- 2.8.2、重定向符>和>>
- 2.8.3、tail命令
- 1、作用
- 2、語法
- 3、課后練習
- 2.9、vi編輯器
- 2.9.1、vi\\vim編輯器介紹
- 2.9.2、vi\\vim編輯器的三種工作模式
- 2.9.3、通過vi/vim編輯器編輯文件,進入命令:
- 2.9.4、vi 編輯器的快速體驗
- 2.9.5、命令模式快捷鍵
- 2.9.6、底線命令模式
- 03、Linux用戶和權限管控
- 3.1、認知root 用戶
- 3.1.1、root用戶(超級管理員)
- 3.1.2、su和exit命令
- 1、作用
- 2、語法
- 3、退出
- 3.1.3、sudo命令
- 1、作用
- 2、語法
- 3、為普通用戶配置sudo認證
- 3.2、用戶、用戶組管理
- 3.3、查看權限控制
- 3.4、修改權限控制
- 3.4.1、chmod命令
- 1、作用
- 2、語法
- 3、權限的數(shù)字序號
- 3.4.2、chown命令
- 1、作用
- 2、語法
- 3、示例
- 04、Linux實用操作
- 4.1、各類小技巧(快捷鍵)
- 4.1.1、強制停止
- 4.1.2、退出或登出
- 4.1.3、history——歷史命令搜索
- 1、作用
- 2、語法
- 3、案例
- 4、`!命令前綴`
- 5、`Ctrl+r`,輸入內容去匹配歷史命令
- 4.1.4、光標移動快捷鍵
- 4.1.5、清屏
- 4.2、軟件安裝
- 4.2.1、Linux系統(tǒng)的應用商店
- 4.2.2、yum命令
- 1、作用
- 2、語法
- 3、案例
- 4.2.3、apt命令-擴展
- 1、作用
- 2、語法
- 3、案例
- 4.3、軟件操作命令
- 4.3.1、systemctl
- 1、作用
- 2、語法
- 3、部分第三方軟件以systemctl進行控制
- 4.4、軟鏈接
- 4.4.1、什么是軟鏈接
- 4.4.2、ln命令創(chuàng)建軟鏈接
- 1、作用
- 2、語法
- 3、實例
- 4.5、日期、時區(qū)
- 4.5.1、date命令
- 1、作用
- 2、語法
- 3、date命令進行日期加減
- 4.5.2、修改Linux時區(qū)
- 4.5.3、ntp程序
- 4.6、IP地址、主機名
- 4.6.1、IP地址
- 1、IP地址介紹
- 2、查看主機IP地址命令
- 3、特殊IP地址
- 4.6.2、主機名
- 1、主機名介紹
- 2、在Linux中修改主機名
- 4.6.3、域名解析
- 1、什么是域名解析
- 2、訪問域名的流程
- 3、配置主機名映射
- 4.6.4、虛擬機配置固定IP
- 1、為什么需要固定IP
- 2、(Windows)在VMware Workstation中配置固定IP
- 3、(MacOS)在VMware Fusion中配置固定IP
- 4.7、網(wǎng)絡傳輸
- 4.7.1、下載和網(wǎng)絡請求
- 1、ping命令
- (1)作用
- (2)語法
- 2、wget命令
- (1)作用
- (2)語法
- 3、curl命令
- (1)作用
- (2)語法
- 4.7.2、端口
- 1、端口
- 2、虛擬端口
- 3、Linux系統(tǒng)支持65535個端口,這些端口分為3類進行使用
- (1)公認端口
- (2)注冊端口
- (3)動態(tài)端口
- 4、查看端口占用
- (1)nmap命令
- (2)netstat命令
- 4.8、進程管理
- 4.8.1、進程
- 4.8.2、ps——查看進程
- 1、作用
- 2、語法
- 3、查看指定進程
- 4.8.3、kill——關閉進程
- 1、作用
- 2、語法
- 4.9、主機狀態(tài)
- 4.9.1、top命令
- 1、作用
- 2、語法
- 3、top命令內容詳解
- 4、top命令選項
- 5、top交互式選項
- 4.9.2、磁盤信息監(jiān)控
- 4.9.2.1、df命令
- 1、作用
- 2、語法
- 4.9.2.2、iostat命令
- 1、作用
- 2、語法
- 3、使用`iostat`的-x選項,可以顯示更多的信息
- 4.9.3、網(wǎng)絡狀態(tài)監(jiān)控
- 4.9.3.1、sar命令
- 1、作用
- 2、語法
- 4.10、環(huán)境變量
- 4.10.1、環(huán)境變量
- 1、環(huán)境變量的作用
- 2、環(huán)境變量是什么?
- 3、環(huán)境變量:PATH
- 4.10.2、$符號
- 4.10.3、自行設置環(huán)境變量
- 4.11、上傳、下載
- 4.12、壓縮、解壓
- 4.12.1、壓縮格式
- 4.12.2、tar命令
- 4.12.3、zip、unzip命令
01初識Linux
1.1、操作系統(tǒng)概述
1.1.1、硬件和軟件
我們所熟知的計算機是由硬件和軟件組成的。
硬件: 計算機系統(tǒng)中由電子、機械和光電元件等組成的各種物理裝置的總稱。
(看的見、摸得著的東西:CPU、內存硬盤、顯示屏、鼠標等)
軟件: 是用戶和計算機硬件之間的接口和橋梁,用戶通過軟件和計算機進行交流。
(操作系統(tǒng),就是軟件的一類)
1.1.2、操作系統(tǒng)
操作系統(tǒng)是計算機軟件的一種
主要作用:作為用戶和計算機硬件之間的橋梁,調度和管理計算機硬件進行工作。
操作系統(tǒng)可以:
- 調度CPU進行工作
- 調度內存進行工作
- 調度硬盤進行數(shù)據(jù)存儲
- 調度網(wǎng)卡進行網(wǎng)絡通訊
- 調度音響發(fā)出聲音
- 調度打印機打印內容
- …
1.1.3、常見操作系統(tǒng)
(1)PC操作系統(tǒng):Windows、Linux、MacOS
(2)移動設備的操作系統(tǒng):Android、IOS、HarmonyOS
1.2、初識Linux
1.2.1、Linux的誕生
Linux由 林納斯·托瓦茲 在1991年創(chuàng)立并發(fā)展至今成為服務器操作系統(tǒng)領域的核心系統(tǒng)。
1.2.2、Linux的內核
Linux系統(tǒng)由兩部分組成:Linux系統(tǒng)內核、系統(tǒng)級應用程序
- Linux系統(tǒng)內核:內核提供最核心的功能,如:調度CPU、調度內存、調度文件系統(tǒng)、調度網(wǎng)絡通訊、調度IO等;
- 系統(tǒng)級應用程序:可以理解為 出廠自帶程序 ,可供用戶快速上手操作系統(tǒng),如:文件管理器、任務管理器、圖片查看、音樂播放等。
舉例:
比如,播放音樂,無論用戶使用自帶音樂播放器或是自行安裝的第三方播放器,均是由播放器程序,調用內核提供的相關功能,由內核調度CPU解碼、音響發(fā)聲等。
內核是免費、開源的
-
任何人都可以獲得并修改內核,并且自行集成系統(tǒng)級程序
下載Linux內核地址:http://www.kernel.org
-
提供了內核+系統(tǒng)級程序的完整封裝,稱之為Linux發(fā)行版。
1.什么是Linux系統(tǒng)的內核?
內核提供了Linux系統(tǒng)的主要功能,如硬件調度管理的能力。Linux內核是免費開源的,任何人都可以查看內核的源代碼,甚至是貢獻源代碼。
2.什么是Linux系統(tǒng)發(fā)行版?
內核無法被用戶直接使用,需要配合應用程序才能被用戶使用。在內核之上,封裝系統(tǒng)級應用程序,組合在一起就稱之為Linux發(fā)行版。
1.2.3、Linux發(fā)行版
任何人都可以封裝Linux,目前市面上由非常多的Linux發(fā)行版,常用的、知名的如下:
本次課程,我們將基于:
- 主要基于 CentOS操作系統(tǒng) 進行講解
- 輔助講解 Ubuntu系統(tǒng) 的相關知識
不同的發(fā)行版:
- 基礎命令100%是相同的
- 部分操作不同(如軟件安裝)
不論用什么發(fā)行版,都是Linux,學到的東西都是 通用 的。
1.3、虛擬機介紹
學習Linux系統(tǒng),就需要有一個可用的Linux系統(tǒng)。
由于Linux系統(tǒng)并不適合日常辦公使用,所以我們需要借助虛擬機來獲得可用的Linux系統(tǒng)環(huán)境進行學習。
借助虛擬化技術,我們可以在系統(tǒng)中,通過軟件:模擬計算機硬件,并給虛擬硬件安裝真實的操作系統(tǒng)。
這樣,就可以在電腦中,虛擬出一個完整的電腦,以供我們學習Linux系統(tǒng)。
1.什么是虛擬機?
通過虛擬化技術,在電腦內,虛擬出計算機硬件,并給虛擬的硬件安裝操作系統(tǒng),即可得到一臺虛擬的電腦,稱之為虛擬機。
2.為什么要使用虛擬機?
學習Linux系統(tǒng),需要有Linux系統(tǒng)環(huán)境。我們不能給自己電腦重裝系統(tǒng)為Linux,所以通過虛擬機的形式,得到可以用的Linux系統(tǒng)環(huán)境,供后續(xù)學習使用。
1.4、VMware WorkStation安裝
1、課程選用VMware WorkStation軟件來提供虛擬機。
2、下載地址:https://www.vmware.com/cn/products/workstation-pro.html
3、軟件安裝完成之后,驗證一下網(wǎng)絡適配器是否正常配置。
可通過快捷鍵:win+R,輸入ncpa.cpl回車即可打開。
1.5、在VMware上安裝Linux
1、下載CentOS操作系統(tǒng)
首先,我們需要下載操作系統(tǒng)的安裝軟件,本次使用CentOS7.6版本進行學習:
下載地址:https://vault.centos.org/7.6.1810/isos/x86_64/
或者直接使用如下鏈接下載:
https://vault.centos.org/7.6.1810/x86_64/CentOS-7-x86_64-DVD-1810.iso
2、創(chuàng)建虛擬機步驟:
1.6、遠程連接Linux系統(tǒng)
1.6.1、學習目標
- 掌握操作系統(tǒng)的圖形化、命令行2種操作模式
- 理解為什么使用命令行操作Linux系統(tǒng)
- 掌握使用FinalShell軟件連接Linux操作系統(tǒng)
1.6.2、圖形化、命令行
- 圖形化:圖形化頁面使用操作系統(tǒng)。使用操作系統(tǒng)提供的圖形化頁面,以獲得圖形化反饋的形式去使用操作系統(tǒng)。
- 命令行:以命令的形式使用操作系統(tǒng)。使用操作系統(tǒng)提供的各類命令,以獲得字符反饋的形式去使用操作系統(tǒng)。
不論是Windows還是Linux亦或是MacOS系統(tǒng),都是支持這兩種使用形式。
- Linux操作系統(tǒng)的圖形化頁面不好用且不穩(wěn)定
- 使用命令行的形式操作更加高效且穩(wěn)定資源占用低
- 企業(yè)和開發(fā)者都選擇命令行,所以我們也學習命令行
1.6.3、使用命令行學習Linux系統(tǒng)
在開發(fā)中,使用命令行形式,效率更高,更加直觀,并且資源占用低,程序運行更穩(wěn)定。
所以,在后續(xù)的課程學習中,我們:
- 除了在少數(shù)需要做對照講解的情況下會使用圖形化頁面
- 其余都會以命令行的形式去講解Linux操作系統(tǒng)的使用
1.6.4、FinalShell的下載地址:
Windows:http://www.hostbuf.com/downloads/finalshell_install.exe
Mac:http://www.hostbuf.com/downloads/finalshell_install.pkg
下載完成后雙擊打開安裝。
1.6.5、遠程連接虛擬機步驟
注意:
Linux虛擬機如果重啟,有可能,發(fā)生IP改變
如果改變IP需要在FinalShell中修改連接的IP地址
1.7、拓展:WSL(Windows SubSystem for Linux)
1.7.1、為什么要用WSL
WSL作為Windows10系統(tǒng)帶來的全新特性,正在逐步顛覆開發(fā)人員既有的選擇。
- 傳統(tǒng)方式獲取Linux操作系統(tǒng)環(huán)境,是安裝完整的虛擬機,如VMware
- 使用WSL,可以以非常輕量化的方式,得到Linux系統(tǒng)環(huán)境
目前,開發(fā)者正在逐步拋棄以虛擬機的形式獲取Linux系統(tǒng)環(huán)境,而在逐步擁抱WSL環(huán)境。
所以,課程也緊跟當下趨勢,為同學們講解如何使用WSL,簡單、快捷的獲得Linux系統(tǒng)環(huán)境。
所以,為什么要用WSL,其實很簡單:
- 開發(fā)人員都在用,大家都用的,我們也要學習
- 實在是太方便了,簡單、好用、輕量化、省內存
1.7.2、什么是WSL
WSL: Windows Subsystem for Linux,是用于Windows系統(tǒng)之上的Linux子系統(tǒng)。
作用很簡單,可以在Windows系統(tǒng)中獲得Linux系統(tǒng)環(huán)境,并完全直連計算機硬件,無需通過虛擬機虛擬硬件。
簡而言之:
Windows10的WSL功能,可以無需單獨虛擬一套硬件設備,就可以直接使用主機的物理硬件,構建Linux操作系統(tǒng),并不會影響Windows系統(tǒng)本身的運行。
1.7.3、部署WSL
1.7.4、安裝Ubuntu
微軟商店搜索Ubuntu直接進行安裝
1.7.5、安裝Terminal軟件
微軟商店搜索Terminal直接進行安裝
1.8、拓展:虛擬機快照
1.8.1、為什么要進行虛擬機快照?
在學習階段我們無法避免的可能損壞Linux操作系統(tǒng)。如果損壞的話,重新安裝一個Linux操作系統(tǒng)就會十分麻煩。VMware虛擬機(WorkStation和Funsion)支持為虛擬機制作快照。通過快照將當前虛擬機的狀態(tài)保存下來,在以后可以通過快照恢復虛擬機到保存的狀態(tài)。
1.8.2、虛擬機關機的狀態(tài)下,進行虛擬機快照
- 制作快照
- 還原快照
1.快照有什么作用?
快照可以保存虛擬機的狀態(tài),當虛擬機出現(xiàn)問題的時候,可以通過預先制作的快照恢復到制作時候的狀態(tài),用作備份用。
02、Linux基礎命令
2.1、Linux的目錄結構
2.1.1、學習目標
- 掌握Linux系統(tǒng)的目錄結構
- 掌握Linux系統(tǒng)的路徑表達式
2.1.2、Linux的目錄結構是一個樹型結構
Windows系統(tǒng)可以擁有多個盤符,如C盤、D盤、E盤
Linux沒有盤符這個概念,只有一個根目錄/,所有文件都在它下面
-
在Linux系統(tǒng)中,路徑之間的層級關系,使用
:/
來表示如:/usr/local/hello.txt
注意:開頭的/表示根目錄;后面的/表示層級關系
-
在Windows系統(tǒng)中,路徑之間的層級關系,使用
:\
來表示如:D:\data\work\hello.txt
注意:D:表示D盤;\表示層級關系
2.1.3、Linux只有一個頂級目錄,稱之為:根目錄
Windows系統(tǒng)有多個頂級目錄,即各個盤符
2.1.4、課后練習
請根據(jù)語言描述,寫出對應的Linux路徑
-
在根目錄下有一個文件夾test,文件夾內有一個文件hello.txt,請描述文件的路徑
/test/hello.txt
-
在根目錄下有一個文件itheima.txt,請描述文件的路徑
/itheima.txt
-
在根目錄下有一個文件夾itcast,在itcast文件夾內有文件夾itheima,在itheima文件夾內有文件hello.txt,請描述文件的路徑
/itcast/itheima/hello.txt
2.2、Linux命令入門
2.2.1、Linux命令基礎
1、命令行與命令
- 命令行:即Linux終端(Terminal),是一種命令提示符頁面。以純“字符”的形式操作系統(tǒng),可以使用各種字符化命令對系統(tǒng)發(fā)出操作指令。
- 命令:即Linux程序。一個命令就是一個Linux的程序。命令沒有圖形化頁面,可以在命令行(終端中)提供字符化的反饋。
2、Linux命令有其通用的格式
command [-options][parameter]
命令本體+可選選項+可選參數(shù)
- **command:**命令本身
- -options:命令的一些選項[可選,非必填],可以通過選項控制命令的行為細節(jié)
- parameter:命令的參數(shù)[可選,非必填],多數(shù)用于命令的指向目標等
語法中的[],表示可選的意思
示例:
-
ls -l /home/itheima
,ls是命令本身,-l是選項,/home/itheima是參數(shù)
- 意思是以列表的形式,顯示/home/itheima目錄內的內容
-
cp -r test1 test2
,cp是命令本身,-r是選項,test1和test2是參數(shù)
- 意思是復制文件夾test1成為test2
2.2.2、ls命令
1、作用
在命令行中,以平鋪的形式,展示當前工作目錄(默認HOME目錄)下的內容(文件或文件夾)
2、語法
ls [-a -l -h] [Linux路徑]
-
-a -l -h是可選的選項
-
Linux路徑是此命令可選的參數(shù)
-
無選項參數(shù),直接使用ls命令本體:以平鋪形式,列出當前工作目錄下的內容
拓展:HOME目錄和工作目錄
HOME目錄: 每個Linux操作用戶在Linux系統(tǒng)的個人賬戶目錄,默認路徑在:/home/用戶名
- 如圖中的Linux用戶是kx,其HOME目錄是:/home/kx
當前工作目錄:
- Linux系統(tǒng)的命令行終端,在啟動的時候,默認會加載:當前登錄用戶的HOME目錄作為當前工作目錄,所以ls命令列出的是HOME目錄的內容。
3、ls命令參數(shù)(路徑)
(1)ls命令的參數(shù)的作用
- 不使用參數(shù):列出當前工作目錄的內容,及用戶的HOME目錄
- 使用參數(shù):列出指定路徑的內容
(2)舉例:查看根目錄下的內容
4、ls命令選項(-a -l -h)
(1)-a
- all,即列出全部文件(包含隱藏的文件/文件夾)
可以看出,ls -a對比ls列出的內容更多了
- 圖中以.開頭的,表示是Linux系統(tǒng)的隱藏文件/文件夾(只要以.開頭,就能自動隱藏)
- 只有通過-a選項,才能看到這些隱藏的文件/文件夾
(2)-l
- 以列表(豎向排列)的形式展示內容,并展示更多信息。
(3)-h
- 以易于閱讀的形式,列出文件大小,如K、M、G
- -h選項必須要搭配-l一起使用
(4)組合使用
- ls -l -a
- ls -la
- ls -al
上述三種寫法,都是一樣的,表示同時應用-l和-a的功能。
除了選項本身可以組合外,選項和參數(shù)也是可以一起使用。
2.2.3、cd 切換工作目錄
1、作用
cd命令來自英文:Change Directory(更改目錄)
通過cd命令,更改當前所在的工作目錄。
2、語法
cd [Linux 路徑]
- cd命令無需選項,只有參數(shù),表示要切換到哪個目錄下
- cd命令直接執(zhí)行,不寫參數(shù),表示回到用戶的HOME目錄
2.2.4、pwd 查看當前工作目錄
1、作用
pwd命令來自:Print Work Directory(打印工作目錄)
通過pwd命令,來查看當前所在的工作目錄。
2、語法
pwd
-
pwd命令,無選項,無參數(shù),直接輸入pwd即可。
2.2.5、mkdir 創(chuàng)建目錄命令
1、作用
mkdir來自英文:Make Directory
創(chuàng)建新的目錄(文件夾)
2、語法
mkdir [-p] Linux路徑
- 參數(shù)必填:表示Linux路徑,即要創(chuàng)建的文件夾的路徑,相對路徑或絕對路徑均可。
- -p選項可選:表示自動創(chuàng)建不存在的父目錄,適用于創(chuàng)建連續(xù)多層級的目錄。
3、創(chuàng)建多層級目錄
通過-p選項,將一整個路徑鏈條都創(chuàng)建完成
注:創(chuàng)建文件夾需要修改權限,請確保操作均在HOME目錄內,不要在HOME外操作
涉及到權限問題,HOME外無法成功
2.4、相對路徑、絕對路徑和特殊路徑符
2.4.1、相對路徑和絕對路徑
-
絕對路徑:以根目錄為起點,描述路徑的一種寫法,路徑描述以/開頭
-
相對路徑:以當前目錄為起點,描述路徑的一種寫法,路徑無需描述以/開頭
2.4.2、特殊路徑符(.)(…)(~)
當前目錄處于
/home/kx/Desktop
,現(xiàn)在想要向上回退一級,切換目錄到/home/kx
中,如何做?(1)直接通過cd,即可回到HOME目錄;
(2)也可以通過特殊路徑符來完成。
-
.
:表示當前目錄- 比如
cd ./Desktop
表示切換到當前目錄下的Desktop目錄內,和cd Desktop
效果一致
- 比如
-
..
:表示上一級目錄- 比如:
cd ..
即可切換到上一級目錄,cd ../..
切換到上二級目錄
- 比如:
-
~
:表示HOME目錄- 比如
cd ~
即可切換到HOME目錄或cd ~/Desktop
,切換到HOME內的Desktop目錄
- 比如
2.4.3、課后練習
請根據(jù)語言描述,寫出對應的路徑
-
當前工作目錄內有一個test文件夾,文件夾內有一個文件hello.txt,請描述文件的相對路徑
test/hello.txt ./test/hello.txt
-
在當前工作目錄的上級目錄有一個test文件夾,文件夾內有一個文件hello.txt,請描述文件的相對路徑
../test/hello.txt
-
在HOME目錄內有一個test文件夾,文件夾內有一個文件hello.txt,請描述文件的路徑,需要使用~
~/test/hello.txt
2.5、文件操作命令
2.5.1、touch 創(chuàng)建文件
1、作用
通過touch命令創(chuàng)建文件
2、語法
touch Linux路徑
- 無選項
- 參數(shù)必填
- 表示要創(chuàng)建的文件路徑,相對、絕對、特殊路徑符均可以使用。
2.5.2、cat 查看文件內容
1、作用
查看文件內容
2、語法
cat Linux路徑
- 無選項
- 參數(shù)必填
- 表示被查看的文件路徑,相對、絕對、特殊路徑符都可以使用。
2.5.3、more 查看文件內容
1、作用
查看文件內容
2、語法
more Linux路徑
- 無選項
- 參數(shù)必填
- 表示被查看的文件路徑,相對、絕對、特殊路徑符都可以使用。
2、Linux系統(tǒng)內置有一個文件,路徑為:/etc/services
,可以使用more命令查看
more /etc/services
- 在查看的過程中,通過空格翻頁
3、退出查看
通過q
退出查看
4、與cat的不同點
- cat是直接將內容全部顯示出來
- more支持翻頁,如果文件的內容過多,可以一頁頁的展示
2.5.4、cp 復制文件\文件夾
1、作用
cp命令來自英文單詞:copy
用于復制文件\文件夾
2、語法
cp [-r] 參數(shù)1 參數(shù)2
- -r選項,可選,用于復制文件夾使用,表示遞歸
- 參數(shù)1,Linux路徑,表示被復制的文件或文件夾
- 參數(shù)2,Linux路徑,表示要復制去的地方
1–>2,把文件\文件夾1復制至路徑2
2.5.5、mv 移動文件或文件夾
1、作用
mv命令來自英文單詞:move
mv命令可以用于移動文件\文件夾;當路徑不變,相當于改名。
2、語法
mv 參數(shù)1 參數(shù)2
- 參數(shù)1,Linux路徑,表示被移動的文件或文件夾
- 參數(shù)2,Linux路徑,表示要移動去的地方,如果目標不存在,則進行改名,確保目標存在
1–>2,把路文件\文件夾1移動至路徑2
2.5.6、rm 刪除文件、文件夾
1、作用
rm命令來自英文單詞:remove
可用于刪除文件、文件夾
2、語法
rm [-r -f] 參數(shù)1 參數(shù)2 …… 參數(shù)N
- -r選項,可選,用于刪除文件夾
- -f選項,可選 ,表示force,強制刪除(不會彈出提示確認信息)
- 普通用戶刪除內容不會彈出提示,只有root管理員用戶刪除內容會有提示
- 所以一般普通用戶用不到-f選項
- 參數(shù)1、參數(shù)2、……、參數(shù)N表示要刪除的文件或文件夾路徑,按照空格隔開
3、通配符*
rm命令支持通配符*,用來做模糊匹配。
- 符號*表示通配符,即匹配任意內容(包含空)
示例:
test*
,表示匹配任何以test開頭的內容*test
,表示匹配任何以test結尾的內容*test*
,表示匹配任何包含test的內容
演示:
4、強制刪除,-f選項
-
切換至root用戶(超級管理員)
su - root
,輸入密碼,臨時切換到root用戶體驗 -
退回普通用戶
通過輸入exit命令
注意:
rm是一個危險的命令,特別是在處于root(超級管理員)用戶的時候。請謹慎使用。
如下命令,請千萬千萬不要在root管理員用戶下執(zhí)行:
rm -rf /
rm -rf /*
效果等同于在Windows上執(zhí)行C盤格式化。
2.6、統(tǒng)計命令
2.6.1、grep命令
1、作用
grep命令是“Global regular expression print”的縮寫。含義:全局正則表達式打印
從文件中通過關鍵字過濾文件內容
2、語法
grep [-n] 關鍵字 文件路徑
- 選項
-n
,可選,表示在結果中顯示匹配的行的行號。 - 參數(shù)1必填:關鍵字,表示過濾的關鍵字,帶有空格或其他特殊符號,建議使用" "將關鍵字包圍起來
- 參數(shù)2必填:文件路徑,表示要過濾內容的文件路徑,可作為內容輸入端口
2.6.2、wc命令 做數(shù)量統(tǒng)計
1、作用
wc命令是“Word Count”的縮寫。
統(tǒng)計文件的行數(shù)、單詞數(shù)量等。
2、語法
wc [-l -w -c -m] 文件路徑
- 選項,
-l
,統(tǒng)計行數(shù) - 選項,
-w
,統(tǒng)計單詞數(shù)量 - 選項,
-c
,統(tǒng)計bytes數(shù)量 - 選項,
-m
,統(tǒng)計字符數(shù)量 - 參數(shù),文件路徑,被統(tǒng)計的文件,可作為內容輸入端口
2.6.3、管道符|
1、作用
將管道符左邊命令的結果,作為右邊命令的輸入
2、案例
3、課后練習
對創(chuàng)建的test.txt進行統(tǒng)計
請使用cat、grep、管道符、wc命令組合,進行統(tǒng)計:
- 統(tǒng)計文件中帶有itcast關鍵字的有幾行
cat test.txt | grep "itcast" | wc -l
- 統(tǒng)計文件中帶有itheima關鍵字的結果中有多少個單詞
grep "itheima" test.txt | wc -w
cat test.txt | grep "itheima" | wc -w
2.7、查找命令(which、find)
2.7.1、which命令
1、作用
查看所使用的一系列命令的程序文件的存放位置
2、語法
which 要查找的命令
2.7.2、find命令
1、作用1
搜索指定的文件。
語法:find 起始路徑 -name "被查找文件名"
2、find命令結合通配符*
test*
,表示匹配任何以test開頭的內容*test
,表示匹配任何以test結尾的內容*test*
,表示匹配任何包含test的內容
基于通配符的含義,可以結合find命令做文件的模糊查詢。
3、作用2
按照文件大小查找文件。
語法:find 起始路徑 -size +|-n[kMG]
- +、-表示大于或小于
- n表示大小數(shù)字
- kMG表示大小單位,k(小寫字母)表示kb,M表示MB,G表示GB
示例:
- 查找小于10KB的文件:
find / -size -10k
- 查找大于100MB的文件:
find / -size +100M
- 查找大于1GB的文件:
find / -size +1G
4、課后練習
- 請使用find命令找出:名稱中帶有centos的文件
find / -name "*centos*"
- 請使用find命令找出:/usr目錄內大于100M的文件
find /usr -size +100M
2.8、輸出指令:echo、重定向符和tail
學習目標
- 掌握使用echo命令輸出的內容
- 掌握反引號`的使用
- 掌握tail命令跟蹤文件更改
- 掌握重定向符號的使用
2.8.1、echo命令
1、作用
可以使用echo命令在命令行內輸出指定內容
2、語法
echo 輸出的內容
- 無需選項,只有一個參數(shù),表示要輸出的內容,復雜內容可以用“ ”包圍
3、當輸出內容為命令時``
用“`”對命令包圍:echo `pwd`
被`包圍的內容,會被作為命令執(zhí)行,而非普通字符。
2.8.2、重定向符>和>>
>
,將左側命令的結果,覆蓋寫入到符號右側指定的文件中>>
,將左側命令的結果,追加寫入到符號右側指定的文件中
2.8.3、tail命令
1、作用
查看文件尾部內容,跟蹤文件的最新更改。
2、語法
tail [-f -num] Linux路徑
- 參數(shù),Linux路徑,表示被跟蹤的文件路徑
- 選項,
-f
,表示持續(xù)跟蹤文件最新更改 - 選項,
-num
,表示,查看尾部num行,不填默認10行
3、課后練習
-
請使用echo并配合反引號,輸出內容:
我當前的工作目錄是:`具體的工作路徑`
并結合重定向符,將輸出結果覆蓋寫入work.txt文件
echo "我當前的工作目錄是:`pwd`" > work.txt
-
請使用echo輸出任意內容并追加到work.txt文件中
-
通過tail命令持續(xù)跟蹤文件內容更改
echo "內容" >> work.txt tail -f work.txt
2.9、vi編輯器
2.9.1、vi\vim編輯器介紹
vi\vim是visual interface的簡稱,是Linux中最經(jīng)典的文本編輯器。
同圖形化界面中的文本編輯器一樣,vi是命令行下對文本文件進行編輯的絕佳選擇。
vim是vi的加強版本,兼容vi的所有指令,不僅能編輯文本,而且還具有shell程序編輯的功能,可以不同顏色的字體來辨別語法的正確性,極大方便了程序的設計和編輯性。
2.9.2、vi\vim編輯器的三種工作模式
-
命令模式(Command mode)
命令模式下,所敲的按鍵,編輯器都理解為命令,以命令驅動執(zhí)行不同的功能。
此模型下,不能自由進行文本編輯。
-
輸入模式(Insert mode)
也就是所謂的編輯模式、插入模式。
此模式下,可以對文件內容進行自由編輯。
-
底線命令模式(Last line mode)
以:開始,通常用于文件的保存、退出。
2.9.3、通過vi/vim編輯器編輯文件,進入命令:
vi 文件路徑
vim 文件路徑
vim兼容全部的vi功能,后續(xù)全部使用vim命令
- 如果文件路徑表示的文件不存在,那么此命令會用于編輯新文件
- 如果文件路徑表示的文件存在,那么此命令用于編輯已有文件
2.9.4、vi 編輯器的快速體驗
通過vi/vim命令編輯文件,會打開一個新的窗口,此時這個窗口就是:命令模式窗口
命令模式是vi編輯器的入口和出口,
- 進入vi編輯器會進入命令模式
- 通過命令模式輸入鍵盤指令,可以進入輸入模式
- 輸入模式需要退回到命令模式,然后通過命令可以進入底線命令模式
快速體驗:
- 使用
vim hello.txt
,編輯一個新文件,執(zhí)行后進入的是命令模式 - 在命令模式內,按鍵盤i,進入輸入模式
- 在輸入模式內輸入:itheima and itcast
- 輸入完成后,按esc回退回命令模式
- 在命令模式內,輸入鍵盤 : ,進入底線命令模式
- 在底線命令內輸入:wq ,保存文件并退出vi編輯器(w表示保存,q表示退出)
2.9.5、命令模式快捷鍵
現(xiàn)在我們來看一下,在命令模式下的一些常見快捷鍵。
模式 | 命令 | 描述 |
---|---|---|
命令模式 | i | 在當前光標位置進入輸入模式 |
命令模式 | a | 在當前光標位置之后進入輸入模式 |
命令模式 | I | 在當前行的開頭,進入輸入模式 |
命令模式 | A | 在當前行的結尾,進入輸入模式 |
命令模式 | o | 在當前光標下一行進入輸入模式 |
命令模式 | O | 在當前光標上一行進入輸入模式 |
命令模式 | esc | 在任何情況下輸入esc都能回到命令模式 |
其余快捷鍵:
模式 | 命令 | 描述 |
---|---|---|
命令模式 | 鍵盤上、鍵盤k | 向上移動光標 |
命令模式 | 鍵盤下、鍵盤j | 向下移動光標 |
命令模式 | 鍵盤左、鍵盤h | 向左移動光標 |
命令模式 | 鍵盤右、鍵盤l | 向右移動光標 |
命令模式 | 0 | 移動光標到當前行的開頭 |
命令模式 | $ | 移動光標到當前行的結尾 |
命令模式 | pageup(PgUp) | 向上翻頁 |
命令模式 | pagedown(PgDn) | 向下翻頁 |
命令模式 | / | 進入搜索模式 |
命令模式 | n | 向下繼續(xù)搜索 |
命令模式 | N | 向上繼續(xù)搜索 |
命令模式 | dd | 刪除光標所在行的內容 |
命令模式 | ndd | n是數(shù)字,表示刪除當前光標向下n行 |
命令模式 | yy | 復制當前行 |
命令模式 | nyy | n是數(shù)字,表示復制當前行及下面的n行 |
命令模式 | p | 粘貼復制的內容 |
命令模式 | u | 撤銷修改 |
命令模式 | ctrl + r | 反向撤銷修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到行尾 |
命令模式 | dG | 從當前行開始,向下全部刪除 |
命令模式 | dgg | 從當前行開始,向上全部刪除 |
命令模式 | d$ | 從當前光標開始,刪除到本行的結尾 |
命令模式 | d0 | 從當前光標開始,刪除到本行的開頭 |
2.9.6、底線命令模式
編輯模式?jīng)]有什么特殊的,進入編輯模式后,任何快捷鍵都沒有作用,就是正常輸入文本而已。
唯一大家需要記住的,就是:通過esc,可以退回到命令模式即可。
在命令模式內,輸入:,即可進入底線命令模式,支持如下命令:
模式 | 命令 | 描述 |
---|---|---|
底線命令模式 | :wq | 保存并退出 |
底線命令模式 | :q | 僅退出 |
底線命令模式 | :q! | 強制退出 |
底線命令模式 | :w | 僅保存 |
底線命令模式 | :set nu | 顯示行號 |
底線命令模式 | :set paste | 設置粘貼模式 |
03、Linux用戶和權限管控
3.1、認知root 用戶
3.1.1、root用戶(超級管理員)
1、無論是Windows、MacOS、Linux均采用多用戶的管理模式進行權限管理。
- 在Linux系統(tǒng)中,擁有最大權限的賬戶名為:root(超級管理員)
- 而在前期,我們一直使用的賬戶是普通的用戶:kx
2、root用戶擁有最大的系統(tǒng)操作權限,而普通用戶在許多地方的權限是受限的。
演示:
-
使用普通用戶在根目錄下創(chuàng)建文件夾
-
切換到root用戶后,繼續(xù)嘗試
注意:
- 普通用戶的權限,一般在其HOME目錄內是不受限的
- 一旦出了HOME目錄,大多數(shù)地方,普通用戶僅有只讀和執(zhí)行權限,無修改權限
3.1.2、su和exit命令
1、作用
英文單詞:Switch User
用于賬戶切換的系統(tǒng)命令。
2、語法
su [-] [用戶名]
-
選項可選,表示是否在切換用戶后加載環(huán)境變量,建議帶上- 參數(shù):用戶名,表示要切換的用戶,用戶名也可以省略,省略表示切換到root
3、退出
通過exit命令退回到上一個用戶,或使用快捷鍵:Ctrl+d
- 使用普通用戶,切換到其它用戶需要輸入密碼,如切換到root用戶
- 使用root用戶切換到其它用戶,無需密碼,可以直接切換
3.1.3、sudo命令
1、作用
為普通的命令授權,臨時以root身份執(zhí)行。
2、語法
sudo 其他命令
-
在其它命令之前,帶上sudo,即可為這一條命令臨時賦予root授權。
注:但是并不是所有的用戶,都有權利使用sudo,我們需要為普通用戶配置sudo認證
3、為普通用戶配置sudo認證
-
切換到root用戶,執(zhí)行visudo命令,會自動通過vi編輯器打開:/etc/sudoers
-
在文件的最后添加:
kx ALL=(ALL) NOPASSWD:ALL
- 其中最后的
NOPASSWD:ALL
表示使用sudo命令,無需輸入密碼
- 其中最后的
-
最后通過wq保存
-
切換回普通用戶
-
執(zhí)行的命令,均以root運行
3.2、用戶、用戶組管理
1、Linux系統(tǒng)中可以:
- 配置多個用戶
- 配置多個用戶組
- 用戶可以加入多個用戶組中
2、Linux中關于權限的管控級別有2個級別,分別是:
- 針對用戶的權限控制
- 針對用戶組的權限控制
比如,針對某文件,可以控制用戶的權限,也可以控制用戶組的權限。
所以,我們需要學習在Linux中進行用戶、用戶組管理的基礎命令,為后面學習權限控制打下基礎。
3、用戶組管理
以下命令需root用戶執(zhí)行
-
創(chuàng)建用戶組
groupadd 用戶組名
-
刪除用戶組
groupdel 用戶組名
為后續(xù)演示,我們創(chuàng)建一個itcast用戶組:
groupadd itcast
4、用戶管理
以下命令需root用戶執(zhí)行
-
創(chuàng)建用戶
useradd [-g -d] 用戶名
- 選項:-g指定用戶的組,不指定-g,會創(chuàng)建同名組并自動加入,指定-g需要組已經(jīng)存在,如已存在同名組,必須使用-g
- 選項:-d指定用戶HOME路徑,不指定,HOME目錄默認在:/home/用戶名
-
刪除用戶
userdel [-r] 用戶名
- 選項:-r,刪除用戶的HOME目錄,不使用-r,刪除用戶時,HOME目錄保留
-
查看用戶所屬組
id 用戶名
- 參數(shù):用戶名,被查看的用戶,如果不提供則查看自身
-
修改用戶所屬組
usermod -aG 用戶組 用戶名
-
將指定用戶加入指定用戶組
演示:
5、getent
(1)使用getent命令,可以查看當前系統(tǒng)中有哪些用戶
語法:getent passwd
共有7份信息,分別是:
用戶名:密碼(x):用戶ID:組ID:描述信息(無用):HOME目錄:執(zhí)行終端(默認bash)
(2)使用getent命令,可以查看當前系統(tǒng)中有哪些用戶組
語法:getent group
包含3份信息:
組名稱:組認證(顯示為x):組ID
3.3、查看權限控制
1、認知權限信息
通過ls -l
可以以列表形式查看內容,并顯示權限細節(jié)
- 序列1,表示文件、文件夾的權限控制細節(jié)信息
- 序列2,表示文件、文件夾所屬用戶
- 序列3,表示文件、文件夾所屬用戶組
2、讓我們來解析一下序號1,權限細節(jié)
權限細節(jié)總共分為10個槽位
舉例:
drwxr-xr-x
,表示:
- 首字母d表示這是一個文件夾
- 所屬用戶的權限是:有r有w有x,rwx
- 所屬用戶組的權限是:有r無w有x,r-x(-表示無此權限)
- 其它用戶的權限是:有r無w有x,r-x(-表示無此權限)
3、rwx
那么,rwx到底代表什么呢?
- r表示讀權限(read)
- w表示寫權限(write)
- x表示執(zhí)行權限(execute)
針對文件、文件夾的不同,rwx的含義有細微差別
-
r
- 針對文件,可以查看文件內容
- 針對文件夾,可以查看文件夾內容,如ls命令
-
w
- 針對文件,表示可以修改此文件
- 針對文件夾,可以在文件夾內:創(chuàng)建、刪除、改名等操作
-
x
- 針對文件,表示可以將文件作為程序執(zhí)行
- 針對文件夾,表示可以更改工作目錄到此文件夾,即cd進入
3.4、修改權限控制
3.4.1、chmod命令
1、作用
修改文件、文件夾的權限信息。
注:只有文件、文件夾的所屬用戶或root用戶可以修改。
2、語法
chmod [-R] 權限 文件或文件夾
- 選項:-R,對文件夾內的全部內容應用同樣的操作
示例:
-
chmod u=rwx,g=rx,o=x hello.txt
將文件權限修改為:
rwxr-x--x
- 其中:
u
表示user所屬用戶權限,g
表示group組權限,o
表示other其它用戶權限
- 其中:
-
chmod -R u=rwx,g=rx,o=x test
將文件夾test及其文件夾內全部內容權限設置為:
rwxr-x--x
除此以外,還有快捷寫法:
-
chmod 751 hello.txt
將hello.txt的權限修改為:
751
3、權限的數(shù)字序號
權限可以用3位數(shù)字來代表,第一位數(shù)字表示用戶權限,第二位表示用戶組權限,第三位表示其它用戶權限。
數(shù)字的細節(jié)如下:r記為4,w記為2,x記為1,可以有:
- 0:無任何權限,即
---
000 - 1:僅有x權限,即
--x
001 - 2:僅有w權限,即
-w-
010 - 3:有w和x權限,即
-wx
011 - 4:僅有r權限,即
r--
100 - 5:有r和x權限,即
r-x
101 - 6:有r和w權限,即
rw-
110 - 7:有全部權限,即
rwx
111
所以751表示:rwx(7) r-x(5) --x(1)
3.4.2、chown命令
1、作用
修改文件、文件夾的所屬用戶和用戶組。
此命令只適用于root用戶執(zhí)行。
2、語法
chown [-R] [用戶][:][用戶組] 文件或文件夾
- 選項,-R,對文件夾內全部應用相同規(guī)則
- 選項,用戶,修改所屬用戶
- 選項,用戶組,修改所屬用戶組
- :用于分割用戶和用戶組
3、示例
-
chown root hello.txt
將hello.txt所屬用戶修改為root
-
chown :root hello.txt
將hello.txt所屬用戶組修改為root
-
chown root:kx hello.txt
將hello.txt所屬用戶修改為root,用戶組修改為kx
-
chown -R root test
將文件夾test的所屬用戶修改為root,并對文件夾內全部內容應用同樣規(guī)則
04、Linux實用操作
4.1、各類小技巧(快捷鍵)
4.1.1、強制停止
-
Linux某些程序的運行,如果想要強制停止它,可以使用快捷鍵
Ctrl+c
-
命令輸入錯誤,也可以通過
Ctrl+c
,退出當前輸入,重新輸入
4.1.2、退出或登出
-
可以通過快捷鍵:
Ctrl+d
,退出賬戶的登錄 -
或者退出某些特定程序的專屬頁面
-
注意:不能用于退出vi/vim
4.1.3、history——歷史命令搜索
1、作用
查看歷史輸入過的命令
2、語法
history
3、案例
history | grep ch
- 通過關鍵字過濾某些特定的命令
4、!命令前綴
自動執(zhí)行上一次匹配前綴的命令(從下向上進行搜索)
5、Ctrl+r
,輸入內容去匹配歷史命令
如果搜索到的內容是你需要的,那么:
- 回車鍵可以直接執(zhí)行
- 鍵盤左右鍵,可以得到此命令(不執(zhí)行)
4.1.4、光標移動快捷鍵
Ctrl+a
,跳到命令開頭Ctrl+e
,跳到命令結尾Ctrl+鍵盤左鍵
,向左跳一個單詞Ctrl+鍵盤右鍵
,向右跳一個單詞
4.1.5、清屏
- 通過快捷鍵
Ctrl+l
,可以清空終端內容 - 或通過命令
clear
得到同樣效果
4.2、軟件安裝
4.2.1、Linux系統(tǒng)的應用商店
操作系統(tǒng)安裝軟件有很多種方式,一般分為:
- 下載安裝包自行安裝
- 如win系統(tǒng)使用exe文件、msi文件等
- 如Mac系統(tǒng)使用dmg文件、pkg文件等
- 系統(tǒng)的應用商店內安裝
- 如win系統(tǒng)有Microsoft Store商店
- 如Mac系統(tǒng)有AppStore商店
Linux系統(tǒng)同樣支持這兩種方式,我們首先,先來學習使用:Linux命令行內的“應用商店”,yum命令安裝軟件
4.2.2、yum命令
1、作用
RPM包軟件管理器,用于自動化安裝配置Linux軟件,并可以自動解決依賴問題。
2、語法
yum [-y] [install | remove | search] 軟件名稱
- 選項:-y,自動確認,無需手動確認安裝或卸載過程
- install:安裝
- remove:卸載
- search:搜索
注意:
- yum命令需要root權限,可以su切換到root,或使用sudo提權。
- yum命令需要聯(lián)網(wǎng)。
3、案例
-
yum [-y] install wget
,通過yum命令安裝wget程序 -
yum [-y] remove wget
,通過yum命令卸載wget程序 -
yum search wget
,通過yum命令,搜索是否有wget安裝包
4.2.3、apt命令-擴展
1、作用
CentOS使用yum管理器,Ubuntu使用apt管理器進行軟件安裝(CentOS安裝包.rpm, Ubuntu安裝包.deb)
2、語法
apt [-y] [install | remove | search] 軟件名稱
注意:
- 需要root權限,可以su切換到root,或使用sudo提權。
- 需要聯(lián)網(wǎng)。
3、案例
apt install wget
,安裝wgetapt remove wget
,移除wgetapt search wget
,搜索wget
區(qū)別:
- CentOS:安裝包是.rpm文件,使用yum命令安裝
- Ubuntu:安裝包是.deb文件,使用apt命令安裝
4.3、軟件操作命令
4.3.1、systemctl
1、作用
使用systemctl命令控制:啟動、停止、開機自啟
注:能夠被systemctl管理的軟件,一般也稱之為:服務
2、語法
systemctl start | stop | status | enable | disable 服務名
- start:啟動
- stop:關閉
- status:查看狀態(tài)
- enable:開啟開機自啟
- disable:關閉開機自啟
系統(tǒng)內置的服務比較多,比如:
- NetworkManager,主網(wǎng)絡服務
- network,副網(wǎng)絡服務
- firewalld,防火墻服務
- sshd,ssh服務(FinalShell遠程登錄Linux使用的就是這個服務)
3、部分第三方軟件以systemctl進行控制
-
yum install -y ntp
,安裝ntp軟件可以通過
ntpd 服務名
,配合systemctl進行控制 -
yum install -y httpd
,安裝apache服務器軟件可以通過
httpd 服務器名
,配合systemctl進行控制
注:部分軟件可以以systemctl進行控制是因為安裝后自動集成到systemctl中,而部分軟件安裝后沒有自動集成到systemctl中,我們可以手動添加。
4.4、軟鏈接
4.4.1、什么是軟鏈接
可以將文件、文件夾鏈接到其它位置
鏈接只是一個指向,并不是物理移動,類似于Windows系統(tǒng)的快捷方式
4.4.2、ln命令創(chuàng)建軟鏈接
1、作用
在系統(tǒng)中創(chuàng)建軟鏈接,可以將文件、文件夾鏈接到其它位置。
2、語法
ln -s 參數(shù)1 參數(shù)2
- -s選項,創(chuàng)建軟鏈接
- 參數(shù)1:被鏈接的文件或文件夾
- 參數(shù)2:要鏈接去的目的地
3、實例
ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum
4.5、日期、時區(qū)
4.5.1、date命令
1、作用
可以在命令行中查看系統(tǒng)的時間,并可以格式化顯示形式以及日期計算
2、語法
date [-d] [+格式化字符串]
- -d:按照給定的字符串顯示日期,一般用于日期計算
- 格式化字符串:通過特定的字符串標記,來控制顯示的日期格式
%Y
:年%y
:年份后兩位數(shù)字(00~99)%m
:月份(01~12)%d
:日(01~31)%H
:小時(00~23)%M
:分鐘(00~59)%S
:秒(00~60)%s
:自1970-01-01 00:00:00 UTC到現(xiàn)在的秒數(shù)
案例:
使用date命令本體,無選項,直接查看時間
按照2022-01-01的格式顯示日期
按照2022-01-01 10:00:00的格式顯示日期
如上,由于中間帶有空格,所以使用雙引號包圍格式化字符串,作為整體。
3、date命令進行日期加減
- -d選項,可以按照給定的字符串顯示日期,一般用于日期計算
date -d "+1 day" +%Y%m%d
:顯示后一天的日期date -d "-1 day" +%Y%m%d
:顯示前一天的日期date -d "-1 month" +%Y%m%d
:顯示上個月的日期date -d "+1 month" +%Y%m%d
:顯示下個月的日期date -d "-1 year" +%Y%m%d
:顯示前一年的日期date -d "+1 year" +%Y%m%d
:顯示下一年的日期
- 其中支持的時間標記為:
year
:年month
:月day
:天hour
:小時minute
:分鐘second
:秒
- -d選項可以和格式化字符串配合一起使用哦
案例:
4.5.2、修改Linux時區(qū)
通過date查看的日期時間是不準確的,這是因為:系統(tǒng)默認時區(qū)非中國的東八區(qū)。
使用root權限,執(zhí)行如下命令,修改時區(qū)為東八區(qū)時區(qū)
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
將系統(tǒng)自帶的localtime文件刪除,并將/usr/share/zoneinfo/Asia/Shanghai文件鏈接為localtime文件即可
4.5.3、ntp程序
我們可以通過ntp程序自動校準系統(tǒng)時間
安裝ntp:yum -y install ntp
啟動并設置開機自啟:
systemctl start ntpd
systemctl enable ntpd
當ntpd啟動后會定期的幫助我們聯(lián)網(wǎng)校準系統(tǒng)的時間
- 也可以手動校準(需要root權限):
ntpdate -u ntp.aliyun.com
通過阿里云提供的服務網(wǎng)址配合ntpdate(安裝ntp后悔附帶這個命令)命令自動校準
ntp的作用:
可以自動聯(lián)網(wǎng)同步時間,也可以通過
ntpdate -u ntp.aliyun.com
手動校準時間
4.6、IP地址、主機名
4.6.1、IP地址
1、IP地址介紹
每一臺聯(lián)網(wǎng)的電腦都會有一個地址,用于和其它計算機進行通訊。
IP地址主要有2個版本,V4版本和V6版本(V6很少用,課程暫不涉及)
IPv4版本的地址格式是:a.b.c.d
,其中abcd表示0~255的數(shù)字,如192.168.88.101就是一個標準的IP地址。
2、查看主機IP地址命令
ifconfig
如無法使用ifconfig命令,可以安裝:
yum -y install net-tools
3、特殊IP地址
除了標準的IP地址以外,還有幾個特殊的IP地址需要我們了解:
-
127.0.0.1
,這個IP地址用于指代本機 -
0.0.0.0
,特殊IP地址- 可以用于指代本機;
- 可以在端口綁定中用來確定綁定關系;
- 在一些IP地址限制中,表示所有IP的意思,如放行規(guī)則設置為0.0.0.0,表示允許任意IP訪問。
4.6.2、主機名
1、主機名介紹
每一臺電腦除了對外聯(lián)絡地址(IP地址)以外,也可以有一個名字,稱之為主機名。
無論是Windows或Linux系統(tǒng),都可以給系統(tǒng)設置主機名
-
Windows系統(tǒng)主機名
-
Linux系統(tǒng)主機名
2、在Linux中修改主機名
-
查看主機名命令
hostname
-
修改主機名命令(需要root)
hostnamectl set-hostname 主機名
4.6.3、域名解析
1、什么是域名解析
IP地址實在是難以記憶,有沒有什么辦法可以通過主機名或替代的字符地址去代替數(shù)字化的IP地址呢?
實際上,我們一直都是通過字符化的地址去訪問服務器,很少指定IP地址。
比如,我們在瀏覽器內打開:www.baidu.com,會打開百度的網(wǎng)址
其中,www.baidu.com,是百度的網(wǎng)址,我們稱之為:域名
2、訪問域名的流程
訪問www.baidu.com的流程如下:
即:
- 先查看本機的記錄(私人地址本)
- Windows看:
C:\Windows\System32\drivers\etc\hosts
- Linux看:
/etc/hosts
- Windows看:
- 再聯(lián)網(wǎng)去DNS服務器詢問
3、配置主機名映射
比如,我們FinalShell是通過IP地址連接到的Linux服務器,那有沒有可能通過域名(主機名)連接呢?
可以,我們只需要在Windows系統(tǒng)的:C:\Windows\System32\drivers\etc\hosts
文件中配置記錄即可。
4.6.4、虛擬機配置固定IP
1、為什么需要固定IP
當前我們虛擬機的Linux操作系統(tǒng),其IP地址是通過DHCP服務獲取的。
DHCP:動態(tài)獲取IP地址,即每次重啟設備后都會獲取一次,可能導致IP地址頻繁變更。
原因1:辦公電腦IP地址變化無所謂,但是我們要遠程連接到Linux系統(tǒng),如果IP地址經(jīng)常變化,我們就要頻繁修改適配很麻煩。
原因2:在剛剛我們配置了虛擬機IP地址和主機名的映射,如果IP地址頻繁更改,我們也需要頻繁更新映射關系。
綜上所述,我們需要IP地址固定下來,不要變化了。
2、(Windows)在VMware Workstation中配置固定IP
配置固定IP需要2大步驟:
① 在VMware Workstation(或Fusion)中配置IP地址網(wǎng)關和網(wǎng)段(IP地址的范圍)
② 在Linux系統(tǒng)中手動修改配置文件,固定IP
-
使用vim編輯/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下內容:
-
執(zhí)行
systemctl restart network
重啟網(wǎng)卡,執(zhí)行ifconfig,即可看到IP地址固定為192.168.88.88了
3、(MacOS)在VMware Fusion中配置固定IP
步驟一:先修改VMware Fusion的網(wǎng)絡設置
① 打開Mac系統(tǒng)的終端程序
② 在終端內執(zhí)行:sudo su -
并輸入個人系統(tǒng)密碼切換到root用戶
③ 先備份一下文件:
cp /Library/Preferences/VMware\Fusion/networking/Library/Preferences/VMware\Fusion/networking.backup
1
-
通過vim編輯器修改文件:
vim /Library/Preferences/VMware\Fusion/networking 1
修改第11行內容:
answer VNET_8_HOSTONLY_SUBNET 192.168.88.0
保存退出;
④ 先備份一下文件:
cp /Library/Preferences/VMware\Fusion/vmnet8/nat.conf/Library/Preferences/VMware\Fusion/vmnet8/nat.conf
1
-
通過vim編輯器修改文件:
vim /Library/Preferences/VMware\Fusion/vmnet8/nat.conf 1
在
NAT gateway address
下修改:ip為192.168.88.2(這是網(wǎng)關的ip)保存退出;
步驟二:在Linux中修改固定IP
具體做法與在VMware Workstation中配置固定IP的②相同。
4.7、網(wǎng)絡傳輸
4.7.1、下載和網(wǎng)絡請求
1、ping命令
(1)作用
檢查指定的網(wǎng)絡服務器是否是可連通狀態(tài)。
(2)語法
ping [-c num] ip或主機名
- 選項:
-c
,檢查的次數(shù)num
,不使用-c選項,將無限次數(shù)持續(xù)檢查 - 參數(shù):ip或主機名,被檢查的服務器的ip地址或主機名地址
示例:
-
檢查到baidu.com是否連通
結果表示連通,延遲29ms左右
-
檢查到39.156.66.10是否連通,并檢查3次
2、wget命令
(1)作用
wget是非交互式的文件下載器,可以在命令行內下載網(wǎng)絡文件
(2)語法
wget [-b] url
- 選項:
-b
,可選,后臺下載,會將日志寫入到當前工作目錄的wget-log文件 - 參數(shù):
url
,下載鏈接
示例:
-
下載apache-hadoop 3.3.0版本:
wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
-
在后臺下載:
wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
-
通過
tail
命令可以監(jiān)控后臺下載進度:tail -f wget-log
3、curl命令
(1)作用
發(fā)送http網(wǎng)絡請求,可用于:下載文件、獲取信息等。
(2)語法
curl [-O] url
- 選項:
-O
,用于下載文件,當url是下載鏈接時,可以使用此選項保存文件 - 參數(shù):
url
,要發(fā)起請求的網(wǎng)絡地址
示例:
-
向cip.cc發(fā)起網(wǎng)絡請求:
curl cip.cc
-
向python.itheima.com發(fā)起網(wǎng)絡請求:
curl python.itheima.com
-
通過curl下載hadoop-3.3.0安裝包:
curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
4.7.2、端口
1、端口
端口,是設備與外界通訊交流的出入口。端口可以分為:物理端口和虛擬端口兩類。
- 物理端口:又可稱之為接口,是可見的端口,如USB接口,RJ45網(wǎng)口,HDMI端口等。
- 虛擬端口:是指計算機內部的端口,是不可見的,是用來操作系統(tǒng)和外部進行交互使用的。
IP只能確定計算機,通過端口才能鎖定要交互的程序。
2、虛擬端口
物理端口我們日常生活中經(jīng)常見到,也能知曉它的作用。
但是虛擬端口,有什么用?為什么需要它呢?
計算機程序之間的通訊,通過IP只能鎖定計算機,但是無法鎖定具體的程序。
通過端口可以鎖定計算機上具體的程序,確保程序之間進行溝通。
IP地址相當于小區(qū)地址,在小區(qū)內可以有很多住戶(程序),而門牌號(端口)就是各個住戶(程序)的聯(lián)系地址
3、Linux系統(tǒng)支持65535個端口,這些端口分為3類進行使用
(1)公認端口
1~1023,通常用于一些系統(tǒng)內置或知名程序的預留使用,如SSH服務的22端口,HTTPS服務的443端口
非特殊需要,不要占用這個范圍的端口
(2)注冊端口
1024~49151,通??梢噪S意使用,用于松散的綁定一些程序\服務。(用戶自定義)
(3)動態(tài)端口
49152~65535,通常不會固定綁定程序,而是當程序對外進行網(wǎng)絡鏈接時,用于臨時使用。(多用于出口)
如上圖中,計算機A的微信連接計算機B的微信,A使用的50001端口即動態(tài)端口,臨時找一個端口作為出口
計算機B的微信使用端口5678,即注冊端口,長期綁定此端口等待別人連接。
PS:上述微信的端口僅為演示,具體微信的端口使用非圖中示意
4、查看端口占用
可以通過Linux命令去查看端口的占用情況
(1)nmap命令
①作用
-
查看指定IP地址的對外暴露端口
-
安裝nmap
yum -y install nmap
②語法
nmap 被查看的IP地址
可以看到,本機(127.0.0.1)上有5個端口現(xiàn)在被程序占用了。
其中:22端口,一般是SSH服務使用,即FinalShell遠程連接Linux所使用的端口。
(2)netstat命令
①作用
- 查看指定端口的占用情況
- 安裝netstat:
yum -y install net-tools
②語法
netstat -anp|grep 端口號
查看本機指定端口號的占用情況
如圖,可以看到當前系統(tǒng)的6000端口被程序(進程號7174)占用了。
其中,0.0.0.0:6000,表示端口綁定在0.0.0.0這個IP地址上,表示允許外部訪問。
可以看到,當前系統(tǒng)12345端口,無人使用。
4.8、進程管理
4.8.1、進程
程序運行在操作系統(tǒng)中,是被操作系統(tǒng)所管理的。
為管理運行的程序,每一個程序在運行的時候,便被操作系統(tǒng)注冊為系統(tǒng)中的一個:進程
并為每一個進程都分配一個獨有的:進程ID(進程號)
進程是指程序在操作系統(tǒng)內運行后被注冊為系統(tǒng)內的一個進程,并擁有獨立的進程ID(進程號)
4.8.2、ps——查看進程
1、作用
查看Linux系統(tǒng)中的進程信息
2、語法
ps [-e -f]
- 選項:
-e
,顯示出全部的進程 - 選項:
-f
,以完全格式化的形式展示信息(展示全部信息)
固定用法:ps -ef
列出全部進程的全部信息
從左到右分別是:
- UID:進程所屬的用戶ID
- PID:進程的進程號ID
- PPID:進程的父ID(啟動此進程的其它進程)
- C:此進程的CPU占用率(百分比)
- STIME:進程的啟動時間
- TTY:啟動此進程的終端序號。如顯示?,則表示非終端啟動
- TIME:進程占用CPU的時間
- CMD:進程對應的名稱或啟動路徑或啟動命令
3、查看指定進程
使用管道符配合grep來進行過濾
語法:ps -ef | grep 關鍵字
,過濾指定關鍵字進程信息
如:ps -ef | grep tail
,即可準確的找到tail命令的信息
- 過濾不僅僅過濾名稱,進程號\用戶ID等等,都可以被grep過濾
- 如:
ps -ef | grep 30001
,過濾帶有30001關鍵字的進程信息(一般指代過濾30001進程號)
4.8.3、kill——關閉進程
1、作用
關閉Linux系統(tǒng)中的進程。
2、語法
kill [-9] 進程ID
關閉指定進程號的進程
- 選項,
-9
,表示強制關閉進程。不使用此選項會向進程發(fā)送信號要求其關閉,但是否關閉看進程自身的處理機制。
4.9、主機狀態(tài)
4.9.1、top命令
1、作用
-
查看CPU、內存使用情況,類似于Windows的任務管理器
默認每5秒刷新一次
2、語法
直接輸入top即可,按q或Ctrl+c退出
3、top命令內容詳解
(1)首部5行
第一行:
top
:命令名稱-
18:35:56
:當前系統(tǒng)時間 -
up 4:04
: 啟動了4個小時4分鐘 -
5 users
:5個用戶登錄 -
load
:1、5、15分鐘負載load average:0.01,0.09,0.12
:1分鐘平均負載0.01,5分鐘平均負載0.09,15分鐘負載0.12
-
第二行:
描述的是進程的相關信息
Tasks:228 total
:228個進程1 running
:1個進程正在運行227 sleeping
:227個進程睡眠0 stopped
:0個停止進程0 zombie
:0個僵尸進程
第三行:
描述的是CPU的相關信息
-
%Cpu(s)
:CPU使用率us
:用戶CPU使用率
-
sy
:系統(tǒng)CPU使用率ni
:高優(yōu)先級進程占用CPU時間百分比id
:空閑CPU率wa
:IO等待的CPU占用率hi
:CPU硬件中斷率si
:CPU軟件中斷率st
:強制等待的CPU占用率
第四、五行:
描述的是內存的相關信息
-
KiB Mem
:物理內存total
:總量free
:空閑used
:使用buff/cache
:buff和cache占用
-
KiB Swap
:虛擬內存(交換空間)total
:總量free
:空閑used
:使用buff/cache
:buff和cache占用
(2)列表內容
PID
:進程IDUSER
:進程所屬用戶PR
:進程優(yōu)先級,越小越高NI
:負值表示高優(yōu)先級,正值表示低優(yōu)先級VIRT
:進程使用虛擬內存,單位KBRES
:進程使用物理內存,單位KBSHR
:進程使用共享內存,單位KBS
:進程狀態(tài)(S:休眠,R:運行,Z:僵死狀態(tài),N:負數(shù)優(yōu)先級,I:空閑狀態(tài))%CPU
:進程占用CPU率%MEM
:進程占用內存率TIME+
:進程使用CPU時間總計,單位10毫秒COMMAND
:進程的命令或名稱或程序文件路徑
4、top命令選項
top命令也支持選項:
選項 | 功能 |
---|---|
-p | 只顯示某個進程的信息 |
-d | 設置刷新時間,默認是5s |
-c | 顯示產生進程的完整命令,默認是進程名 |
-n | 指定刷新次數(shù),比如top -n 3 :刷新輸出3次后退出 |
-b | 以非交互非全屏模式運行,以批次的方式執(zhí)行top,一般配合-n指定輸出幾次統(tǒng)計信息,將輸出重定向到指定文件,比如:top -b -n 3 > /tmp/top.tmp |
-i | 不顯示任何閑置(idle)或無用(zombie)的進程 |
-u | 查找特定用戶啟動的進程 |
5、top交互式選項
當top以交互式運行(非-b選項啟動),可以用以下交互式命令進行控制
按鍵 | 功能 |
---|---|
h鍵 | 會顯示幫助畫面 |
c鍵 | 會顯示產生進程的完整命令,等同于-c參數(shù),再次按下c鍵,變?yōu)槟J展示 |
f鍵 | 可以選擇需要展示的項目 |
M鍵 | 根據(jù)駐留內存大小(RES)排序 |
P鍵 | 根據(jù)CPU使用百分比大小進行排序 |
T鍵 | 根據(jù)時間/累計時間進行排序 |
E鍵 | 切換頂部內存顯示單位 |
e鍵 | 切換進程內存顯示單位 |
l鍵 | 切換顯示平均負載和啟動時間信息 |
i鍵 | 不顯示閑置或無用的進程,等同于-i參數(shù),再次按下,變?yōu)槟J顯示 |
t鍵 | 切換顯示CPU狀態(tài)信息 |
m鍵 | 切換顯示內存信息 |
4.9.2、磁盤信息監(jiān)控
4.9.2.1、df命令
1、作用
可以查看硬盤的使用情況
2、語法
df [-h] 查看磁盤利用率
- 選項:
-h
,以更加人性化的單位顯示
4.9.2.2、iostat命令
1、作用
查看CPU、磁盤的相關信息
2、語法
iostat [-x][num1][num2] 查看磁盤速率等信息
- 選項:-x,顯示更多信息
- num1:數(shù)字,刷新間隔
- num2:數(shù)字,刷新幾次
tps:該設備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)?!币淮蝹鬏敗耙馑际恰币淮蜪/O請求“。多個邏輯請求可能會被合并為”一次I/O請求“?!币淮蝹鬏敗罢埱蟮拇笮∈俏粗?。
3、使用iostat
的-x選項,可以顯示更多的信息
rrqm/s
:每秒這個設備相關的讀取請求有多少被Merge了(當系統(tǒng)調用需要讀取數(shù)據(jù)的時候,VFS將請求發(fā)到各個FS,如果FS發(fā)現(xiàn)不同的讀取請求讀取的是相同Block的數(shù)據(jù),FS會將這個請求合并Merge,提高IO利用率,避免重復調用)wrqm/s
:每秒這個設備相關的寫入請求有多少被Merge了rsec/s
:每秒讀取的扇區(qū)數(shù);sectorswsec/s
:每秒寫入的扇區(qū)數(shù);sectorsrKB/s
:每秒發(fā)送到設備的讀取請求數(shù)wKB/s
:每秒發(fā)送到設備的寫入請求數(shù)avgrq-sz
:平均請求扇區(qū)的大小avgqu-sz
:平均請求隊列的長度。毫無疑問,隊列長度越短越好。await
:每一個IO請求的處理的平均時間(單位是微妙毫秒)svctm
:表示平均每次設備I/O操作的服務時間(以毫秒為單位)%util
:磁盤利用率
4.9.3、網(wǎng)絡狀態(tài)監(jiān)控
4.9.3.1、sar命令
1、作用
查看網(wǎng)絡的相關統(tǒng)計(sar命令非常復雜,這里僅簡單用于統(tǒng)計網(wǎng)絡)
2、語法
sar -n DEV num1 num2 查看網(wǎng)絡情況
- 選項:-n ,查看網(wǎng)絡,DEV表示查看網(wǎng)絡接口
- num1:刷新間隔(不填就查看一次結束)
- num2:查看次數(shù)(不填無限次數(shù))
如圖,查看2次,隔3秒刷新一次,并最終匯總平均記錄
信息解讀:
IFACE
:本地網(wǎng)卡接口的名稱rxpck/s
:每秒鐘接收的數(shù)據(jù)包txpck/s
:每秒鐘發(fā)送的數(shù)據(jù)包rxKB/s
:每秒鐘接收的數(shù)據(jù)包大小,單位為KBtxKB/s
:每秒鐘發(fā)送的數(shù)據(jù)包大小,單位為KBrxcmp/s
:每秒鐘接收的壓縮數(shù)據(jù)包txcmp/s
:每秒鐘發(fā)送的壓縮數(shù)據(jù)包rxmcst/s
:每秒鐘接收的多播數(shù)據(jù)包
4.10、環(huán)境變量
4.10.1、環(huán)境變量
1、環(huán)境變量的作用
在講解which命令的時候,我們知道使用的一系列命令其實本質上就是一個個的可執(zhí)行程序。
比如,cd命令的本體就是:/usr/bin/cd
這個程序文件。
我們是否會有疑問,為何無論當前工作目錄在哪里,都能執(zhí)行:
/usr/bin/cd
這個程序呢?–這就是環(huán)境變量的作用啦。
2、環(huán)境變量是什么?
環(huán)境變量是操作系統(tǒng)(Windows、Mac、Linux)在運行的時候,記錄的一些關鍵性信息,用以輔助系統(tǒng)運行。
在Linux系統(tǒng)中執(zhí)行:env
命令即可查看當前系統(tǒng)中記錄的環(huán)境變量
環(huán)境變量是一種KeyValue型結構,即名稱和值,如下圖:
3、環(huán)境變量:PATH
在前面提到的問題中,我們說無論當前工作目錄是什么,都能執(zhí)行:/usr/bin/cd
這個程序,這個就是借助環(huán)境變量中:PATH這個項目的值來做到的。
PATH記錄了系統(tǒng)執(zhí)行任何命令的搜索路徑,如上圖記錄了(路徑之間以:隔開)
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/kx.local/bin
/home/kx/bin
當執(zhí)行任何命令,都會按照順序,從上述路徑中搜索要執(zhí)行的程序的主體。
比如執(zhí)行cd命令,就從第二個目錄/usr/bin
中搜索到了cd命令,并執(zhí)行。
1、什么是環(huán)境變量?
環(huán)境變量是一組信息記錄,類型是KeyValue型(名稱=值),用于操作系統(tǒng)運行的時候記錄關鍵信息。
2、什么是PATH,作用是?
環(huán)境變量PATH會記錄一組目錄,目錄之間用:隔開。這里記錄的是命令的搜索路徑,當執(zhí)行命令會從記錄中記錄的目錄中挨個搜索要執(zhí)行的命令并執(zhí)行。
可以通過修改這個項目的值,加入自定義的命令搜索路徑
如
export PATH=$PATH:自定義路徑
4.10.2、$符號
1、在Linux系統(tǒng)中,$符號被用于取“變量”的值。
環(huán)境變量記錄的信息,除了給操作系統(tǒng)自己使用外,如果我們想要取用,也可以使用。
取得環(huán)境變量的值就可以通過語法:$環(huán)境變量名
來取得
2、比如:echo $PATH
就可以獲得PATH這個環(huán)境變量的值,并通過echo語句輸出出來。
又或者:echo ${PATH}ABC
注意:當和其它內容混合在一起的時候,可以通過{}來標注取的變量是誰
4.10.3、自行設置環(huán)境變量
1、Linux環(huán)境變量可以用戶自行設置,其中分為:
-
臨時設置,語法:
export 變量名=變量值
-
永久生效
-
針對當前用戶生效、配置在當前用戶的:
~/.bashrc
文件中 -
針對所有用戶生效、配置在系統(tǒng)的:
/etc/profile
文件中 -
并通過語法:
source 配置文件
,進行立刻生效,或重新登錄FinalShell生效
-
2、自定義環(huán)境變量PATH
環(huán)境變量PATH這個項目里面記錄了系統(tǒng)執(zhí)行命令的搜索路徑。
這些搜索路徑我們也可以自行添加到PATH中去。
測試:
- 在當前HOME目錄內創(chuàng)建文件夾,myenv,在文件夾內創(chuàng)建文件mkhaha
- 通過vim編輯器,在mkhaha文件內填入:
echo hahaha
完成上述操作后,隨意切換工作目錄,執(zhí)行mkhaha
命令嘗試一下,會發(fā)現(xiàn)無法執(zhí)行。
-
修改PATH的值
臨時修改PATH:
export PATH=$PATH:/home/kx/myenv
,再次執(zhí)行mkhaha
,無論在哪里都能執(zhí)行了或將
export PATH=$PATH:/home/kx/myenv
填入用戶環(huán)境變量文件或系統(tǒng)環(huán)境變量文件中去
4.11、上傳、下載
1、我們可以通過FinalShell工具,方便的和虛擬機進行數(shù)據(jù)交換。
在FinalShell軟件的下方窗體中,提供了Linux的文件系統(tǒng)視圖,可以方便的:
- 瀏覽文件系統(tǒng),找到合適的文件,右鍵點擊下載,即可傳輸?shù)奖镜仉娔X
- 瀏覽文件系統(tǒng),找到合適的目錄,將本地電腦的文件拓展進入,即可方便的上傳數(shù)據(jù)到Linux中
2、rz、sz命令
當然,除了通過FinalShell的下方窗體進行文件的傳輸以外,也可以通過rz、sz命令進行文件傳輸。
rz、sz命令需要安裝,可以通過:yum -y install lrzsz
,即可安裝。
-
rz
命令,進行上傳,語法:直接輸入rz即可。 -
sz
命令,進行下載,語法:sz 要下載的文件
文件會自動下載到桌面的fsdownload文件夾中。
注意:rz、sz命令需要終端軟件支持才可正常運行。
FinalShell、SecureCRT、XShell等常用終端軟件均支持此操作。
4.12、壓縮、解壓
4.12.1、壓縮格式
市面上有非常多的壓縮格式:
- zip格式:Linux、Windows、MacOS系統(tǒng)常用
- 7zip格式:Windows系統(tǒng)常用
- rar格式:Windows系統(tǒng)常用
- tar格式:Linux、MacOS系統(tǒng)常用
- gzip格式:Linux、MacOS系統(tǒng)常用
在Windows系統(tǒng)中常用的軟件如:winrar、bandizip等軟件,都支持各類常見的壓縮格式,這里不多做討論。
我們現(xiàn)在要學習,如何在Linux系統(tǒng)中操作:tar、gzip、zip這三種壓縮格式
完成文件的壓縮、解壓操作。
4.12.2、tar命令
1、Linux和Mac系統(tǒng)常用有2種壓縮格式,后綴名分別是:
.tar
,稱之為tarball,歸檔文件,即簡單的將文件組裝到一個.tar
的文件內,并沒有太多文件體積的減少,僅僅是簡單的封裝。.gz
,也常見為.tar.gz
,gzip格式壓縮文件,即使用gzip壓縮算法將文件壓縮到一個文件內,可以極大的減少壓縮后的體積。
針對這兩種格式,使用tar
命令均可以進行壓縮和解壓縮的操作。
語法:tar [-c -v -x -f -z -C] 參數(shù)1 參數(shù)2 ... 參數(shù)N
-c
,創(chuàng)建壓縮文件,用于壓縮模式-v
,顯示壓縮、解壓過程,用于查看進度-x
,解壓模式-f
,要創(chuàng)建的文件,或要解壓的文件,-f選項必須在所有選項中位置處于最后一個-z
,gzip模式,不使用-z就是普通的tarball格式-C
,選擇要解壓的目的地,用于解壓模式
2、tar命令壓縮
tar的常用組合為:
-
tar -cvf test.tar 1.txt 2.txt 3.txt
將1.txt 2.txt 3.txt壓縮到test.tar文件內
-
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
將1.txt 2.txt 3.txt壓縮到test.tar.gz文件內,使用gzip模式
注意:
- -z選項如果使用的話,一般處于選項位第一個
- -f選項,必須在選項位最后一個
3、tar命令解壓
常用的tar解壓組合有:
-
tar -xvf test.tar
解壓test.tar,將文件解壓到當前目錄
-
tar -xvf test.tar -C /home/kx
解壓test.tar,將文件解壓至指定目錄(/home/kx)
-
tar -zxvf test.tar.gz -C /home/kx
以Gzip模式解壓test.tar.gz,將文件解壓至指定目錄(/home/kx)
注意:
- -f選項,必須在選項組合體的最后一位
- -z選項,建議在開頭位置
- -C選項單獨使用,和解壓所需的其它參數(shù)分開
4.12.3、zip、unzip命令
1、zip命令壓縮文件
可以使用zip命令,壓縮文件為zip壓縮包
語法:zip [-r] 參數(shù)1 參數(shù)2 ... 參數(shù)N
-r
,被壓縮的包含文件夾的時候,需要使用-r選項,和rm、cp等命令的-r效果一致
示例:
-
zip test.zip a.txt b.txt
將a.txt b.txt c.txt壓縮到test.zip文件內
-
zip -r test.zip test itheima a.txt
將 test itheima兩個文件夾和a.txt文件,壓縮到test.zip文件內
2、unzip命令解壓文件
使用unzip命令,可以方便的解壓zip壓縮包
語法:unzip [-d] 參數(shù)
-d
,指定要解壓去的位置,同tar的-C選項- 參數(shù),被解壓的zip壓縮包文件
示例:
-
unzip test.zip
將test.zip解壓到當前目錄
-
unzip test.zip -d /home/kx
將test.zip解壓到指定文件夾內(/home/kx)
untu上安裝MySQL8.0版本成功。