‘決戰Linux到精通’筆記,你的Linux水平將從入門到入魔

轉自連結:https://reurl.cc/3KXvoj

Linux常用操作命令及示例大全

1. Linux基礎篇

1.1 Linux介紹

  • • Linux怎麼讀:最通用的讀法:/li’nʌks/(“裡那克斯”)或/'li:nэks/(“裡訥克斯”)或/li’nju:ks/(“裡紐克斯”)。
  • • Linux是一款作業系統,其特點是免費、開源、安全、高效、穩定,處理高併發非常強悍。現在很多的企業級專案都部署Linux/Unix伺服器執行。
  • • Linux的發行版本主要有:Red Hat Linux、Debian Linux、Ubuntu Linux、Suse Linux等。
  • • Linux的起源:Linux 核心最初是由李納斯•託瓦茲(Linus Torvalds)在赫爾辛基大學讀書時出於個人愛好而編寫的。

1.2 Linux和Unix的關係

  • • UNIX 作業系統由肯•湯普森(Ken Thompson)和丹尼斯•裡奇(Dennis Ritchie)發明。它的部分技術來源可追溯到從 1965 年開始的 Multics 工程計劃,該計劃由貝爾實驗室、美國麻省理工學院和通用電氣公司聯合發起,目標是開發一種互動式的、具有多道程式處理能力的分時作業系統,以取代當時廣泛使用的批處理作業系統。
  • • 二者的關係:UNIX 是 Linux 的父親。Linux 是一個類似 Unix 的作業系統,Unix 要早於 Linux,Linux 的初衷就是要替代 UNIX,並在功能和使用者體驗上進行最佳化,所以 Linux 模仿了 UNIX(但並沒有抄襲 UNIX 的原始碼),使得 Linux 在外觀和互動上與 UNIX 非常類似。

UNIX/Linux 系統可以粗糙地抽象為 3 個層次:底層是 UNIX/Linux 作業系統,即系統核心(Kernel);中間層是 Shell 層,即命令解釋層;高層則是應用層。

在這裡插入圖片描述
1) 核心層
核心層是 UNIX/Linux 系統的核心和基礎,它直接附著在硬體平臺之上,控制和管理系統內各種資源(硬體資源和軟體資源),有效地組織程序的執行,從而擴充套件硬體的功能,提高資源的利用效率,為使用者提供方便、高效、安全、可靠的應用環境。
2) Shell層
Shell 層是與使用者直接互動的介面。使用者可以在提示符下輸入命令列,由 Shell 解釋執行並輸出相應結果或者有關資訊,所以我們也把 Shell 稱作命令直譯器,利用系統提供的豐富命令可以快捷而簡便地完成許多工作。
3) 應用層
應用層提供基於 X Window 協議的圖形環境。X Window 協議定義了一個系統所必須具備的功能(就如同 TCP/IP 是一個協議,定義軟體所應具備的功能),可系統能滿足此協議及符合 X 協會其他的規範,便可稱為 X Window。

1.3 橋接、NAT、僅主機的區別

  • • 橋接:橋接網路是指本地物理網絡卡和虛擬網絡卡透過VMnet0虛擬交換機進行橋接,物理網絡卡和虛擬網絡卡在拓撲圖上處於同等地位,那麼物理網絡卡和虛擬網絡卡就相當於處於同一個網段,虛擬交換機就相當於一臺現實網路中的交換機,所以兩個網絡卡的IP地址也要設定為同一網段。 所以當我們要在區域網使用虛擬機器,對區域網其他pc提供服務時,例如提供ftp,提供ssh,提供http服務,那麼就要選擇橋接模式。

    在這裡插入圖片描述
  • • NAT:NAT模式中,就是讓虛擬機器藉助NAT(網路地址轉換)功能,透過宿主機器所在的網路來訪問公網。 NAT模式中,虛擬機器的網絡卡和物理網絡卡的網路,不在同一個網路,虛擬機器的網絡卡,是在vmware提供的一個虛擬網路。

    在這裡插入圖片描述
  • • 僅主機: 在Host-Only模式下,虛擬網路是一個全封閉的網路,它唯一能夠訪問的就是主機。其實Host-Only網路和NAT網路很相似,不同的地方就是Host-Only網路沒有NAT服務,所以虛擬網路不能連線到Internet。
NAT和橋接的對比:
  • • NAT模式和橋接模式虛擬機器都可以上外網。
  • • 由於NAT的網路在vmware提供的一個虛擬網路裡,所以區域網其他主機是無法訪問虛擬機器的,而宿主機可以訪問虛擬機器,虛擬機器可以訪問區域網的所有主機,因為真實的區域網相對於NAT的虛擬網路,就是NAT的虛擬網路的外網。
  • • 橋接模式下,多個虛擬機器之間可以互相訪問;NAT模式下,多個虛擬機器之間也可以相互訪問。
在VMware的3種網路模式中,NAT模式是最簡單的,基本不需要手動配置IP地址等相關引數。至於橋接模式則需要額外的IP地址,如果是在內網環境中還很容易,如果是ADSL寬頻就比較麻煩了,因為很難多出一個公網IP。

2. Linux 實操篇 實用指令

2.1 指定執行級別

1)分類
  • • 0:關機
  • • 1:單使用者【可用於找回丟失密碼】
  • • 2:多使用者狀態無網路服務
  • • 3:多使用者狀態有網路服務
  • • 4:系統未使用保留給使用者
  • • 5:圖形介面
  • • 6:系統重啟
常用的執行級別為3和5,修改預設的執行級別:/etc/inittab的id:5:initdefault這一行中的數字即為執行級別。不可將執行級別指定為6,否則系統將不斷重啟
2) 切換到指定執行級別的指令
語法:
init [0/1/2/3/4/5]
示例:

切換到單使用者後再切換到圖形介面。

在這裡插入圖片描述

2.2 幫助指令

1) man指令
語法:
man [命令或配置檔案](功能描述:獲得幫助資訊)
示例:

檢視ls命令的幫助資訊。

在這裡插入圖片描述
2) help指令
語法:
help 命令 (功能描述:獲得 shell 內建命令的幫助資訊)
示例:

檢視cd命令的幫助資訊。

在這裡插入圖片描述

2.3 檔案目錄類

1) pwd指令
語法:
pwd (功能描述:顯示當前工作目錄的絕對路徑)
示例:

顯示當前工作目錄的絕對路徑。

在這裡插入圖片描述
2)ls指令
語法:
ls [ 選 項] [目錄或是檔案]
  • • -a :顯示當前目錄所有的檔案和目錄,包括隱藏的。
  • • -l :以列表的方式顯示資訊。
示例:

檢視當前目錄的所有內容資訊。

在這裡插入圖片描述
3)cd指令
語法:
cd [引數] (功能描述:切換到指定目錄)
示例:

使用絕對路徑切換到 root 目錄。

在這裡插入圖片描述
4)mkdir指令
介紹:
mkdir 指令用於建立目錄(make directory)
語法:
mkdir [選項] 要建立的目錄
常用選項:
  • • -p:建立多級目錄
示例:

1.建立一個目錄/home/dog

在這裡插入圖片描述

2.建立一個多級目錄/home/animal/tiger

在這裡插入圖片描述
5)rmdir指令
介紹:
rmdir 指令刪除空目錄
語法:
rmdir [選項] 要刪除的空目錄
注意:
需要刪除非空目錄時,需要使用rm -rf 要刪除的目錄名指令。
示例:

1.刪除一個目錄/home/dog。

在這裡插入圖片描述

2.刪除一個非空目錄/home/naimal。

在這裡插入圖片描述
6)touch指令
介紹:
touch指令建立空檔案
語法:
touch 檔名稱
示例:

建立一個空檔案 hello.txt。

在這裡插入圖片描述
7)cp指令
介紹:
cp 指令複製檔案到指定目錄
語法:
cp [選項] source dest
常用選項:
  • • -r:遞迴複製整個資料夾
示例:

1.將/home/aaa.txt複製到/home/bbb目錄下[複製單個檔案]

在這裡插入圖片描述

2.遞迴複製整個資料夾,將/home/test整個目錄複製到/home/test1目錄[複製非空資料夾]

在這裡插入圖片描述
8)rm指令
介紹:
rm 指令移除【刪除】檔案或目錄
語法:
rm [選項] 要刪除的檔案或目錄
常用選項:
  • • -r:遞迴刪除整個資料夾
  • • -f:強制刪除不提示
示例:

1.將/home/aaa.txt刪除。

在這裡插入圖片描述

2.遞迴刪除整個資料夾/home/bbb

在這裡插入圖片描述
9)mv指令
介紹:
mv 移動檔案、目錄或重新命名
語法:
mv oldNameFile newNameFile (功能描述:重新命名) mv /temp/movefile /targetFolder (功能描述:移動檔案)
示例:

1.將/home/aaa.txt檔案重新命名為pig.txt

在這裡插入圖片描述

2.將/home/pig.txt檔案移動到/home目錄下。

在這裡插入圖片描述
10)cat指令
介紹:
cat 檢視檔案內容,是以只讀的方式開啟
語法:
cat [選項] 要檢視的檔案
常用選項:
  • • -n:顯示行號
注意:
cat 只能瀏覽檔案,而不能修改檔案,為了瀏覽方便,一般會帶上 管道命令 | more
語法為:cat 檔名 | more [分頁瀏覽]
示例:

1.顯示/etc/profile檔案內容,並顯示行號。

在這裡插入圖片描述

1.分頁顯示/etc/profile檔案內容,並顯示行號。

在這裡插入圖片描述

在這裡插入圖片描述
11)more指令
介紹:
more 指令是一個基於 VI 編輯器的文字過濾器,它以全螢幕的方式按頁顯示文字檔案的內容。
語法:
more 要檢視的檔案
常用快捷鍵:
操作
功能說明
空白鍵(space)
向下翻一頁
Enter
向下翻一行
q
代表立刻離開more,不再顯示該檔案內容
Ctrl+F
向下滾動一屏
Ctrl+B
向上滾動一屏
=
輸出當前行的行號
:f
輸出檔名和當前行的行號
示例:

採用more檢視/etc/profile檔案。

在這裡插入圖片描述
12)less指令
介紹:
less 指令用來分屏檢視檔案內容,它的功能與 more 指令類似,但是比 more 指令更加強大,支援各種顯示終端。less 指令在顯示檔案內容時,並不是一次將整個檔案載入之後才顯示,而是根據顯示需要載入內容,對於顯示大型檔案具有較高的效率。
語法:
less 要檢視的檔案
常用快捷鍵:
操作
功能說明
空白鍵(space)
向下翻一頁
[pagedown]
向下翻一頁
[pageup]
向上翻一頁
/子串
向下搜尋[子串]的功能。n:向下查詢;N:向上查詢
?子串
向上搜尋[子串]的功能。n:向上查詢;N:向下查詢
q
離開less這個程式
13)> 指令 和 >> 指令
介紹:
> 輸出重定向 : 會將原來的檔案的內容覆蓋>> 追加: 不會覆蓋原來檔案的內容,而是追加到檔案的尾部
語法:
1)ls -l > 檔名 (內容覆蓋)
2)ls -al >> 檔名 (內容追加)
示例:

1.把ls -l顯示的內容覆蓋寫入到a.txt檔案中,如果a.txt檔案不存在,則建立該檔案。

在這裡插入圖片描述

2.把ls -l顯示的內容追加寫入到a.txt檔案末尾中。

在這裡插入圖片描述
14)echo指令
介紹:
echo 輸出內容到控制檯
語法:
echo [選項] [輸出內容]
示例:

1.使用 echo 指令輸出環境變數,輸出當前的環境路徑

在這裡插入圖片描述

2.使用echo指令輸出hello,world!這段文字。

在這裡插入圖片描述
15)head指令
介紹:
head 用於顯示檔案的開頭部分內容,預設情況下 head 指令顯示檔案的前 10 行內容。
語法:
head 檔名 (功能描述:檢視檔案頭 10 行內容)
head -n 5 檔名 (功能描述:檢視檔案頭 5 行內容,5 可以是任意行數)
示例:

1.檢視/etc/profile的前面五行程式碼。

在這裡插入圖片描述
16)tail指令
介紹:
tail 用於輸出檔案中尾部的內容,預設情況下 tail 指令顯示檔案的後 10 行內容。
語法:
1)tail 檔名 (功能描述:檢視檔案末尾10行的內容)
2)tail -n 5 檔名 (功能描述:檢視檔案後5行的內容,5可以是任意行數)
3)tail -f 檔名 (功能描述:即時追蹤該文件的所有更新,工作中經常使用)
示例:

1.檢視/etc/profile最後5行的程式碼。

在這裡插入圖片描述

2.即時監控 mydate.txt , 看看到檔案有變化時,是否看到, 即時的追加日期。

在這裡插入圖片描述

在這裡插入圖片描述
17)ln指令
介紹:
ln指令叫做軟連結也叫符號連結,類似於 windows 裡的快捷方式,主要存放了連結其他檔案的路徑。
語法:
ln -s [原檔案或目錄] [軟連結名] (功能描述:給原檔案建立一個軟連結)
注意:
刪除一個軟連線時應該用指令rm -rf [軟連線名]
示例:

1.在/root目錄下建立一個軟連線linkToHome,連線到/home目錄。

在這裡插入圖片描述

2.刪除軟連線linkToHome。

在這裡插入圖片描述

2.4 時間日期類

1)date指令 —— 用於顯示
語法:
  • • date (功能描述:顯示當前時間)
  • • date +%Y (功能描述:顯示當前年份)
  • • date +%m(功能描述:顯示當前月份)
  • • date +%d (功能描述:顯示當前是哪一天)
  • • date “+%Y-%m-%d %H:%M:%S”(功能描述:顯示年月日時分秒)
示例:

1.顯示當前時間資訊。

在這裡插入圖片描述

2.顯示當前時間年月日。

在這裡插入圖片描述

3.顯示當前時間年月日時分秒。

在這裡插入圖片描述
2)date指令 —— 用於設定
語法:
date -s 字串時間
示例:

設定當前系統時間為2021-5-20 5:20:20。

在這裡插入圖片描述
3)cal指令
cal指令檢視日曆
語法:
  • • cal (功能描述:顯示本月日曆)
  • • cal 年份 (功能描述:用於顯示一整年的日曆)
示例:

1.顯示當前日曆。

在這裡插入圖片描述

2.顯示一整年的日曆。

在這裡插入圖片描述

2.5 搜尋查詢類

1)find指令
介紹:
find 指令將從指定目錄向下遞迴地遍歷其各個子目錄,將滿足條件的檔案或者目錄顯示在終端。
語法:
find [搜尋範圍] [選項]
常用選項:
選項
功能
-name<查詢方式>
按照指定的檔名查詢模式查詢檔案
-user<使用者名稱>
查詢屬於指定使用者名稱所有檔案
-size<檔案大小>
按照指定的檔案大小查詢檔案
示例:

1.按檔名查詢:根據名稱查詢/home目錄下的hello.txt檔案。

在這裡插入圖片描述

2.按擁有者查詢:查詢/opt目錄下,使用者名稱為nobody的檔案。

在這裡插入圖片描述

3.按檔案大小查詢:查詢整個linux系統下大於20m的檔案。(+n大於 -n小於 =n等於)

在這裡插入圖片描述

4.查詢linux系統下,所有以txt結尾的檔案。

在這裡插入圖片描述
2)locate指令
介紹:
locate 指令可以快速定位檔案路徑。locate 指令利用事先建立的系統中所有檔名稱及路徑的locate 資料庫實現快速定位給定的檔案。Locate 指令無需遍歷整個檔案系統,查詢速度較快。為了保證查詢結果的準確度,管理員必須定期更新 locate 時刻。
語法:
  • • updatedb (功能描述:建立locate資料庫)
  • • locate 搜尋檔名 (功能描述:搜尋檔案)
示例:

使用locate指令快速定位hello.txt檔案所在的目錄。

在這裡插入圖片描述
3)grep指令和管道符號
介紹:
grep 過濾查詢 , 管道符,“|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理。
語法:
grep [選項] 查詢內容 原始檔
常用選項:
選項
功能
-n
顯示匹配行及行號
-i
忽略字母大小寫
示例:

hello.txt檔案中查詢yes所在行,並顯示行號。

在這裡插入圖片描述

2.6 壓縮解壓類

1)gzip/gunzip指令
介紹:
gzip 用於壓縮檔案, gunzip 用於解壓
語法:
  • • gzip 檔案 (功能描述:壓縮檔案,只能將檔案壓縮為*.gz 檔案)
  • • gunzip 檔案.gz (功能描述:解壓縮檔案命令)
注意:
當我們使用 gzip 對檔案進行壓縮後,不會保留原來的檔案。
示例:

1.gzip壓縮:將/home目錄下的hello.txt檔案進行壓縮。

在這裡插入圖片描述

2.gunzip解壓縮:將/home目錄下的hello.txt檔案進行解壓縮。

在這裡插入圖片描述
2)zip/unzip指令
介紹:
zip 用於壓縮檔案, unzip 用於解壓的,這個在專案打包釋出中很有用的。
語法:
  • • zip [選項] XXX.zip 將要壓縮的內容(功能描述:壓縮檔案和目錄的命令)
  • • unzip [選項] XXX.zip (功能描述:解壓縮檔案)
zip常用選項:
  • • -r:遞迴壓縮,即壓縮目錄
unzip常用選項:
  • • -d<目錄>:指定解壓後文件的存放目錄
示例:

1.將/home下的所有檔案進行壓縮,壓縮後文件名為mypackage.zip

在這裡插入圖片描述

2.將mypackage.zip解壓到/opt/tmp目錄下。

在這裡插入圖片描述
3)tar指令
介紹:
tar 指令 是打包指令,最後打包後的檔案是 .tar.gz 的檔案。
語法:
tar [選項] XXX.tar.gz 打包的內容 (功能描述:打包目錄,壓縮後的檔案格式.tar.gz)
常用選項:
選項
功能
-c
產生 .tar 打包檔案
-v
顯示詳細資訊
-f
指定壓縮後的檔名
-z
打包同時壓縮
-x
解包 .tar 檔案
zip/unzip指令
介紹:
zip 用於壓縮檔案, unzip 用於解壓的,這個在專案打包釋出中很有用的。
語法:
  • • zip [選項] XXX.zip 將要壓縮的內容(功能描述:壓縮檔案和目錄的命令)
  • • unzip [選項] XXX.zip (功能描述:解壓縮檔案)
zip常用選項:
  • • -r:遞迴壓縮,即壓縮目錄
unzip常用選項:
  • • -d<目錄>:指定解壓後文件的存放目錄
示例:

1.將/home下的所有檔案進行壓縮,壓縮後文件名為mypackage.zip

在這裡插入圖片描述

2.將mypackage.zip解壓到/opt/tmp目錄下。

在這裡插入圖片描述
3)tar指令
介紹:
tar 指令 是打包指令,最後打包後的檔案是 .tar.gz 的檔案。
語法:
tar [選項] XXX.tar.gz 打包的內容 (功能描述:打包目錄,壓縮後的檔案格式.tar.gz)
常用選項:
選項
功能
-c
產生 .tar 打包檔案
-v
顯示詳細資訊
-f
指定壓縮後的檔名
-z
打包同時壓縮
-x
解包 .tar 檔案
示例:

1.壓縮多個檔案,將/home/a1.txt/home/a2.txt壓縮成a.tar.gz

在這裡插入圖片描述

2.將a.tar.gz解壓到當前目錄。

在這裡插入圖片描述
END
官方站點:www.linuxprobe.com
 Linux命令大全:www.linuxcool.com

劉遄老師QQ:5604215
Linux技術交流群:2636170
(新群,火熱加群中……)
想要學習Linux系統的讀者可以點選"閱讀原文"按鈕來了解書籍《Linux就該這麼學》,同時也非常適合專業的運維人員閱讀,成為輔助您工作的高價值工具書!


相關文章