版權聲明🛌🖤:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
前言
在我們學習完Linux的基本指令與權限之後,我們就得正式進軍Linux的工具篇章🚾。一款強大的操作系統如果沒有良好的軟件生態📿,那他就不配稱為最強🤱🏻。那麽在本文中,帶著大家學會如何在Linux(Centos)下下載軟件✦,以及跟大家聊一聊軟件下載背後的原理。最後還會介紹一款強大但需要時間成本訓練的文本編輯器 —— vim🕺。
實現跟各位讀者說一點🐟,本文是在站在Centos 7版本下進行講解的,但是底層原理對於Linux各版本都是通用的。
話不多說👩🏻🦼,讓我們在Linux軟件天空中歡快的翱翔吧!💖💖💖
1. Linux下軟件安裝的方式
想必大家都在Windows上下載過諸多的軟件,過程十分的簡單。只需要我們點擊下載,更改一下安裝路徑👰🏽♂️,然後一路Next即可💥。可是在Linux系統下就沒有辣麽簡單了🙎🏽♀️!
Linux安裝軟件的方式📦:
源代碼安裝(不推薦)
rpm安裝(不推薦)
yum安裝(十分推薦)
接下來,我就給大家講講這些是個什麽東西🎀。
首先✶,對於源代碼安裝來說,顧名思義,就是假設我給你QQ的源代碼🤳🏻,你自己拿去編譯就能夠安裝了🛣👮🏻♀️。但是作為編程人員的我們顯然知道這是沒有那麽簡單的。可能涉及到編譯器的版本,跨平臺的問題甚至還有一些附加的配置文件。對於普通人來說🚞,他們只會打心底裏說"這是個啥啊?"👩💼🤽🏿。這個方法安裝的成本非常高,且不適合普通的群眾,能盡量避開這個方法安裝就盡量避開⚄!
其次,對於rpm安裝來說👨🏻🦯➡️,就是安裝包下載的方式🏨。但是Linux的安裝包比較挫,因為它默認了你的Linux系統擁有下載這個軟件的先決條件,換句話說,安裝包方式的下載需要你自己去驗證你的Linux的版本👯♂️,以及下載的這個軟件附帶的軟件有沒有提前安裝好,還有一個問題我們要到哪裏去找這個軟件安裝包。這些問題的重重疊加使得rpm安裝變得十分的不容易。
最後♥️🤢,對於yum安裝來說,其能完美的解決rpm安裝的缺點,使得安裝變得簡單快捷。本質上yum安裝就是在解決安裝源☮️、安裝版本以及安裝依賴的問題。
那yum是個什麽東西呢?我們接下來聊一聊🔟。
2. yum
2.1 軟件下載的小知識
再講yum之前🧝🏃🏻♂️➡️,我想用一個我們生活中的例子🐐,來幫助大家更好的理解yum以及拓展一下大家的知識面。
大家平時在自己的手機/ipad/筆記本電腦上下載軟件,應該都有個應用商城或者是軟件管家,這個就是一個APP。大家只需要進入APP,就能看到琳琅滿目的軟件🏊🏽♂️🖕🏻,我們只需要點擊下載並且等待安裝即可🈁。但是在這個過程中,我就要向大家提出幾個問題了:
其實第一個問題的答案,就在第二個問題的題目中⏮。客戶端是通過網絡向服務器發出下載此軟件的請求,服務器收到請求後💷,就會檢索此軟件將數據通過網絡傳到你的本地👨🏻🏫🧙🏼♂️,就營造了你手機能夠下載軟件的現象。其這個應用商城/軟件管家裏面就內置該服務器,所以手機能夠下找到服務器並下載軟件。到這裏第一個問題就解決了🔜,但是可能有的讀者會問,我們在應用商城看到的軟件是不是一個真的軟件?答案肯定不是的,它其實是一個從服務器上傳到本地的一個軟件列表,只是空有其表而已🤩,或者你理解為你下載這個軟件的一個鏈接。
接下來我們解決第二個問題,其實這個問題的答案對於各位來說應該簡單🏒,因為大家都是互聯網的土著民⚈。不論公司還是個人組織,他們之所以做那麽多事🦹🏿,就是為了盈利👰🏻。就拿手機為例,你是選擇一個軟件俱全的手機還是一臺下載個軟件都處處受限的手機呢🤦♂️?我想答案一目了然,肯定是一臺軟件俱全的手機。這個就引發出了一個領域"軟件生態"🛌🏻。一個好的軟件生態能給電子產品提高其附加價值。
此時,可能有的讀者又提問了🤷🏼,你說的手機這個例子我能理解👨🏽🦰,因為他是為了盈利👐🏻💦。但是Linux作為一款開源的操作系統🛟,它不是無償的嗎👊🏻?
其實開源也是一種商業政策⛓️💥,並且開源有的時候也很貴!
怎麽理解上述的點呢?舉個簡單的例子:
你現在是一個互聯網公司的員工,你們的老板現在派你去為公司做一個技術選型,選一個適合公司的Linux操作系統。好了折騰了幾天,你選出了一個比較好的Linux操作系統🤵🏽,你拿這個操作系統去給你的boss看🍩,你的老板問你,為什麽選這款操作系統?你總不能說這款操作系統是我平時練習Linux用的,效果還不錯,如果是這樣說那麽離死亡就不遠了🤶!你應該這麽說👋🏼🤯,這款Linux操作系統配備了一個完整的社區🏃🏻♂️➡️,在這個社區裏面有很多人在為Linux不斷完善出著一份力🔢,這也就是得這款操作系統的bug十分少,即使有bug也會很快被查到並修復。另外這款軟件系統有很強大的軟件生態🧠🧑🏽🦲,使得我們的辦公效率提升一大截。最後你再說一句,這款操作系統大公司也在用🧑🦼➡️。此時你的老板說幹得不錯小夥子🎀!其中的韻味你自己來體會吧😊
等過了一段時間後🐚,你的公司已經依賴上這個操作系統了🕴。突然有一天,關於這個操作系統的社區突然要關閉了,這就意味著公司就得換操作系統了👨🏽,所以公司就會給這些社區進行捐助。所以我們說開源有時候也很貴👳🏿!
所以在Linux下,yum(Centos)/ apt-get(Ubuntu)就充當手機上應用商城的角色👨🦯,它的本質就是一個可執行程序!
2.2 在自己的Linux系統下驗證yum源的存在
我說了那麽多,就是為了讓大家了解yum的背景,以及知道yum背後的原理。那麽接下來,我們就來看看yum是否真的存在於Linux系統下。
yum一般存在這條路徑下/etc/yum.repos.d/
,大家在訪問這個目錄時,必須得用root身份!
大家可能跟我有差別。
2.3 利用yum指令下載軟件
語法:yum install [參數] 軟件名稱
參數:-y:安裝時默認確認。(大家在練習時🧑🏼🌾,可以嘗試加-y和不加之間的區別)
舉例:
yum install -y tree
yum install sl
2.4 拓展yum源(針對於虛擬機用戶)
虛擬機用戶可能在執行yum install sl
這條命令時會出現錯誤🏋️,不過不用擔心🏋🏽,因為你的yum源中只有官方yum源♖,沒有拓展yum源,大家可以執行這條指令🦹🏻,去下載拓展yum源。
yum install -y epel-release
(作用:下載並安裝拓展yum源)
下面是原理部分,如果不感興趣,可以略過這部分🚵🏿♀️。
我們在上面提到了一個官方yum源和拓展yum源🫷🏿,這是個什麽東西🐉?
這個其實不難理解。有些軟件寫出來可能有病毒甚至是存在各種廣告,這些軟件在官方的眼裏都是不安全的🛤。以官方的視角來看,官方期望的是一款安全綠色的軟件🚓,為此不安全的軟件是不會上架到官方的軟件商城中的🫶🏿。但是這並不意味著你不能下載這些不安全的軟件,因為有的時候它就是好用,為此我們就需要拓展yum源了。你可以理解為是官方yum源的一個補充。
下面是重點了!🙇🏿♀️!⛩!
一般操作系統,默認配置的yum源是國外的(針對的是虛擬機用戶)📹,有可能你的yum源訪問會比較慢🧑🏻🎨,這個時候可能就得更新yum源了。
大家不要把這件事給神話了,其實很簡單,就是替換一下yum源文件!
大家可以使用nano(這個得自己下載)或者是vim,這裏我使用的是vim👰🏼♀️⏸。
可以看到的是,我這裏已經配置好了🏇🏼!
如果是雲服務器那就不需要配置了,因為一般廠家就已經提前幫你配置好了👨🏻🔬。
3. vim編輯器
想必大家早就現在Linux下寫代碼了,那麽現在我就給大家介紹一個vim編輯器。
3.1 vim是什麽?
vim是一款功能強大、多模式的文本編輯器。
這裏有說到一個多模式,其實就包括了🖖:
命令模式🚣🏻♀️、插入模式、底行模式🧏🏻♂️🤦🏽、替換模式🔛、視圖模式
3.2 如何打開vim
指令🍑:vim filename(filename:代表你想要用vim打開的文件名)
大家打開vim之後是這個樣子的🥽👝,然後按你的鍵盤發現沒有任何反應🤹♂️。這個是正常🧓🏼。
補充🌚:如果用vim打開一個不存在的文件,系統會自動創建該文件👟!
3.2 vim各模式下的講解
3.2.1 命令模式
在此模式下,用戶的任何輸入都會被當作命令。為此在這個模式下,我們是不能在上面寫代碼的。
相關操作(切換到英文輸入法):
gg🛑:定位光標到最開始行
shift + G:定位光標到最結尾行
n + shift + g:定位光標到第n行(定位光標到任意位置)
shift + $◼️:定位光標到當前行的結尾
shift + ^👩🏻🦱:定位光標到當前行的開頭
w:將光標以單詞為單位進行行內或跨行向後移動
b🧒🏿:將光標以單詞為單位進行行內或跨行向前移動
h,j,k,l🤜🏼:將光標按照左、下、上、右的方式進行移動
(n)yy:復製光標到所在行
(n)dd:剪切👩🏿🔬、刪除
(n)p:粘貼(n重行)到光標所在的下一行
u:撤銷
先講這麽多,後期我會專門出一篇關於vim的操作。
3.2.2 底行模式
我們在實際開發中🔴👨🌾,難免會遇到多文件編寫的情況。此時我們就是切換到底行模式(shift + : ),然後輸入vs filename
ctrl + ww:窗口光標之間的切換(光標在哪個窗口,就對哪一個窗口進行操作)
好了,本文就講這麽多🌋🧑🏻🎨,關於vim肯定不止這一點知識🦛。後面,我會專門出一篇關於vim的操作,希望大家多來捧場!
如果覺得本文對你有幫助的話🤨👈🏻,麻煩給偶點個贊吧!!!