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