在我們的手機端或者Windows上下載軟件,可以在相應的應用商店或者官網進行下載,這樣對于用戶來說十分的方便和便捷。而在Linux上,也有類似的安裝方式,我們來一一了解一下。
Linux安裝軟件的3種方法
源代碼安裝
在Linux下安裝軟件, 一個通常的辦法是下載到程序的源代碼, 并進行編譯, 得到可執行程序。
- 獲取源代碼:
- 通常可以從軟件的官方網站或源代碼倉庫(如GitHub)下載源代碼。
- 使用
wget
、curl
或git
等工具來下載源代碼。
- 解壓縮源代碼包:
- 如果源代碼是壓縮文件,使用
tar
、gzip
、zip
等工具進行解壓縮。 - 例如:
tar -xzvf source-code.tar.gz
- 如果源代碼是壓縮文件,使用
- 配置構建環境:
- 進入源代碼目錄。
- 運行
./configure
腳本,它可以檢測系統環境并設置編譯選項。 - 可能需要指定參數來定制編譯選項.
- 安裝軟件:
- 使用
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應用商店”這樣的概念。
一般而言,軟件的提供方有兩種,base
和epel
。
- Base源:通常指的是Linux發行版默認的軟件倉庫,它包含了該發行版官方支持和維護的基本軟件包。例如,在CentOS和RHEL中,base源是
base
或os
,它提供了系統運行所需的核心軟件包。 - 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)
正常模式的指令集
- 插入模式
- 按「i」切換進入插入模式「insert mode」,按“i”進入插入模式后是從光標當前位置開始輸入文件;
- 按「a」進入插入模式后,是從目前光標所在位置的下一個位置開始輸入文字;
- 按「o」進入插入模式后,是插入新的一行,從行首開始輸入文字。
- 移動光標
- vim可以直接用鍵盤上的光標來上下左右移動,但正規的vim是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格
- gg:定位光標到最開始行
- G:定位光標到最結尾行
- nG:定位光標到底n行,如:3G,表示定位到第三行。
- shift+$:定位光標到當前行的結尾
- shift+^:定位光標到當前行開始
- w,b:光標按照單詞進行行內跨行移動。w即光標跳到下個單詞的開頭,b即光標回到上個單詞的開頭
- 復制
- (n)yy:復制光標所在行。3yy表示復制三行
- (n)p:粘貼(n行重復行)到光標所在行的下一行
- shift+~:大小寫轉換
- (n)r:對光標字符+之后的n個字符進行批量化替換
- shift+R:替換模式。對內容進行整體替換
- 刪除文字
- (n)x:對光標字符之后的n個字符進行刪除(包含自己在內)
- (n)X:刪除光標所在位置的“前面”(n)個字符(包含自己)
- (n)dd:從光標所在行開始刪除(n)行
- 撤銷
- u:撤銷
- Ctrl+r:撤銷之前的撤銷
底行模式指令集
在使用底行模式之前,請記住先按「ESC」鍵確定您已經處于正常模式,再按「:」冒號即可進入末行模式。
- 列出行號
- 「set nu」: 輸入「set nu」后,會在文件中的每一行前面列出行號
- 跳到文件中的某一行
- 「#」:「#」號表示一個數字,在冒號后輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。
- 查找字符
- 「/關鍵字」: 先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往后尋找到您要的關鍵字為止
- 「?關鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關鍵字為止。
- 保存文件
- 「w」: 在冒號輸入字母「w」就可以將文件保存起來
- 「q」:按「q」就是退出,如果無法離開vim,可以在「q」后跟一個「!」強制離開vim。
- 「wq」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以保存文件。
底行模式中,vs 文件名
表示創建一個新文件并打開一個文件編輯窗口,ctrl+ww
:窗口光標切換。