1. 程式人生 > >Linux vi/vim and linux yum 命令

Linux vi/vim and linux yum 命令

 

 

Linux vi/vim


所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。

但是目前我們使用比較多的是 vim 編輯器。

vim 具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。


什麼是 vim?

Vim是從 vi 發展出來的一個文字編輯器。程式碼補完、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。

簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程式開發者的一項很好用的工具。
連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個程式開發工具而不是文書處理軟體。

vi/vim 的使用
基本上 vi/vim 共分為三種模式,分別是一般模式、編輯模式與指令列命令模式。 這三種模式的作用分別是:


一般模式:
以 vi 開啟一個檔案就直接進入一般模式了(這是預設的模式)。
在這個模式中, 你可以使用『上下左右』按鍵來移動游標,你可以使用『刪除字元』或『刪除整行』來處理檔案內容, 也可以使用『複製、貼上』來處理你的檔案資料。


編輯模式:
在一般模式中可以進行刪除、複製、貼上等等的動作,但是卻無法編輯檔案內容的!
要等到你按下『i, I, o, O, a, A, r, R』等任何一個字母之後才會進入編輯模式。
注意了!通常在 Linux 中,按下這些按鍵時,在畫面的左下方會出現『INSERT 或 REPLACE 』的字樣,此時才可以進行編輯。
而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。


指令列命令模式:
在一般模式當中,輸入『 : / ? 』三個中的任何一個按鈕,就可以將游標移動到最底下那一行。
在這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯示行號等等的動作則是在此模式中達成的!


vi/vim 使用例項
使用 vi/vim 進入一般模式

如果你想要使用 vi 來建立一個名為 test.txt 的檔案時,你可以這樣做:

[[email protected] ~]# vi test.txt
直接輸入 vi 檔名 就能夠進入 vi 的一般模式了。請注意,記得 vi 後面一定要加檔名,不管該檔案存在與否!


按下 i 進入編輯模式,開始編輯文字

在一般模式之中,只要按下 i, o, a 等字元就可以進入編輯模式了!

在編輯模式當中,你可以發現在左下角狀態列中會出現 –INSERT- 的字樣,那就是可以輸入任意字元的提示。

這個時候,鍵盤上除了 [Esc] 這個按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進行任何的編輯。

 

按下 [ESC] 按鈕回到一般模式

好了,假設我已經按照上面的樣式給他編輯完畢了,那麼應該要如何退出呢?是的!沒錯!就是給他按下 [Esc] 這個按鈕即可!馬上你就會發現畫面左下角的 – INSERT – 不見了!

在一般模式中按下 :wq 儲存後離開 vi

OK,我們要存檔了,存檔並離開的指令很簡單,輸入『:wq』即可儲存離開!


vi/vim 按鍵說明
除了上面簡易範例的 i, [Esc], :wq 之外,其實 vim 還有非常多的按鍵可以使用。

 

----------------------------------------------------------------------------------------------

 

linux yum 命令

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。

基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。


yum 語法


yum [options] [command] [package ...]


options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
command:要進行的操作。
package操作的物件。

 

 

yum常用命令

1.列出所有可更新的軟體清單命令:yum check-update
2.更新所有軟體命令:yum update
3.僅安裝指定的軟體命令:yum install <package_name>
4.僅更新指定的軟體命令:yum update <package_name>
5.列出所有可安裝的軟體清單命令:yum list
6.刪除軟體包命令:yum remove <package_name>
7.查詢軟體包 命令:yum search <keyword>
8.清除快取命令:
yum clean packages: 清除快取目錄下的軟體包
yum clean headers: 清除快取目錄下的 headers
yum clean oldheaders: 清除快取目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除快取目錄下的軟體包及舊的headers

 

 

例項 1
安裝 pam-devel

[[email protected] ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies <==先檢查軟體的屬性相依問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz 100% |=========================| 1.6 MB 00:05
filelists.xml.gz 100% |=========================| 138 kB 00:00
-> Finished Dependency Resolution
……(省略)

 


例項 2
移除 pam-devel

[[email protected] ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies <==同樣的,先解決屬性相依的問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Removing:
pam-devel i386 0.99.6.2-4.el5 installed 495 k

Transaction Summary
=============================================================================
Install 0 Package(s)
Update 0 Package(s)
Remove 1 Package(s) <==還好,並沒有屬性相依的問題,單純移除一個軟體

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : pam-devel ######################### [1/1]

Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!

 

 


例項 3
利用 yum 的功能,找出以 pam 為開頭的軟體名稱有哪些?

[[email protected] ~]# yum list pam*
Installed Packages
pam.i386 0.99.6.2-3.27.el5 installed
pam_ccreds.i386 3-5 installed
pam_krb5.i386 2.2.14-1 installed
pam_passwdqc.i386 1.0.2-1.2.2 installed
pam_pkcs11.i386 0.5.3-23 installed
pam_smb.i386 1.1.7-7.2.1 installed
Available Packages <==底下則是『可升級』的或『未安裝』的
pam.i386 0.99.6.2-4.el5 base
pam-devel.i386 0.99.6.2-4.el5 base
pam_krb5.i386 2.2.14-10 base

 

 

 

 

國內 yum 源
網易(163)yum源是國內最好的yum源之一 ,無論是速度還是軟體版本,都非常的不錯。

將yum源設定為163 yum,可以提升軟體包安裝和更新的速度,同時避免一些常見軟體版本無法找到。

 

安裝步驟
首先備份/etc/yum.repos.d/CentOS-Base.repo


mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup


下載對應版本repo檔案, 放入/etc/yum.repos.d/(操作前請做好相應備份)

CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo


執行以下命令生成快取

yum clean all
yum makecache

 


除了網易之外,國內還有其他不錯的yum源,比如中科大和搜狐。

中科大的yum源,安裝方法檢視:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu的yum源安裝方法檢視: http://mirrors.sohu.com/help/centos.html