Linux常用命令知識點總結

来源:https://www.cnblogs.com/zqingyang/p/18142052
-Advertisement-
Play Games

目錄 目錄目錄基礎指令Linux命令基本格式文件操作文件格式文件許可權創建文件查看文件刪除文件移動文件複製文件編輯文件查找文件查找命令路徑vim文本編輯器一般指令模式(command mode)編輯模式(insert mode)指令列命令模式command-line mode目錄操作列印路徑查看目錄切 ...


目錄

目錄


基礎指令

Linux命令基本格式

gec@ubuntu:~$ 命令   [選項]   [參數]  

文件操作

文件格式

file命令,該命令用於查看Linux系統中文件的類型,包括但不限於文本文件、目錄、二進位文件、符號鏈接等。

file [選項] 文件名

file code.tar.bz2 #查看code.tar.bz2 的文件類型

文件許可權

chmod命令,是英文單詞change module的縮寫,利用該命令可以修改Linux系統的文件許可權

chmod   許可權   文件

系統中的所有用戶被分成三類:文件所有者(現登錄用戶),同組用戶和其他用戶。這三類用戶對這個文件的rwx許可權,可以由命令 ls -l 來查看。

在上述列子中,rwx三組許可權對應了三種用戶。當我們需要修改這些許可權的時候,為了便於描述,一般用3組八進位數來對應這些許可權為,如下表所示:

image

image

創建文件

touch 文件不存在時創建空文件 , 文件存在時將已存在的文件或目錄的時間標簽更新為當前系統時間

touch  文件名            //可以一次性創建多個不同類型的文件

查看文件

cat命令,是英文concatenate的縮寫,該命令是 Linux操作系統中最常用的命令之一。cat 命令允許創建單個或多個文件、查看文件內容、連接文件和重定向終端或文件中的輸出,常用於查看文件內容。

cat file.txt #顯示文本文件內容
cat -n a.c  #顯示文本文件內容(並顯示行號)
cat -A a.c   #顯示文本文件內容(含不可見字元)
		  #註意:在某些情況下,我們可能需要檢測文件中那些不可見的字元。比如在Windows系統中編輯了程式源文件,放到Ubuntu系統中編譯可能會出現字元錯誤,這是因為Windows系統中的某些回車符、製表符跟Ubuntu系統的不一致,導致無法編譯,而這些字元是不可見的,因此可以使用上述 cat -A 來識別。

刪除文件

rm 永久性地刪除文件系統中指定的文件或目錄。在使用 rm 命令刪除文件或目錄時,系統不會產生任何提示信息

rm   [選項]  文件或目錄
	-f:強制刪除(force),和 -i 選項相反,使用 -f,系統將不再詢問,而是直接刪除目標文件或目錄。
	-i:和 -f 正好相反,在刪除文件或目錄之前,系統會給出提示信息,使用 -i 可以有效防止不小心刪除有用的文件或目錄。
	-r:遞歸刪除,主要用於刪除目錄,可刪除指定目錄及包含的所有內容,包括所有的子目錄和文件。

移動文件

mv 命令,是英文move的縮寫,該命令有兩種作用:既可以在不同的目錄之間移動文件或目錄,也可以對文件和目錄進行重命名。

mv  [選項]   源文件   目標文件/目錄路徑
	-f:強制覆蓋,如果目標文件已經存在,則不詢問,直接強制覆蓋
	-i:交互移動,如果目標文件已經存在,則詢問用戶是否覆蓋(預設選項)
	-n:如果目標文件已經存在,則不會覆蓋移動,而且不詢問用戶

複製文件

cp命令,是英文copy的縮寫,主要用來複制文件和目錄,同時藉助某些選項,還可以實現複製整個目錄,以及比對兩文件的新舊而予以升級等功能。

cp  [選項]  源文件(被覆制文件)  目標路徑
	-i:詢問,如果目標文件已經存在,則會詢問是否覆蓋
	-r:遞歸複製,用於複製目錄
	-u:若目標文件和源文件有差異,則可以更新目標文件,可用於對文件的升級和備用

編輯文件

gedit命令,可以以記事本的風格打開一個文件,gedit圖形化編輯器跟Windows下記事本的用法基本一致。

gedit  文件名

查找文件

find命令,該命令用於查找Linux系統中某個指定的路徑下文件的位置,並且可以把文件的絕對路徑輸出到終端。註意:如果打算查找根目錄下的文件,則應該使用sudo獲取root許可權。

find 路徑 [選項] 文件名

find /usr -name  "xxx.h" #在/usr中查找所有以.h結尾的文件 
find /tmp -type d       # 在/tmp中查找類型為目錄的文件
find / -name passwd #找出檔名為 passwd 這個文件

查找命令路徑

which命令,在Linux系統中該命令用於定位和查找系統中可執行文件的路徑。它主要用於確定某個命令是否存在以及該命令的完整路徑。

which [選項] 命令名

which ls #查找ls命令的路徑

vim文本編輯器

因為中文編碼有 big5 與utf8 兩種,如果你的文件是使用big5 編碼製作的,但在vim 的終端介面中你使用的是萬國碼(utf8), 由於編碼的不同,你的中文文件內容當然就是一堆亂碼了!

【1】安裝並部署好 vsCode 編程環境,並安裝 vim 插件,試試使用 vi 模式編寫代碼。

直接在 vsCode 中的擴展欄搜索 vim 安裝即可。關於 vi 編輯器:

  • 特點:
    1. vi的改進版本叫vim(vi’s improved version),vi和vim是同一個軟體。
    2. vi其初衷是解放滑鼠,只用鍵盤高效操作所有的編輯任務。
    3. 沒有菜單,操作分成編輯模式和命令模式,除了編輯之外的操作都在命令模式下進行。

Vi有三種工作模式:一般命令模式、編輯模式、指令列命令行模式。

image

一般指令模式(command mode)

作用: ①移動游標 ②搜索與取代 ③刪除字元、刪除整列 ④複製整列、粘貼整列

進入: ①預設進入②在編輯模式或指令列模式中按下 ESC

# ①移動游標
	[Ctrl] + [b]	#向上翻一頁
	[Ctrl] + [f]	#向下翻一頁
	0 或功能鍵[Home] #移動到這一列的最前面字元處
	$ 或功能鍵[End]	 #移動到這一列的最後面字元處
	gg #移動到這個文件的第一行 (常用)
	G #移動到這個文件的最後一行(常用)
    n <Enter> #n 為數字。游標向下移動 n 行(常用)
        
# ②搜索與取代
	/word	#向游標之下尋找一個名稱為 word 的字元串。 (常用)
    :n1,n2s/word1/word2/g   #n1 與 n2 為數字。在第 n1 與 n2 列之間尋找 word1 這個字元串,並將該字元串取代為 word2 !
    :1,$s/word1/word2/g    #從第一列到最後一列尋找 word1 字元串,並將該字元串取代為 word2 !
    :1,$s/word1/word2/gc   #從第一列到最後一列尋找 word1 字元串,並將該字元串取代為 word2 !且在取代前顯示提示字元給用戶確認 	
    					 #(confirm) 是否需要取代!(常用)
        
# ③刪除字元、刪除整列
	見下表
命令 效果
yy 複製游標所在的那一整行
nyy n為數字。複製游標所在的向下 n 列,例如 20yy 則是複製 20 列(常用)
p 將已複製的數據在游標下一列貼上
P 貼在游標上一列
X 向前刪除一個字元(相當於 [backspace] 亦即是退格鍵)
x 向後刪除一個字元 (相當於 [del] 按鍵)
dd 刪除游標所在的那一整行
ndd n 為數字。刪除游標所在的向下 n 列,例如 20dd 則是刪除 20 列 (常用)
u 撤銷, 複原前一個動作。
. 重覆前一個動作的意思
ctrl+r 重做上一個動作
r 替換當前字元
k 游標向上移動
j 游標向下移動
h 游標向左移動
l 游標向右移動(小寫的L)

刪除文本

需要註意的是被刪除的內容並沒有真正刪除,都放在了剪貼板中。將游標移動到指定位置處,按下 "p" 鍵,就可以將剛纔刪除的內容又粘貼到此處。

快捷鍵 功能描述
x 刪除游標所在位置的字元
dd 刪除游標所在行
ndd 刪除當前行(包括此行)後 n 行文本
dG 刪除游標所在行一直到文件末尾的所有內容
D 刪除游標位置到行尾的內容
:a1,a2d 函數從 a1 行到 a2 行的文本內容

複製粘貼

快捷鍵 功能描述
p 將剪貼板中的內容粘貼到游標後
P(大寫) 將剪貼板中的內容粘貼到游標前
y 複製已選中的文本到剪貼板
yy 將游標所在行複製到剪貼板,此命令前可以加數字 n,可複製多行
yw 將游標位置的單詞複製到剪貼板

其他常用

某些情況下,可能需要把兩行進行連接。比如說,下麵的文件中有兩行文本,現在需要將其合併成一行(實際上就是將兩行間的換行符去掉)。可以直接在命令模式中按下 "J" 鍵。

如果不小心誤刪除了文件內容,則可以通過 "u" 鍵來撤銷剛纔執行的命令。如果要撤銷剛纔的多次操作,可以多按幾次 "u" 鍵。

編輯模式(insert mode)

作用: ①以插入或取代來編輯內容

進入使用:

插入模式:i I  o O a A #均可進入編輯模式 退出ESC
	i #在當前游標處插入文本
	I #在當前游標所在行的開頭處插入文本
	O #往上插一行
	o #往下插一行
	A #在當前游標所在行的末尾處插入文本
	a #在當前游標的下一個字元處插入文本

取代模式:
	r #取代一個字元
	R #一直取代, 直到按ESC結束

界面提示: INSERT 或 REPLACE

指令列命令模式command-line mode

作用: ①以插入或取代來編輯內容

進入使用: : / ?

#指令列模式的儲存、離開等指令
	:w 	將編輯的數據寫入硬碟文件中(常用)
	:q 	離開 vi (常用)
	:q! 放棄保存並退出
	:wq 儲存後離開
	:wq! 則為強制儲存後離開 (常用)

#vim 環境的變更
	:set nu 	顯示行號,設定之後,會在每一列的首碼顯示該列的行號
	:set nonu 	與 set nu 相反,為取消行號!

查找內容

:?printf #查找printf

如果在文件中並沒有找到所要查找的字元串,則在文件底部會出現 "Pattern not found" 提示。

在查找過程中需要註意的是,要查找的字元串是嚴格區分大小寫的,如查找 "shenchao" 和 "ShenChao" 會得到不同的結果。如果想忽略大小寫,則輸入命令 ":set ic";調整回來輸入":set noic"。

如果在字元串中出現特殊符號,則需要加上轉義字元 ""。常見的特殊符號有 \、*、?、$ 等。如果出現這些字元,例如,要查找字元串 "10$",則需要在命令模式中輸入 "/10$"。

替換文本

快捷鍵 功能描述
r 替換游標所在位置的字元
R 從游標所在位置開始替換字元,其輸入內容會覆蓋掉後面等長的文本內容,按“Esc”可以結束

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 初識STL STL,(Standard Template Library),即"標準模板庫",由惠普實驗室開發,STL中提供了非常多對信息學奧賽很有用的東西。 vector vetor是STL中的一個容器,可以看作一個不定長的數組,其基本形式為: vector<數據類型> 名字; 如: vector ...
  • 拓展閱讀 資料庫設計工具-08-概覽 資料庫設計工具-08-powerdesigner 資料庫設計工具-09-mysql workbench 資料庫設計工具-10-dbdesign 資料庫設計工具-11-dbeaver 資料庫設計工具-12-pgmodeler 資料庫設計工具-13-erdplus ...
  • .NET 部署 IIS 的簡單步驟一: 下載 dotnet-hosting-x.y.z-win.exe ,下載地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com) .NET 部署 IIS 的簡單步驟二: 選擇對應的版本,點擊進入詳 ...
  • 在處理大型Excel工作簿時,有時候我們需要在工作表中凍結窗格,這樣可以在滾動查看數據的同時保持某些行或列固定不動。凍結窗格可以幫助我們更容易地導航和理解複雜的數據集。相反,當你不需要凍結窗格時,你可能需要解凍它們以獲得完整的視野。 下麵將介紹如何使用免費.NET庫通過C#實現凍結Excel視窗以鎖 ...
  • 在 Avalonia 中,樣式是定義控制項外觀的一種方式,而控制項主題則是一組樣式和資源,用於定義應用程式的整體外觀和感覺。本文將深入探討這些概念,並提供示例代碼以幫助您更好地理解它們。 樣式是什麼? 樣式是一組屬性,用於定義控制項的外觀。它們可以包括背景色、邊框、字體樣式等。在 Avalonia 中,樣 ...
  • 引言 上一篇我們創建了一個Sample.Api項目和Sample.Repository,並且帶大家熟悉了一下Moq的概念,這一章我們來實戰一下在xUnit項目使用依賴註入。 Xunit.DependencyInjection Xunit.DependencyInjection 是一個用於 xUnit ...
  • 老周在幾個世紀前曾寫過樹莓派相關的 iOT 水文,之所以沒寫 Nano Framework 相關的內容,是因為那時候這貨還不成熟,可玩性不高。不過,這貨現在已經相對完善,老周都把它用在項目上了——第一個是自製的智能插座,這個某寶上50多塊可以買到,搜“esp32 插座”就能找到。一種是 86 型盒子 ...
  • JWT(JSON Web Token)是一種用於在網路應用之間傳遞信息的開放標準(RFC 7519)。它使用 JSON 對象在安全可靠的方式下傳遞信息,通常用於身份驗證和信息交換。 在Web API中,JWT通常用於對用戶進行身份驗證和授權。當用戶登錄成功後,伺服器會生成一個Token並返回給客戶端 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...