yum的基本操作和vim指令

在我們的手機端或者Windows上下載軟件,可以在相應的應用商店或者官網進行下載,這樣對于用戶來說十分的方便和便捷。而在Linux上,也有類似的安裝方式,我們來一一了解一下。

Linux安裝軟件的3種方法

源代碼安裝

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

  1. 獲取源代碼
    • 通常可以從軟件的官方網站或源代碼倉庫(如GitHub)下載源代碼。
    • 使用wgetcurlgit等工具來下載源代碼。
  2. 解壓縮源代碼包
    • 如果源代碼是壓縮文件,使用targzipzip等工具進行解壓縮。
    • 例如:tar -xzvf source-code.tar.gz
  3. 配置構建環境
    • 進入源代碼目錄。
    • 運行./configure腳本,它可以檢測系統環境并設置編譯選項。
    • 可能需要指定參數來定制編譯選項.
  4. 安裝軟件
    • 使用make install命令來安裝編譯后的程序到系統(通常需要管理員權限)。
    • 例如:sudo make install
      可以看到這種安裝方式非常的麻煩,而且對于新手來說很不友好。

yum安裝

上面的方法比較麻煩,所以有些人把一些常用的軟件提前編譯好, 做成軟件包(可以理解成windows上的安裝程序)放在一個服務器上, 通過包管理器可以很方便的獲取到這個編譯好的軟件包, 直接進行安裝。軟件包和軟件包管理器, 就好比 “App” 和 “應用商店” 這樣的關系。

yum的三個指令

在講指令之前,我們先來安裝一個rzsz軟件,這個工具用于 windows 機器和遠端的 Linux 機器通過 XShell 傳輸文件,安裝完畢之后可以通過拖拽的方式將文件上傳過去。關于 yum 的所有操作必須保證主機(虛擬機)網絡暢通!!!
請添加圖片描述

yum list

我們來學習第一條指令。當我們在手機上想要下載一個軟件的時候,常常會先搜索這個軟件的名稱,然后再進行下載。那么在Linux上也可以,當你想下載某個軟件的時候,可以通過 yum list 命令羅列出當前一共有哪些軟件包. 由于包的數目可能非常之多, 這里我們需要使用 grep 命令只篩選出我們關注的包. 例如:yum list | grep lrzsz。結果如下:
請添加圖片描述

這樣我們就找到了要下載的軟件,.x86_64表示該軟件在64位計算機系統上運行,i686表示32位系統安裝包,選擇包時要和系統匹配。0.12.20-36.el7是版本號,el7表示的是centos7/redhat7。最后,base表示的是“軟件源”的名稱,是哪個發行方提供的,類型于“xx應用商店”這樣的概念。
一般而言,軟件的提供方有兩種,baseepel

  • Base源:通常指的是Linux發行版默認的軟件倉庫,它包含了該發行版官方支持和維護的基本軟件包。例如,在CentOS和RHEL中,base源是baseos,它提供了系統運行所需的核心軟件包。
  • EPEL源(Extra Packages for Enterprise Linux):是一個由Fedora社區維護的第三方倉庫,為RHEL及其衍生版(如CentOS)提供額外的軟件包。EPEL源的目的是提供那些不在默認倉庫中的軟件包,以增強系統的功能。
    其實epel源相當于第三方軟件安裝包,更新可能更頻繁,而base源相當于官方在維護,更新頻率可能較低,以確保系統的穩定性。

yum install

通過 yum, 我們可以通過很簡單的一條命令完成 gcc 的安裝,基本語法:yum install 軟件名
yum 會自動找到都有哪些軟件包需要下載, 這時候敲 “y” 確認安裝。出現 “complete” 字樣, 說明安裝完成。
注意事項:

  • 安裝軟件時由于需要向系統目錄中寫入內容, 一般需要 sudo 或者切到 root 賬戶下才能完成.
  • yum安裝軟件只能一個裝完了再裝另一個. 正在yum安裝一個軟件的過程中, 如果再嘗試用yum安裝另外一個軟件, yum會報錯.
  • 如果不想詢問你的意見,想直接安裝,那么可以加上-y指令。

yum remove

可以下載軟件當然也可以卸載軟件。基本語法:yum remove 軟件名.

yum源

那么yum是如何知道要去哪里下載軟件的呢?我們可以找到/etc/yum.repos.d/下面的文件:
請添加圖片描述

repos表示倉庫,d表示目錄,在該目錄下,會存儲大量的網址,yum會到對應的網址內部查找軟件。使用vim /etc/yum.repos.d/CentOS-base.repo指令就可以看到下圖,這就是CentOS-base.repo的內部,可以看到內部有許多的鏈接,Linux就是到這些連接內部下載軟件的。當然這些鏈接可以在瀏覽器上直接搜索到,由于我用的是華為云的服務器,所以軟件就是在這里面下載的,當然還有其他的yum源,如阿里云騰訊源清華源等等
請添加圖片描述

Linux編輯器——Vim

vi/vim的區別簡單點來說,它們都是多模式編輯器,不同的是vim是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在里面。例如語法加亮,可視化操作不僅可以在終端運行,也可以運行于x window、 mac os、windows。

vim的基本概念

我們先來學習3種模式,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:

  • 正常/普通/命令模式(Normal mode):控制屏幕光標的移動,字符、字或行的刪除,移動復制某區段及進入Insert mode下,或者到 last line mode。此模式下,不能自由進行文本編輯。
  • 插入模式(Insert mode):只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。該模式是我們后面用的最頻繁的編輯模式。
  • 底行模式(last line mode):文件保存或退出,也可以進行文件替換,找字符串,列出行號等操作。 在命令模式下,shift+: 即可進入該模式。要查看你的所有模式:打開vim,底行模式直接輸入。
    請添加圖片描述

想要通過vi/vim編輯器編輯文件,輸入如下命令:vi 文件路徑/vim 文件路徑,vim兼容全部都vi功能

  • 如果文件路徑表示的文件不存在,那么此命令會用于編輯新文件
  • 如果文件路徑表示的文件存在,那么此命令會用于編輯已有文件
    命令模式的常用操作有:
    模式之間的切換看上面的圖片就可以了。這里直接講如何退出vim模式
    退出vim及保存文件,在 [正常模式]下,按一下「:」冒號鍵進入「Last line mode」,例如:
  • : w (保存當前文件)
  • : wq (輸入「wq」,存盤并退出vim)
  • : q! (輸入q!,不存盤強制退出vim)

正常模式的指令集

  1. 插入模式
    • 按「i」切換進入插入模式「insert mode」,按“i”進入插入模式后是從光標當前位置開始輸入文件;
    • 按「a」進入插入模式后,是從目前光標所在位置的下一個位置開始輸入文字;
    • 按「o」進入插入模式后,是插入新的一行,從行首開始輸入文字。
  2. 移動光標
    • vim可以直接用鍵盤上的光標來上下左右移動,但正規的vim是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格
    • gg:定位光標到最開始
    • G:定位光標到最結尾
    • nG:定位光標到底n行,如:3G,表示定位到第三行。
    • shift+$:定位光標到當前行的結尾
    • shift+^:定位光標到當前行開始
    • w,b:光標按照單詞進行行內跨行移動。w即光標跳到下個單詞的開頭,b即光標回到上個單詞的開頭
  3. 復制
    • (n)yy:復制光標所在行。3yy表示復制三行
    • (n)p:粘貼(n行重復行)到光標所在行的下一行
    • shift+~:大小寫轉換
    • (n)r:對光標字符+之后的n個字符進行批量化替換
    • shift+R:替換模式。對內容進行整體替換
  4. 刪除文字
    • (n)x:對光標字符之后的n個字符進行刪除(包含自己在內)
    • (n)X:刪除光標所在位置的“前面”(n)個字符(包含自己)
    • (n)dd:從光標所在行開始刪除(n)行
  5. 撤銷
    • u:撤銷
    • Ctrl+r:撤銷之前的撤銷

底行模式指令集

在使用底行模式之前,請記住先按「ESC」鍵確定您已經處于正常模式,再按「:」冒號即可進入末行模式。

  1. 列出行號
    • 「set nu」: 輸入「set nu」后,會在文件中的每一行前面列出行號
  2. 跳到文件中的某一行
    • 「#」:「#」號表示一個數字,在冒號后輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。
  3. 查找字符
    • 「/關鍵字」: 先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往后尋找到您要的關鍵字為止
    • 「?關鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關鍵字為止。
  4. 保存文件
    • 「w」: 在冒號輸入字母「w」就可以將文件保存起來
    • 「q」:按「q」就是退出,如果無法離開vim,可以在「q」后跟一個「!」強制離開vim。
    • 「wq」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以保存文件。
      底行模式中,vs 文件名表示創建一個新文件并打開一個文件編輯窗口,ctrl+ww:窗口光標切換。

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

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

相關文章

C++ CUDA開發入門

CUDA開發筆記 文章目錄 CUDA開發筆記[toc]1 概述2 環境3 命令行編譯4 CMAKE引入CUDA5 vscode開發CUDA6 Qt中使用CUDA-CMake7 QMake配置CUDA8 核函數9 核函數調用9.1 核函數調用語法9.2 執行配置參數詳解9.3 關鍵調用步驟9.4 重要注意事項9.5 調用示例分析9.6 最佳實踐建議 10 線…

llm開發框架新秀

原文鏈接:https://i68.ltd/notes/posts/20250404-llm-framework3/ google開源ADK-Agent Development Kit 開源的、代碼優先的 Python 工具包,用于構建、評估和部署具有靈活性和控制力的復雜智能體項目倉庫:https://github.com/google/adk-python 2.6k項目文檔:Age…

VM——相機拍照失敗

1、問題:相機頻閃觸發,在MVS中正常出圖,在VM中出現拍照失敗 2、解決: 1、首先排查網絡設置(巨幀是否設置) 2、電腦的所有防火墻是否關閉 3、在MVS中恢復相機的設置參數為默認參數,刪除VM中的全…

【時頻譜分析】小波分析

算法配置頁面,也可以一鍵導出結果數據 報表自定義繪制 獲取和下載【PHM學習軟件PHM源碼】的方式 獲取方式:Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc

怎么免費下載GLTF/GLB格式模型文件,還可以在線編輯修改

? 現在非常流行glb格式模型,和gltf格式文件,可是之類模型網站非常非常少 1,咱們先直接打開http://glbxz.com 官方glb下載網站 glbxz.com 2 可以搜索,自己想要的模型關鍵詞 3,到自己想下載素材頁面 4,…

【6】深入學習http模塊(萬字)-Nodejs開發入門

深入學習http模塊 前言http一個Web服務器項目創建代碼運行代碼解析 Server屬性:keepAlive屬性:keepAliveTimeout屬性:maxHeaderSize屬性:requestTimeout屬性:maxRequestsPerSocket方法:close()方法&#xf…

buuctf sql注入類練習

BUU SQL COURSE 1 1 實例無法訪問 / Instance cant be reached at that time | BUUCTF但是這個地方很迷惑就是這個 一個 # 我們不抓包就不知道這個是sql注入類的判斷是 get 類型的sql注入直接使用sqlmap我們放入到1.txt中 目的是 優先檢測 ?id1>python3 sqlmap.py -r 1.t…

(即插即用模塊-特征處理部分) 三十二、(TGRS 2024) MDAF 多尺度雙表示對齊過濾器

文章目錄 1、Multiscale Dual-Representation Alignment Filter2、代碼實現 paper:SFFNet: A Wavelet-Based Spatial and Frequency Domain Fusion Network for Remote Sensing Segmentation Code:https://github.com/yysdck/SFFNet 1、Multiscale Dual-…

Python 中為什么 hash(-1) == hash(-2)?

推薦超級課程: 本地離線DeepSeek AI方案部署實戰教程【完全版】Docker快速入門到精通Kubernetes入門到大師通關課AWS云服務快速入門實戰目錄 讓我們從哪里開始?獲取源代碼!讓我們瀏覽一下這是正確/完整的答案嗎?結論前幾天在瀏覽 Reddit 時,我在 r/Python 上看到了這樣一個…

基于PySide6與pycatia的CATIA繪圖比例智能調節工具開發全解析

引言:工程圖紙自動化處理的技術革新 在機械設計領域,CATIA圖紙的比例調整是高頻且重復性極強的操作。傳統手動調整方式效率低下且易出錯。本文基于PySide6pycatia技術棧,提出一種支持智能比例匹配、實時視圖控制、異常自處理的圖紙批處理方案…

macos下 ragflow二次開發環境搭建

參考官網鏈接 https://ragflow.io/docs/dev/launch_ragflow_from_source虛擬環境 git clone https://github.com/infiniflow/ragflow.git cd ragflow/ # if not pipx, please install it at first pip3 install pipxpipx install uv uv sync --python 3.10 --all-extras 安裝 …

libva之ffavdemo分析

ffavdemo 代碼庫實現了一個基于FFmpeg和VAAPI的硬件加速視頻解碼與渲染框架,主要用于演示視頻解碼與渲染的完整硬件加速流程。支持多種渲染后端(X11、DRM、EGL),適應不同顯示環境。包含視頻處理過濾器,可進行格式轉換和…

JavaWeb 課堂筆記 —— 09 MySQL 概述 + DDL

本系列為筆者學習JavaWeb的課堂筆記,視頻資源為B站黑馬程序員出品的《黑馬程序員JavaWeb開發教程,實現javaweb企業開發全流程(涵蓋SpringMyBatisSpringMVCSpringBoot等)》,章節分布參考視頻教程,為同樣學習…

精品推薦 | 湖倉一體電商數據分析平臺實踐教程合集(視頻教程+設計文檔+完整項目代碼)

精品推薦,湖倉一體電商數據分析平臺實踐教程合集,包含視頻教程、設計文檔及完整項目代碼等資料,供大家學習。 1、項目背景介紹及項目架構 2、項目使用技術版本及組件搭建 3、項目數據種類與采集 4、實時業務統計指標分析一——ODS分層設計與數…

【人工智能】大語言模型多義詞解析技術揭秘——以“項目“歧義消解為例

今天田辛老師和小伙伴探討了一個有趣的多義詞問題, 在人工智能技術日新月異的今天,大語言模型(LLM)對自然語言的理解能力已經達到令人驚嘆的水平。大模型到底是如何去區分多義詞的? 比如:當用戶提到"…

【maxENT】最大熵模型(Maximum Entropy Model)R語言實現

文章目錄 一、相關package介紹1.1 dismo 包1.2 raster包1.3 常見問題與解決 二、代碼示例 🟢🟠先看:【maxENT】最大熵模型(Maximum Entropy Model)介紹與使用(maxENT軟件) ASCII文件太大&#…

哈希表-算法小結

哈希表 map set 數組 在C中,set 和 map 分別提供以下三種數據結構,其底層實現以及優劣如下表所示: 集合底層實現是否有序數值是否可以重復能否更改數值查詢效率增刪效率std::set紅黑樹有序否否O(log n)O(log n)std::multiset紅黑樹有序是否…

OpenCompass模型評估

OpenCompass面向大模型的開源方和使用者, 提供開源、高效、全面的大模型評測開放平臺。 一、OpenCompass文檔 1.基礎安裝 使用Conda準備 OpenCompass 運行環境: conda create --name opencompass python3.10 -y conda activate opencompass2. 安裝 Op…

博途 TIA Portal之1200做主站與有意思的板子做MODBUS_RTU通訊

做為博途的硬件,1200和1500本體都不具有串口通訊功能,只能使用擴展板或是通訊模塊完成。 其中1200使用CB1241或CM1241進行串口通訊,本文將使用CM1241進行演示。 1、硬件介紹 1200的PLC一臺,有意思的板子(以下簡單4D板)一臺。 其中1200帶擴展模塊CM1241 RS232;4D板使…

【深度學習與實戰】3.1 邏輯回歸模型

?1. 定義與核心思想? 邏輯回歸(Logistic Regression)是一種用于?二分類問題?的統計學習方法,通過?sigmoid函數?將線性回歸的輸出映射到[0,1]區間,表示樣本屬于某一類別的概率?。 ?本質?:廣義線性模型&#x…