Linux|基礎環境開發工具使用(1)

目錄

Linux 軟件包管理器 yum

什么是軟件包

關于 rzsz

注意事項

查看軟件包

如何安裝軟件

如何卸載軟件

Linux編輯器-vim介紹

vi與vim的相同點

vi與vim區別


Linux 軟件包管理器 yum

什么是軟件包

在Linux下安裝軟件, 一個通常的辦法是下載到程序的源代碼, 并進行編譯, 得到可執行程序.

但是這樣太麻煩了, 于是有些人把一些常用的軟件提前編譯好, 做成軟件包(可以理解成windows上的安裝程序)放在一個服務器上, 通過包管理器可以很方便的獲取到這個編譯好的軟件包, 直接進行安裝.

軟件包和軟件包管理器, 就好比 "App" 和 "應用商店" 這樣的關系.
yum(Yellow dog Updater, Modified)是Linux下非常常用的一種包管理器. 主要應用在Fedora,RedHat,Centos等發行版上.

關于 rzsz

這個工具用于 windows 機器和遠端的 Linux 機器通過 XShell 傳輸文件.安裝完畢之后可以通過拖拽的方式將文件上傳過去.

注意事項

關于 yum 的所有操作必須保證主機(虛擬機)網絡暢通!!!可以通過 ping 指令驗證

ping www.baidu.com

查看軟件包

通過 yum list 命令可以羅列出當前一共有哪些軟件包. 由于包的數目可能非常之多, 這里我們需要使用 grep 命令只篩選出我們關注的包. 例如:
?

yum list | grep lrzsz

結果如下:?

lrzsz.x86_64:

lrzsz:這是軟件包的名稱,是一個用于在Unix/Linux系統中進行Zmodem文件傳輸的工具。
.x86_64:這表示該軟件包是為x86_64架構的計算機編譯的。

0.12.20-43.2.al8:

這是軟件包的版本號和發行版信息。
0.12.20:這是軟件的主版本號。
-43.2.al8:這通常包含了發行版的修訂信息和可能的構建/打包信息。

aLinux3-os:

aLinux3-os可能是一個特定的Linux發行版或倉庫的名稱,但請注意,這不是一個廣泛認可的標準名稱。它可能是某個組織或項目為其Linux發行版或倉庫定義的自定義名稱。

lrzsz.x86_64???????? 0.12.20-36.el7 ????????@base

注意事項:
軟件包名稱: 主版本號.次版本號.源程序發行號-軟件包的發行號.主機平臺.cpu架構.

"x86_64" 后綴表示64位系統的安裝包, "i686" 后綴表示32位系統安裝包. 選擇包時要和系統匹配.

"el7" 表示操作系統發行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.

最后一列, base 表示的是 "軟件源" 的名稱, 類似于 "小米應用商店", "華為應用商店" 這樣的概念.

如何安裝軟件

通過 yum, 我們可以通過很簡單的一條命令完成 gcc 的安裝.yum 會自動找到都有哪些軟件包需要下載, 這時候敲 "y" 確認安裝.出現 "complete" 字樣, 說明安裝完成.

sudo yum install lrzsz

注意事項:
安裝軟件時由于需要向系統目錄中寫入內容, 一般需要 sudo 或者切到 root 賬戶下才能完成.

yum安裝軟件只能一個裝完了再裝另一個. 正在yum安裝一個軟件的過程中, 如果再嘗試用yum安裝另外一個軟件, yum會報錯.

如何卸載軟件

仍然是一條命令:

sudo yum remove?lrzsz

Linux編輯器-vim介紹

Vim是一個文本編輯器vi和vim是兩款在Unix和類Unix系統上廣泛使用的文本編輯器,它是Vi編輯器的改進版本,具有強大的功能和高度的可定制性。

vi與vim的相同點

基本操作和模式:vi和vim都遵循相似的編輯模式,包括正常模式、插入模式 、可視模式以及命令行模式

在正常模式下,用戶可以執行各種編輯命令,如復制、粘貼、查找和替換等。

在插入模式下,用戶可以插入文本。

在可視模式下,用戶可以選擇文本塊進行操作。

在命令行模式下,用戶可以輸入命令來保存文件、退出編輯器等。

命令集:vi和vim共享許多相同的命令和快捷鍵,這些命令和快捷鍵用于導航文本、編輯文本和執行其他任務。

例如,兩者都支持使用h、j、k、l鍵來在文本中移動光標,使用w、b鍵來按單詞移動光標,以及使用dd鍵來刪除整行等。

對文本文件的操作:vi和vim都用于編輯文本文件,并提供了相似的文本處理功能,如復制、粘貼、剪切、查找和替換等。

快捷鍵和命令的學習曲線:對于初學者來說,vi和vim的快捷鍵和命令可能需要一定的時間來學習和掌握。然而,一旦熟悉了這些快捷鍵和命令,用戶就可以非常高效地進行文本編輯。

兼容性和可移植性:vi和vim都具有良好的兼容性和可移植性。它們可以在多種Unix和類Unix系統上運行,并且具有相似的命令和操作方式。這使得用戶可以在不同的系統上無縫地使用這些編輯器。

vi與vim區別

其中vim是vi的增強版本。以下是它們之間的主要區別:

搜索功能

????????vi:不支持正則表達式的搜索。

????????vim:支持正則表達式的搜索,這使得搜索和替換文本更為靈活和強大

腳本語言

????????vi:沒有自己的腳本語言,它主要是作為一個文本編輯工具在Unix及Linux系統下使用。

????????vim:有自己的腳本語言,稱為Vim腳本(也稱為vimscript或VimL)。用戶可以通過編寫Vim腳本來增強vim的功能,并定制其工作方式。

配置和共享

????????vi:不具有高度可配置性,且無法在各個vi安裝之間共享文件。

????????vim:具有高度可配置性,用戶可以通過編輯vim的配置文件(如.vimrc)來定制其行為和外觀。此外,包含Vim核心全局設置的文件(也稱為vimrc)可以在各個Vim安裝之間共享。

撤銷功能

????????vi:通常只能撤銷上一次的操作。

????????vim:提供了多級撤銷功能,用戶可以撤銷多次操作。

易用性和平臺支持

????????vi:主要運行于Unix系統中。

????????vim:不僅可以在Unix系統上運行,還可以在Windows、Mac OS等操作系統上運行,具有更好的跨平臺支持。此外,vim的易用性也更強,提供了更多的快捷鍵和命令,使得編輯文本更為高效

代碼高亮和可視化操作

????????vim:提供了代碼高亮功能,可以用不同的顏色來加亮代碼,使代碼更易讀。同時,vim還支持可視化操作,可以在不同的窗口或標簽頁之間切換和編輯多個文件。

對vi的兼容性

????????vim:完全兼容vi的命令和操作方式,因此用戶可以將vim視為vi的升級版本或替代品。

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

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

相關文章

【WebGPU】WebGPU 中的反應擴散計算著色器

在本教程中,我們將使用 WebGPU 技術中的計算著色器實現圖像效果。更多精彩內容盡在數字孿生平臺。 程序結構 主要構建兩個 WebGPU 管道: 運行反應擴散算法多次迭代的計算管道(js/rd-compute.js 和 js/shader/rd-compute-shader.js&#xff…

react 渲染引擎經歷了那些迭代

React 渲染引擎經歷了多個迭代,主要集中在改進 Virtual DOM 的實現和優化渲染性能方面。以下是一些 React 渲染引擎的主要迭代: React Fiber 架構:React 16 引入了 Fiber 架構,這是一個重新實現的渲染引夠更好地支持異步渲染。 S…

script標簽以及defer和async屬性

1. <script>標簽 將JavaScript代碼嵌入到HTML中主要方式是使用<script>元素。 使用<script>的方式有兩種&#xff1a; &#xff08;1&#xff09;直接在網頁中嵌入JavaScript代碼&#xff1a; <script>function sayHi() {console.log("Hi"…

Leetcode—2244. 完成所有任務需要的最少輪數【中等】

2024每日刷題&#xff08;136&#xff09; Leetcode—2244. 完成所有任務需要的最少輪數 實現代碼 class Solution { public:int minimumRounds(vector<int>& tasks) {unordered_map<int, int> map;for(int task: tasks) {map[task];}int ans 0;// freq 1 …

【前端】CSS基礎(3)

文章目錄 前言1. CSS常用元素屬性1.1 字體屬性1.1.1 字體1.1.2 字體大小1.1.3 字體顏色1.1.4 字體粗細1.1.5 文字樣式 前言 這篇博客僅僅是對CSS的基本結構進行了一些說明&#xff0c;關于CSS的更多講解以及HTML、Javascript部分的講解可以關注一下下面的專欄&#xff0c;會持續…

c++父類指針指向子類

有一個常見的c題&#xff0c;就是父類和子類的構造函數和析構函數分別調用順序&#xff1a; 父類構造函數子類構造函數子類析構函數父類析構函數 以及父類中的函數在子類中重新實現后&#xff0c;父類指針指向子類后&#xff0c;該指針調用的函數是父類中的還是子類中的&…

震撼發布!GPT-4o 上線!

5 月 14日凌晨一點&#xff0c;OpenAI 發布了 GPT-4o&#xff01; 新模型的功能簡單概括就是&#xff1a;更快、更智能、更像人類。 秉承著持續更新的態度&#xff0c;Hulu AI 快速接入 GPT-4o 啦&#xff01; 繼 5 月份上線 Suno 之后&#xff0c;這次是 Hulu AI 的又一重大…

vue3專欄項目 -- 六、上傳組件(上)

1、上傳組件需求分析 我們還需要新建和展示文章&#xff0c;新建文章自然是發送post請求&#xff0c;同時在post中自帶對應的數據&#xff0c;展示文章就是根據id取出已有的數據并且展示出來。 這里有一個難點就是上傳組件&#xff0c;上傳文件是App應用中最基本的需求&#…

Socks5:網絡世界的隱形斗篷

在數字化時代&#xff0c;網絡隱私和安全已成為人們日益關注的話題。Socks5&#xff0c;作為一種代理協議&#xff0c;為用戶在網絡世界中的匿名性提供了強有力的支持。本文將從Socks5的多個方面&#xff0c;深入探討這一技術如何成為網絡世界的“隱形斗篷”。 一、Socks5的基本…

linux基礎指令講解(ls、pwd、cd、touch、mkdir)

&#x1fa90;&#x1fa90;&#x1fa90;歡迎來到程序員餐廳&#x1f4ab;&#x1f4ab;&#x1f4ab; 主廚&#xff1a;邪王真眼 主廚的主頁&#xff1a;Chef‘s blog 所屬專欄&#xff1a;c大冒險 總有光環在隕落&#xff0c;總有新星在閃爍 這個是我們今天要用到的初始…

P8805 [藍橋杯 2022 國 B] 機房

P8805 [藍橋杯 2022 國 B] 機房 分析 是一道lca題目&#xff0c;可以直接套模板 前綴和處理點權 具體思路&#xff1a; 1.n臺電腦用n-1條網線相連&#xff0c;任意兩個節點之間有且僅有一條路徑&#xff08;拆分成各自到公共祖先節點的路徑——lca&#xff09;&#xff1b;…

Delphi7:SuperObject 的示例

SuperObject 不是一個 Delphi 7 自帶或官方的庫&#xff0c;但可能是指一些開源的 JSON 解析庫&#xff0c;比如 superobject 或 dwscript 中的 SuperObject。這些庫通常用于解析和生成 JSON 數據。 以下是一個基于假設的 SuperObject 用法概述&#xff0c;因為不同的庫可能有…

波搜索算法(WSA)-2024年SCI新算法-公式原理詳解與性能測評 Matlab代碼免費獲取

? 聲明&#xff1a;文章是從本人公眾號中復制而來&#xff0c;因此&#xff0c;想最新最快了解各類智能優化算法及其改進的朋友&#xff0c;可關注我的公眾號&#xff1a;強盛機器學習&#xff0c;不定期會有很多免費代碼分享~ 目錄 原理簡介 一、初始化階段 二、全…

我與C++的愛戀:string類的常見接口函數

? ? &#x1f525;個人主頁&#xff1a;guoguoqiang. &#x1f525;專欄&#xff1a;我與C的愛戀 朋友們大家好啊&#xff0c;本節我們來到STL內容的第一部分&#xff1a;string類接口函數的介紹 ? ? 1.string類的認識 給大家分享一個c文檔 https://legacy.cplusplus.…

Weblogic 管理控制臺未授權遠程命令執行漏洞(CVE-2020-14882,CVE-2020-14883)

1 漏洞概述 Weblogic Pre-Auth Remote Command Execution 漏洞&#xff08;CVE-2020-14882, CVE-2020-14883&#xff09;是針對 Oracle WebLogic Server 的兩個安全漏洞。CVE-2020-14882 允許遠程用戶繞過管理員控制臺組件中的身份驗證&#xff0c;而 CVE-2020-14883 則允許經…

Python3 筆記:Python的函數

函數是編寫好的&#xff0c;可重復調用的&#xff0c;用來實現某一功能的一段代碼。 也可以理解為做某事的方法和步驟。第一次做的時候寫好了方法&#xff0c;下次同類型的事直接拿來就用。 Python 內部有很多功能強大的內置函數供我們使用&#xff0c;除此之外&#xff0c;你…

Nagle算法

Nagle算法簡介 Nagle算法主要是避免發送小的數據包&#xff0c;要求TCP連接上最多只能有一個未被確認的小分組&#xff0c;在該分組的確認到達之前不能發送其他的小分組。 在默認的情況下,Nagle算法是默認開啟的&#xff0c;Nagle算法比較適用于發送方發送大批量的小數據&…

Sam Blackshear談Move語言的起源

Move編程語言作為Sui生態系統的關鍵組成部分&#xff0c;通過可編程交易區塊等機制支持其獨特的對象數據模型&#xff0c;并支持高效的代碼。五年前&#xff0c;Mysten Labs的聯合創始人兼首席技術官Sam Blackshear創建了Move。他專門設計了Move&#xff0c;用于編寫智能合約&a…

數據庫SQL查詢語句匯總詳解

SQL是一種強大的編程語句&#xff0c;可用于操作和提取數據庫中的數據。如果你對編程語句有所讓步&#xff0c;那么你可能對SQL的力量感到難以置信。本文將帶你深入探索SQL查詢的世界&#xff0c;讓你了解SQL語句的各種查詢方式&#xff0c;并以實例進行詳解。 1. SELECT基礎查…

Iterator底層源碼分析

/** * Iterator用于遍歷Collection下的集合&#xff0c;Collection下的每個集合底層實現不一樣&#xff0c;意味著遍歷邏輯也不一樣&#xff0c; * 所以Java的設計者將Iterator設計成了接口&#xff0c;讓Collection下的每個集合實現Iterator */ public interface Iterator<…