Linux操作系統從入門到精通!第二天(命令行)

一、Linux的命令行


1.Linux介紹:剛出世的時候,沒有什么節目,所有的操作都是靠命令行來執行,后來Linux發展迅速,也出現了圖形界面,但是由于命令行的執行速度比圖形界面塊,所以也得到了廣泛的應用,可以說不會命令行就不會Linux。


2.Linux的命令格式
command [-options] [param1] [,param2]...
command:Linux命令的名稱,一般就是相應功能的單詞或單詞的縮寫
[-options]:選項,它和命令之間有一個空格,可以用于對命令進行控制,[]表示可以省略
[param1] [,param2]...:傳遞給命令的參數,可以有零個或多個


3.查看幫助文件:command --help
例如:

4.man(manual,手冊,有問題找男人)命令
Linux的man命令提供了一個手冊,包含了絕大部分的命令、函數的使用說明,分了幾個章節(section):
1. Standard commands:標準命令
2. System calls:系統調用
3. Library function:庫函數
4. Special devices:設備文件說明
5. File formats:文件格式
6. Games and toys:游戲和娛樂
7. Miscellaneous:雜項
8. Administrative Commands:管理員命令,例如ifconfig
man的使用:man [section] 命令名
運行man命令后可以執行的操作:
b:回滾一屏
f:前滾一屏
q:退出man命令
h:列出所有功能鍵
/字符串:查找字符串
同時可以使用上下鍵來移動內容
?

5.命令的自動補全
在敲命令的時候,可以只敲前面幾個字母,然后按”Tab”鍵進行命令的自動補全
例如:敲一個m,然后按”Tab”鍵:

6.歷史命令
當系統執行了一些命令之后,可以按上下鍵翻看以前執行過的命令。
在家目錄中(~),存在一個隱藏文件(.bash_history),里面記錄了之前執行過的bash命令:

7.文件管理相關命令
(1)查看文件信息:ls,list的簡稱,類似于Windows的dir命令
語法:
ls [選項] [文件名]
說明:[]內容可以省略,如果省略文件名,表示查看當前目錄下的所有文件
選項:
-a:顯示當前目錄下的所有文件和子目錄,包含隱藏文件(Linux中的隱藏文件都是以”.”開頭的,例如”.bash_history”)
-l:以列表的形式顯示文件的詳細信息
-h:搭配”-l”使用,以更人性化的方式顯示文件大小
示例:

其中”ls -l”可以簡寫成”ll”:

“ls -l”顯示文件大小的時候,是以字節為單位,不方便查看,可以結合”-h”選項以更人性化的方式顯示文件大小:

(2)輸出重定向:>
默認情況下命令的執行結果是輸出到控制臺的,輸出重定向允許將命令的執行結果輸出到一個文件中。注意:輸出重定向到相同文件時,后面的內容會覆蓋之前的內容,如果不想覆蓋,只是想追加,可以使用追加重定向:>>
示例:

追加:

(3)分屏顯示:more
如果信息太多,一屏顯示不完,可以通過more命令分屏顯示
說明:
空格:顯示下一頁
q:退出
還可以使用上下鍵來移動內容,就像使用vi編輯器一樣。

(4)less:分屏顯示文件內容
less用于分屏查看文件內容,功能和more命令類似,但是比more命令更強大,支持各種顯示終端。less命令在顯示文件內容時,并不是一次將整個文件加載后顯示,而是根據顯示需要加載內容,對于顯示大型文件具有較高的效率。
1)語法:
less 要查看的文件
2)操作說明:
?

(5)head:顯示文件頭部內容
head用于顯示文件開頭部分的內容,默認情況下顯示文件的前10行內容。
1)語法:
head 文件(查看文件頭10行內容)
head -n 5 文件(查看文件頭5行內容,數字5可以任意)
2)選項

(6)tail:輸出文件尾部的內容
tail用于輸出文件尾部的內容,默認情況下顯示文件后10行內容。
1)語法:
tail 文件(查看文件尾10行內容)
tail -n 5 文件(查看文件尾5行內容,5可以是任意數字)
tail -f 文件(實時追蹤該文檔的所有更新)
2)選項


(7)管道:|
類似于管子,一頭塞進去,另一頭取出來。
一個命令的輸出可以通過管道作為另一個命令的輸入


(8)清屏:clear
(9)切換工作目錄:cd,change directory的簡稱

cd命令后面既可以跟絕對路徑也可以跟相對路徑,例如:
cd ~:進入家目錄
cd .:進入當前目錄
cd ..:進入上一級目錄
cd -:進入上一個可以進入的目錄
注意:Linux中的文件和目錄嚴格區分大小寫的,即使兩個文件名相同,但是大小不一致,也是兩個不同的文件(Windows是不區分大小寫)
示例:
?
(10)顯示當前路徑:pwd

(11)創建目錄:mkdir,make directory的簡稱
mkdir可以創建一個新的目錄,通過-p選項可以遞歸的創建目錄及其子目錄,注意:目錄的創建者必須具有對當前目錄的寫權限(w)
示例:

(12)刪除目錄:rmdir,remove directory的簡稱
注意:使用rmdir刪除目錄的時候,要求目錄必須是空的目錄,否則不能刪除

(13)刪除文件:rm,remove的簡稱
使用rm刪除文件或目錄的時候,需要注意,rm刪除的文件不能夠恢復,可以使用”-i”選項逐個確認之后再刪除。
選項:
-i:interface的簡稱,以交互式的方式刪除(詢問),默認的情況。
-f:force的簡稱,強制刪除,不提示。
-r:遞歸刪除目錄及其子目錄。
示例:
?


練習:在家目錄中創建一個demo目錄,然后將其刪除,然后創建test1/test2/test3目錄,在test3目錄中創建1.txt文件,然后刪除整個test1目錄。
?
(14)鏈接文件
Linux中的鏈接文件就類似于Windows中的快捷方式
分為軟鏈接和硬鏈接:
軟鏈接文件:不占用磁盤空間,源文件刪除則鏈接文件就無用了
硬鏈接文件:占用磁盤空間,只能鏈接普通文件,不能鏈接目錄
語法:ln,link的簡稱
軟鏈接:ln -s 源文件 鏈接文件
硬鏈接:ln 源文件 鏈接文件
示例:


(15)查看或合并文件內容:cat
?
還可以使用cat來重定向:
?
合并:
?
合并之后輸出到一個文件:
?
(16)正則表達式
1)什么是正則表達式:正則表達式使用某種模式(pattern)去匹配(match)一類受支持的公式
2)通常使用正則表達式進行查找替換等操作。
3)適當的使用正則表達式可以提高工作效率。
4)支持正則表達式的文本處理工具有:
a.grep:按模式匹配文本
b.sed:一個流編輯器
c.vi:一個屏幕編輯器
5)正則表達式的構成
a.正則表達式由一些普通字符和元字符(Meta Characters)組成
a)普通字符:包含大小寫的字母和數字(非元字符)
b)元字符:具有特殊含義的字符
常用的元字符的表格:

非基本正則:

(17)文本搜索:grep
grep命令是Linux系統中一種強大的文本搜索工具,grep允許對文本進行模式查找,如果找到了匹配模式(正則表達式),grep打印包含模式的所有行。
語法:
grep [選項] ‘搜索的字符串’ 文件名
說明:其中’搜索的字符串’可以包含正則表達式
選項:
-v:不包含匹配行,即取反
-n:顯示匹配行的行號
-i:忽略大小寫
-r:遞歸搜索,對指定目錄及其子目錄中的文件進行遍歷搜索
示例1:


注意:grep命令只支持基本的正則表達式。
示例2:查找當前目錄及其子目錄中所有文件中包含IP地址的行,其中”-E”選項表示使用擴展的正則

(18)查找文件:find
該命令功能強大,通常用于在特定的目錄下搜索文件,語法:
find 搜索路徑 [選項] 搜索內容

1)按照文件名搜索
常用選項:
-name:按照文件名搜索
-iname:按照文件名搜索,不區分文件名大小寫
-inum:按照 inode 號搜索

2)按照文件大小搜索
常用選項:
-size [+|-]大小:按照指定大小搜索文件
“+”的意思是搜索比指定大小還要大的文件
“-”的意思是搜索比指定大小還要小的文件
find 命令的單位:
'b':默認以塊為單位,一塊=512字節
'c' :字節
'w' :雙字節(中文)
'k':KB單位
'M':MB單位
'G':GB單位

?
3)按照修改時間搜索
常用選項:
-atime [+|-]時間:按照文件訪問時間搜索
-mtime [+|-]時間:按照文件數據修改時間搜索
-ctime [+|-]時間:按照文件狀態修改時間搜索
?
4)按照權限搜索
常用選項:
-perm 權限模式:查找文件權限剛好等于“權限模式”的文件
-perm -權限模式:查找文件權限全部包含“權限模式”的文件
-perm +權限模式:查找文件權限包含“權限模式”的任意一個權限的文件
?
5)按照所有者和所屬組搜索
常用選項:
-uid 用戶ID:按照用戶ID 查找所有者是指定 ID 的文件
-gid 組ID:按照用戶組 ID 查找所屬組是指定 ID 的文件
-user 用戶名:按照用戶名查找所有者是指定用戶的文件
-group 組名:按照組名查找所屬組是指定用戶組的文件
-nouser:查找沒有所有者的文件
?
6)按照文件類型搜索
常用選項:
-type d:查找目錄
-type f:查找普通文件
-type l:查找軟鏈接文件
?
7)邏輯運算符
常用選項:
-a:and 邏輯與
-o:or 邏輯或
-not:not 邏輯非
?
8)其他選項
① -exec 選項
find 搜索路徑 [選項] 搜索內容 -exec 命令2 {} \;
這個選項的作用其實是把 find 命令的結果交給由“-exec”調用的“命令2“ 來處理。“{}”就代表 find 命令的查找結果。


② -ok 選項
“-ok”選項和“-exec”選項的作用基本一致,區別在于:“-exec”的命令2 會直接處理,而不詢問;“-ok”的命令2 在處理前會先詢問用戶是否這樣處理,在得到確認命令后,才會執行。

(19)拷貝文件:cp,copy的簡稱
將指定的文件或目錄復制到另一個文件或目錄中
語法:
cp [選項] 源文件 目標文件
選項:
-a:保持源文件原有的屬性
-f:刪除已經存在的目標文件不提示(覆蓋)
-i:交互式復制,有提示
-r:遞歸復制文件夾及其子文件夾
-v:顯示拷貝的進度
示例:

(20)移動文件:mv,move的簡稱
mv命令可用于移動文件或目錄,還可以重命名
語法:
mv [選項] 源文件 目的地
選項:
-f:禁用交互式提示(不提示)
-i:使用交互式提示(有提示)
-v:顯示進度
示例:
?
(21)創建新文件:touch
語法:
touch 文件1 [文件2]...
?
(22)歸檔管理:tar
Linux系統數據經常需要備份,tar命令是最常用的備份工具,可以把一系列的文檔歸檔到一個大的文件中(打包),也可以解開一個歸檔文件以恢復數據(解包)。
語法:
打包:
tar [選項] 打包后的文件名 源文件
解包:
tar [選項] 打包后的文件名 解包的目錄
選項:
-c:create的簡稱,生成歸檔文件,打包
-v:顯示歸檔的進度
-f:file的簡稱,指定歸檔文件的名稱(是.tar文件),注意,這個選項只能作為最后一個選項,用于表示后面的文件的類型是.tar歸檔文件類型
-t:列出歸檔文件包含的文件
-x:relax的簡稱,解開歸檔文件,解包
示例:
?

(23)文件壓縮和解壓縮:gzip
1)tar和gzip結合可以打包并壓縮以及解壓縮文件
2)tar只負責打包,不負責壓縮,gzip負責壓縮打包后的文件,打包并壓縮后的文件名如:xxx.tar.gz
語法:
gzip [選項] 被壓縮的文件 生成的壓縮文件
選項:
-d:解壓
-r:遞歸壓縮所有子目錄
示例:
?
一般情況下,我們會將tar和gzip命令搭配使用來打包壓縮和解壓縮,語法如下:
壓縮:tar -cvzf 壓縮文件名.tar.gz 文件1 [文件2]...
注意:這里的f選項只能是最后一個選項,選項z表示壓縮,即使用gzip壓縮

解壓:tar -zxvf 壓縮文件名.tar.gz [-C 解壓的目錄]
其中-C表示解壓到哪一個目錄,如果省略就解壓到當前目錄

(24)文件壓縮和解壓縮:zip和unzip,對應于Windows中的.zip和.rar類型的壓縮文件,注意,CentOS7默認沒有安裝zip和unzip,需要使用yum安裝:


語法:
壓縮:
zip [-r] 目標文件.zip 源文件
選項-r表示遞歸壓縮目錄及其子目錄中的內容
示例:


解壓:
unzip -d 解壓后的目錄 壓縮文件
選項-d用于指定解壓的目錄
?
?
(25)查看命令的位置:which
?
(26)處理,編輯文本文件,流處理器:sed
sed命令可以依照腳本的指令來處理,編輯文本,可以對文本文件進行增刪改查的操作,支持按行,按字段,按正則表達式的方式來匹配文檔內容,使用方便,適合腳本編程。
語法:
sed [選項] ‘命令和字符串’ 文件
選項:
-c:默認選項,對文本進行編輯
-f:指定sed命令后保存的文件名
-n:取消默認輸出,只打印處理過的行
-i:直接修改要處理的文件
命令:
-a:append,向匹配行追加
-d:delete,對匹配行刪除
-c:更改匹配的內容
-s:將匹配行的內容替換
-i:insert,在匹配行前插入內容
-p:print,打印匹配行的內容,一般和-n選項搭配使用
示例:
?

?
?
示例2:
刪除最后一行:sed -i ‘$d’ demo.txt
刪除第一行:send -i ‘1d’ demo.txt
刪除1~2行之外的行:
?
示例3:替換文本:
?
示例4:全局替換

(27)xargs
xargs是Linux中一個非常強大的命令,用于從標準輸入構建并執行命令行。它通常和其他命令(如find、grep等)結合使用,以處理大量數據或文件。xargs的核心功能是將輸入數據轉換為命令行參數。
1)語法:
xargs [選項] [命令]
輸入:xargs從標準輸入(stdin)讀取數據
輸出:將輸入數據作為參數傳遞給指定的命令并執行
2)常用選項


示例1:基本用法
將輸入作為參數傳遞給echo(回顯)命令:
?
示例2:結合find使用
查找當前目錄下的所有.txt文件并刪除
?
示例3:限制每次執行的參數個數(-n)
每次只傳遞2個參數給echo
?
示例4:使用占位符(-I)
將輸入項替換為占位符{}

示例5:交互式模式(-p)
在執行命令前提示用戶確認

示例6:打印執行的命令(-t)
在執行命令前打印命令:

示例7:忽略空輸入(-r)
如果輸入為空,則不執行命令
?
示例8:指定輸入分隔符(-d)
使用逗號作為分隔符:

示例9:從文件讀取輸入(-a)
從文件note.txt中讀取輸入:

示例10:批量重命名文件
將當前目錄下的.txt文件重命名為.bk:

示例11:并行壓縮文件
使用xargs和gzip并行壓縮文件(提高執行效率):

示例12:并行壓縮并顯示執行的命令

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90023.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90023.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90023.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Go高效對接印度金融市場數據:K線、新股與實時行情開發指南

使用Go高效對接印度金融市場數據:K線、新股與實時行情開發指南 印度國家交易所(NSE)日均交易額超79億美元,孟買交易所(BSE)覆蓋上市公司超5000家,雙交易所體系為投資者提供了豐富機會。本文基于…

【計算機網絡】補充

僅供參考 如果本地域名服務器無緩存,當采用遞歸方法解析另一網絡某主機域名時,用戶主機和本地域名服務器發送的域名請求條數分別為() A.1條 1條 B.1條 多條 C.多條 1條 D.多條 多條 A CSMA/CD的中文含義是(&#x…

最新PDF轉markdown軟件MonkeyOCR整合包,文檔圖片解析工具

MonkeyOCR是上個月剛發布的一款文檔解析工具,可以將PDF文檔或圖片識別轉換為markdown格式文件。官方測試顯示性能極佳。我基于當前最新版制作了免安裝一鍵啟動整合包,支持批量操作,并降低了顯卡要求。 MonkeyOCR官方介紹 MonkeyOCR 采用結構…

創客匠人深度剖析:家庭教育賽道創始人 IP 打造與知識變現的破局之道

在知識付費領域,家庭教育賽道的競爭日益激烈,如何從 0-1 打造創始人 IP 并實現高效拓客,成為創業者的核心難題。創客匠人服務的慈航德教育創始人陳向杰老師,通過視頻號運營、產品矩陣設計與社群生態構建,實現單月拓客 …

UDP服務器主要是指什么意思?

UDP的全稱為用戶數據報協議,是一種在計算機網絡中常用的傳輸協議,屬于是傳輸層協議,UDP屬于是一種無連接的協議,在發送數據信息之前,發送方和接收方不需要建立任何握手連接,主要是用于發送小量數據的實時應…

arm 精準總線錯誤與非精準總線錯誤

一、總線錯誤 1.1 arm總線設計 要了解什么是總線錯誤,就要先了解arm的總線設計。 AMBA(Advanced Micro-Controller Bus Architecture)是由ARM Limited公司推出的On-Chip Bus片上總線規范,是目前芯片總線的主流標準(該標準在不斷演進&#…

Unity UGUI的Canvas以及內部元素之間遮擋關系調整

調UI遮擋關系有三種思路: 調Sorting Layer,層級越后渲染到越前面調Order in Layer,數字越大渲染到越前面修改UI材質調RenderQueue,數字越大越后渲染 對前兩種比較陌生的同學可以看一下我以前寫的這篇,不看也沒事&…

SpringCloud系列(46)--SpringCloud Bus實現動態刷新全局廣播

前言:上一節中我們簡單的介紹了什么是SpringCloud Bus,SpringCloud Bus的用處,而本節內容則是使用SpringCloud Bus來實現動態刷新全局廣播。 實現動態刷新全局廣播的設計思想的架構圖 注:在實現SpringCloud Bus動態刷新全局廣播前…

Java+Vue開發的電子招投標管理系統,實現全流程線上操作,高效規范,助力招投標活動透明公正開展

前言: 在數字化浪潮席卷全球的當下,傳統招投標模式面臨著效率低下、信息不透明、管理成本高等諸多挑戰。電子招投標管理系統應運而生,它借助先進的互聯網技術和信息化手段,實現了招投標全流程的電子化、自動化和智能化管理。該系…

MyBatisPlus-02-核心功能

文章目錄【README】【1】MyBatis-plus常見注解【2】MyBatis-Plus常見配置【2.1】MyBatis-Plus配置示例【3】MyBatisPlus核心內容【3.1】條件構造器【3.1.1】業務場景1-帶多字段條件的查詢-使用QueryWrapper【3.1.2】業務場景2-帶條件的更新-使用QueryWrapper【3.1.3】業務場景3…

ZYNQ MPSOC GTH aurora8b10b IP的修改與仿真

1 ip設置好后的頂層模塊接口: 根據自己的開發板修改接口如下: odule gtwizard_ultrascale_0_example_top (// Differential reference clock inputsinput wire mgtrefclk0_x0y1_p,input wire mgtrefclk0_x0y1_n,// Serial data ports for transceiver channel 0input w…

機器學習之線性回歸

主要參考: 機器學習| 算法筆記-線性回歸(Linear Regression) - 知乎 (zhihu.com) 2-2 線性回歸_嗶哩嗶哩_bilibili Python機器學習實戰:線性回歸模型預測波士頓房價_嗶哩嗶哩_bilibili 回歸分析 在數學和統計學中,回歸…

Boost.Asio學習(2):同步讀寫

Asio 的 buffer 是什么? boost::asio::buffer(...) 是一個函數模板,用于創建一個通用的 buffer 對象,可傳遞給 I/O 函數(如 read, write, read_some, write_some 等)。 它返回的是 mutable_buffer 或 const_buffer 的…

Java中如何枚舉正則表達式捕獲組的名字

在使用正則表達式在匹配文本時&#xff0c;除了可以通過表達式捕獲命中的文本串外&#xff0c;還可以對捕獲的文本串進行命名。尤其是在解析日志的場景中&#xff0c;經常會被用到。表達式如下&#xff1a; \<(?<pri>\d)\>(?<time>.*) (?<host>\S)…

CentOS 系統高效部署 Dify 全攻略

系列文章目錄 CentOS系統高效部署fastGPT全攻略 文章目錄 系列文章目錄一、前言二、準備工作與系統要求三、安裝 Docker 與 Docker Compose四、部署 Dify 核心服務五、數據庫與存儲配置六、網絡與安全優化七、監控與運維八、升級與擴展九、附錄與資源關鍵命令速查表官方文檔…

xyctf2025第三屆京麒CTF

一.MISC 1.XGCTF 直接ai搜索一遍找到了出題人的博客LamentXU 2024-2025年終總結 - LamentXU - 博客園 知道了原題是ciscn中的 在LamentXU的博客亂逛Patriot CTF 2024 MISC 部分 wp - LamentXU - 博客園 找到了博客網站,讓后搜索ciscn扎到了博客 CISCN華東南WEB-Polluted |…

Python爬蟲 模擬登錄 requests版

前言 網站必須是登錄狀態才能查看網站信息,是最常見的反爬手段,下面我分享一下request模擬登錄狀態進行請求 目錄 模擬登錄的原理 直接復制網站Cookie模擬登錄狀態 通過登錄接口信息破解出Cookie模擬登錄狀態 模擬登錄的原理 網站是使用Cookie和session記錄網站的登錄狀態…

一些改進策略

1.要計算一個神經網絡模型的總參數量、可訓練參數量以及計算量&#xff08;FLOPs&#xff09;&#xff0c;可以使用以下步驟&#xff1a; ### 計算總參數量和可訓練參數量&#xff1a; 1. **逐層計算參數量**&#xff1a; - 對于每一層&#xff0c;確定該層的參數量。這通…

React Native響應式布局實戰:告別媒體查詢,擁抱跨屏適配新時代

前言:當設計師說"這個頁面要適配所有手機和平板…" “什么?React Native不支持CSS媒體查詢?那怎么實現響應式布局?”——這是很多剛接觸React Native的開發者會遇到的靈魂拷問。 但別慌,沒有@media,我們照樣能玩轉多端適配!想象一下:你的App在iPhone SE的小…

[Java惡補day39] 整理模板·考點六【反轉鏈表】

考點六【反轉鏈表】 【考點總結】 1. 206. 【題目】 【核心思路】 【復雜度】 時間復雜度&#xff1a; O ( ) O() O()。 空間復雜度&#xff1a; O ( ) O() O()。 【代碼】 92. 【題目】 【核心思路】 【復雜度】 時間復雜度&#xff1a; O ( ) O() O()。 空間復雜度&a…