???~~~~~~歡迎光臨知星小度博客空間~~~~~~???
???零星地變得優秀~也能拼湊出星河~???
???我們一起努力成為更好的自己~???
???如果這一篇博客對你有幫助~別忘了點贊分享哦~???
???如果有什么問題可以評論區留言或者私信我哦~???
??????個人主頁??????
????????前面的兩篇博客,我們已經對Linux命令行的基礎指令進行了簡單的學習,更多的使用指令需要我們在實踐中去積累,這一篇博客,我們將開啟Linux新篇章——Linux下的基礎開發工具~準備好了嗎~我們發車去探索Linux的奧秘啦~🚗🚗🚗🚗🚗🚗
目錄
軟件包管理器😎
Linux下軟件安裝、查找與卸載方法😘
操作系統生態😊
Linux安裝/刪除/搜索軟件實踐操作😁
安裝源😜
文本編輯器Vim🤔
簡單程序引入🙂
命令模式🤪
底行模式😘
五種常用模式🤩
vim的配置🤨
補充:【!char】指令🤗
軟件包管理器😎
Linux下軟件安裝、查找與卸載方法😘
????????Linux下安裝軟件有下面的幾種方式,在此之前我們需要明確一點軟件之間是存在著依賴關系的【即一個軟件在運行或執行某些功能時,需要依賴另一個軟件或庫的存在和正常工作】,我們可以手動解決~也可以使用到軟件包管理器~
源碼安裝:直接通過源代碼進行安裝~
rpm安裝方式:平時使用到的安裝包本質在Windows下編譯源代碼后打包~
yum/apt工具級別【軟件包管理器】安裝:
功能:自動提供軟件并解決依賴關系~
比喻:軟件包相當于APP,軟件包管理器相當于應用商店~找到軟件即可下載~
下面的圖片顯示了Linux下下載軟件的過程:云服務器通過包管理器(如yum/apt)發起軟件包查找和下載請求,軟件包服務器響應并提供所需軟件包~包管理器負責解決軟件包間的依賴關系,確保軟件正常運行,并執行下載、安裝和卸載操作~
進一步理解軟件包管理器:
????????軟件包管理器是一個工具,它負責自動化軟件包的安裝、更新、卸載等操作,并處理軟件包之間的依賴關系~軟件包管理器通過維護一個軟件包倉庫(類似于應用商店),用戶可以從倉庫中搜索、下載和安裝軟件包~
操作系統生態😊
????????操作系統生態是以操作系統為核心,涵蓋應用軟件、硬件設備、開發者社區和用戶群體的完整體系~它對于保障國家信息安全、推動技術創新和產業發展、提升操作系統市場競爭力和用戶滿意度具有重要意義~
??????? 評價一個操作系統的好壞是通過操作系統生態進行評估的,而不是單獨某一個方面進行評估~
?組成部分:
?》操作系統內核和系統軟件:
????????????????作為生態的基礎,提供運行環境和支持,包括系統調用、編譯環境等。
?》應用軟件:
????????????????滿足用戶在不同領域的需求,如辦公、娛樂、教育等,是生態價值的重要體現。
?》硬件設備:
????????????????確保操作系統與各種硬件的兼容性,包括計算機硬件、外設等,是生態穩定運行的基礎。
??》開發者社區:
????????????????活躍的開發者社區推動技術創新和生態發展,為開發者提供技術支持和分享經驗。
??》用戶群體:
????????????????作為生態的最終受益者,用戶的需求和反饋對生態發展至關重要。
????????軟件包管理是操作系統生態中的重要環節,涉及軟件的安裝、更新和卸載。一個完善的操作系統生態應提供便捷、高效的軟件包管理工具和服務,以滿足用戶的不同需求。同時,軟件包管理流程的優化和改進也有助于提升操作系統生態的完善程度和用戶體驗。
??????? 也就有了下面的圖片:
Linux安裝/刪除/搜索軟件實踐操作😁
??????? 我們知道在操作系統中,不同的用戶具有不同的權限,普通用戶通常只能訪問和修改自己的文件和目錄,而無法對系統級別的文件和目錄進行更改,而安裝軟件通常涉及到將軟件文件復制到系統目錄(如/usr/bin
、/usr/lib
等),這些目錄通常只有超級用戶(如root)才有權限寫入~所以Linux下安裝軟件,我們要以超級用戶的身份進行安裝!也就是說我們需要對普通用戶進行權限提升(使用sudo)~
??????? 小編使用的Linux發行版是Centos版本,所以使用yum軟件包管理器,如果是Ubuntu可以使用apt軟件包管理器~
我們這里測試下載一個比較好玩的,命令行輸入sudo yum install sl
詢問是否安裝,確認輸入y,否定輸入n
安裝完成!
使用sl:
就會出現一個跑起來的小火車~
如果我們想要刪除這個軟件就可以命令行輸入:sudo yum remove sl
確認刪除:
刪除成功:
????????我們可以發現安裝的時候總是會詢問我們是否安裝,我們可以在命令行輸入的時候加上【-y】選項就可以不詢問直接進行安裝了~
??????? 有了安裝和刪除軟件,我們知道平時應用商店還支持搜索查找軟件,那么使用軟件包管理器怎么搜索查找呢?我們可以使用接下來的兩條命令:
sudo yum list | grep sl
sudo
:以超級用戶身份執行命令。yum list
:列出所有可用或已安裝的軟件包。|
:管道符,將前一個命令的輸出作為后一個命令的輸入。grep sl
:在yum list
的輸出中搜索包含字符串“sl”的行。grep
是一個文本搜索工具,用于在輸入中搜索匹配特定模式的行。
sudo yum search sl | grep sl.x86
sudo
:同樣以超級用戶身份執行命令。yum search sl
:搜索名稱或描述中包含字符串“sl”的軟件包,與yum list
不同,yum search
更靈活,它會在軟件包的名稱和描述中搜索匹配項。|
:管道符,將yum search sl
的輸出傳遞給grep
。grep sl.x86
:在yum search sl
的輸出中搜索包含字符串“sl.x86”的行。這通常用于篩選出特定架構(如x86)的軟件包。
總結:
安裝/刪除軟件【-y選項自己選擇】
sudo yum install [-y] 你要安裝的軟件 sudo yum remove [-y] 你要刪除的軟件
搜索查找軟件:
1、基于名稱的直接過濾:使用
sudo yum list | grep <關鍵詞>
,適用于已知軟件包部分名稱,快速列出匹配項。2、基于描述的靈活搜索:使用
sudo yum search <關鍵詞> | grep <過濾條件>
,適用于不確定名稱但了解功能,可進一步篩選結果。
知道了如何安裝/刪除/搜索軟件查找,我們就可以根據自己的實際需要進行操作了~
安裝源😜
????????安裝源,也稱為軟件源或倉庫,是操作系統用來獲取和安裝軟件包的地方。它包含了軟件包的元數據(如軟件包名稱、版本、依賴關系等)以及軟件包本身。當用戶使用軟件包管理器(如yum
、apt
等)來安裝、更新或刪除軟件時,軟件包包管理器會從安裝源中獲取所需的信息和軟件包。
????????在CentOS中,安裝源通常通過.repo
文件配置在/etc/yum.repos.d/
目錄下;而在Ubuntu中,標準源配置在/etc/apt/sources.list
文件中,擴展源則可以通過在/etc/apt/sources.list.d/
目錄下添加配置文件來定義~
文本編輯器Vim🤔
??????? Vim 是 Linux 系統下廣泛使用的多模式的文本編輯器,它源自 Unix 系統的經典編輯器 Vi,但進行了功能擴展和改進,類似于記事本的操作~
多模式編輯模式
命令模式(默認進入時的模式):通過快捷鍵執行移動、復制、刪除等操作(如 dd 刪除整行,yy 復制)
插入模式(寫代碼):按 i 進入文本輸入狀態【插入模式】,Esc 返回命令模式
可視模式:按 v 選擇文本塊,支持批量操作
底行模式:輸入分號【:】進入底行模式,可以執行保存(:w)、退出(:q)、搜索替換(:%s/舊/新/g)等高級命令~使用Esc 返回命令模式~
簡單程序引入🙂
接下來我們使用vim來編寫一個小程序打印hello xiaodu:
1、創建新文件
vim code.c
輸入命令后按回車,Vim會創建并且打開一個空白文件
2、進入插入模式編寫代碼
按鍵盤 i
鍵進入插入模式
輸入代碼:
3、保存并退出Vim
按 Esc 鍵退出插入模式
輸入:進入底行模式
底行輸入:【 :w 表示寫入(保存)】【?:q 表示退出】【組合使用 :wq
即可保存退出】
?
???????
4、編譯程序
命令行輸入:
gcc code.c -o code//-o code:指定輸出文件名為code
5、運行程序
我們可以修改一下代碼:
重新編譯運行:
??????? 我們知道默認進入的是命令模式,打開對應的文件的時候,我們可以命令行輸入數字指定光標在第幾行進行快速定位~注意帶上【+】號~否則是其他的命令了~
通過這個小示例我們對vim的多模式編輯更加熟悉,接下來我們將更加詳細的學習Vim這樣一個強大的文本編輯器~
命令模式🤪
??????? 命令模式(是默認進入時的模式):通過快捷鍵執行移動、復制、刪除等操作(如 dd 刪除整行,yy 復制),鍵盤的輸入就會默認當作命令來看待~實際上是用命令進行文本編輯,提高編輯效率~
光標移動與定位
gg
: 光標快速定位到文件最開始shift+g = G
: 光標快速定位到文件最結尾n + shift+g = nG
: 光標快速定位到文件的任意第n行shift+6 = ^
: 移動到當前行開始shift+4 = $
: 移動到當前行結尾hjkl
: 分別代表左、下、上、右方向移動(助記:jump向下跳,king王向上,鍵盤h在左、l在右)n+w
: 以“單詞”為單位向后移動n個單詞(可以跨行操作)n+b
: 以“單詞”為單位向前移動n個單詞(可以跨行操作)n
: 查找下一個匹配項
復制與粘貼
n+yy
: 復制當前行,或復制當前行之后的n行(例如,3yy復制當前行及之后兩行,共三行)n+p
: 粘貼到下一行,可以進行重復粘貼n次
刪除與剪切
n+dd
: 刪除當前行及之后n-1行(例如,3dd刪除當前行及之后兩行,共三行),不做粘貼操作(p)即為剪切dd+p
: 剪切當前行并粘貼到下一行n+x
: 刪除光標所在字符之后的內容(例,5x刪除當前字符及之后4個字符,共5個字符)n + shift+x = X
: 刪除光標所在字符之前的內容(例,2+X刪除當前字符之前的2個字符)
修改與替換
n+r
: 修改光標所在字符開始的n個字符為其他字符shift+r = R
: 讓Vim進入替換模式,覆蓋式進行替換,以后輸入的內容直接進行替換~shift+#
: 選中一個單詞(高亮),按n到下一個高亮顯示的單詞
大小寫切換
shift+
· = ~: 快速的進行內容的大小寫切換
批量化注釋與去注釋
- 批量化注釋:
ctrl+v
: 進入VISUAL BLOCK模式hjkl
: 在VISUAL BLOCK模式下移動光標,選中要注釋的行或列,前面也可以加數字選擇移動選擇幾位~shift+i = I
: 進入insert模式,輸入注釋符號(如//
)esc
: 退出insert模式,完成注釋
- 批量化去注釋:
ctrl+v
: 進入VISUAL BLOCK模式hjkl
: 在VISUAL BLOCK模式下移動光標,選中要取消注釋的行或列,以及取消的字符區域~d
: 刪除注釋符號
撤銷操作
?? u
命令用于撤銷上一次的操作,ctrl+r
命令用于對u
命令進行的撤銷操作進行重做,即恢復被撤銷的內容~
- 未退出Vim時的撤銷操作:
ctrl+r
命令可以對u
命令進行的撤銷操作進行重做,即恢復被撤銷的內容。- 即使保存了文件,仍然可以使用
u
命令進行撤銷操作。
- 退出Vim后的撤銷操作:
- 一旦退出Vim編輯器,就無法進行撤銷操作了,這是因為Vim的撤銷歷史是保存在內存中的,退出后這些歷史信息會被清除~
底行模式😘
??????? 在命令模式下輸入【:】冒號,也就是Shift+【;】分號就可以進入底行模式,可以使用下面的命令~
1. 保存退出
w
: 保存當前文件。q
: 退出Vim編輯器。wq
: 保存當前文件并退出Vim編輯器。!
: 強制執行命令,通常用于覆蓋文件或忽略警告(例如w!
強制保存只讀文件,q!強制退出)。2. 顯示與隱藏行號
set nu
: 在Vim編輯器中顯示行號,方便定位和跳轉。set nonu
: 隱藏Vim編輯器中的行號。3. 執行外部命令
:!command
: 在Vim編輯器中直接執行外部命令,例如:!ls
可以列出當前目錄下的文件,執行完畢后按Enter
返回Vim4. 窗口分割與切換
vs newfile
: 垂直分割當前窗口,并在新窗口中打開一個新文件(或已存在的文件)
Ctrl + ww
: 在垂直分割的窗口之間快速切換光標,方便多文件進行跨越編輯~“光標在哪里,我們就在編輯那個文件!”,編輯操作始終圍繞光標所在位置進行~
5. 文件打開與跳轉
vim filename +n
: 打開指定文件filename
,并直接跳轉到第n
行,方便快速定位到需要編輯的位置~6.字符替換
%s/src/des/
: src為需要替換的字符串,des為新替換的字符串~
7.選定字符串高亮
- /字符串 : 選定字符串會高亮顯示,按n到下一個高亮顯示的字符串
五種常用模式🤩
通過這些命令,我們可以發現還有替換模式和視圖模式這兩種常用模式~
-
模式切換:
-
命令模式 → 輸入模式:
i
(插入,光標不動)、a
(光標向后面移動一個字符)、o
(光標向下移動有一個新行進行插入)等 -
命令模式 → 替換模式:
R
(大寫,也就是Shift+r) -
命令模式 → 視圖模式:
Ctrl+V
(塊選擇)或v
(字符選擇) -
命令模式 → 底行模式::(冒號,也就是Shift + ;)
-
返回命令模式:任何模式下按
Esc
-
vim的配置🤨
??????? 我們可以看到我們的vim是一個比較原生的狀態,很多的功能沒有,所以就需要進行配置~
Vim配置的核心目的是通過修改用戶家目錄下(不會影響別人)的.vimrc
文件,實現以下目標:
-
個性化定制:調整Vim編輯器的行為(如縮進方式、搜索設置)、界面(如行號顯示、顏色主題)和功能(如快捷鍵映射),以適應不同用戶的編碼習慣和需求。
-
功能擴展:通過
.vimrc
文件,您可以安裝和管理插件(如文件瀏覽器、代碼補全工具),從而顯著增強Vim的功能,使其成為一個更加強大和高效的開發環境。
配置文件位置:
- 在Linux系統中,Vim的配置文件
.vimrc
通常位于用戶的家目錄下,例如:/home/zs/.vimrc
。
配置內容示例:
- 通過編輯
.vimrc
文件,您可以設置諸多選項,例如:set number
:顯示行號,方便定位代碼位置syntax on
:啟用語法高亮,提升代碼可讀性set autoindent
:自動縮進,保持代碼格式整潔- 安裝插件(如NERDTree、vim-plug等),擴展文件管理或插件管理功能
????????總結來說,Vim的配置是一個通過修改.vimrc
文件來個性化定制和增強Vim編輯器功能的過程,它使得Vim能夠更好地適應我們的編碼風格和工作流程~大家可以根據需要進行配置~
補充:【!char】指令🤗
!char
!
操作符與char
命令的結合使用!char
可重復執行歷史最近以char
開頭的命令,實現靈活高效的命令行交互~
???本篇博客內容結束,期待與各位優秀程序員交流,有什么問題請私信???
???如果這一篇博客對你有幫助~別忘了點贊分享哦~???
??????個人主頁??????