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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...