Linux的快捷鍵和主要命令(轉)

ba發表於2007-08-15
Linux的快捷鍵和主要命令(轉)[@more@]作者:幻影快遞Linux小組

5.1 Linux基本的鍵盤輸入快捷鍵和一些常用命令

5.2 幫助命令

5.3 系統資訊

5.4 基本操作

5.5 檔案管理

5.6 檢視和編輯檔案

5.7 查詢檔案

5.8 X-windows基礎

5.9 網路應用程式

5.10 檔案壓縮和解壓縮

5.11 程式控制

5.12 一些管理命令

5.13 硬碟和軟盤實用工具

5.14 使用者帳戶和檔案許可權管理

5.15 程式安裝

5.16 訪問磁碟驅動器/分割槽

5.17 網路管理工具

5.18 與音樂有關的命令

5.19 與圖形相關的命令

5.20 幾個小遊戲









簡介:



這是包含在Linux軟體包裡(RedHat或者Mandrake),我們比較經常使用和比較有用的一些命令集合。在你當前路徑的命令提示行下按鍵,就可以看到有效的命令一覽。在我的小型家用系統上,在我的當前路徑下有3786個可執行命令。這些命令的大部分可以在圖形使用者介面下使用滑鼠的左鍵或者右鍵來訪問,全部都可以使用命令列來執行(除非你沒有安裝對應的軟體包,在我的CD裡都可以執行)。那些要求圖形使用者介面的程式必須在圖形使用者下才能執行,比如,你可以透過在KDE或者GNOME的終端輸入命令來執行這些程式。一些更高階(對新手沒有用處?)的命令工具可以參考第七部分的相關內容。





以下給那些對Linux沒有概念的新手:



1. Linux是大小寫敏感的系統,舉個例子,Mozilla, MOZILLA, mOzilla和 mozilla是四個不同的命令(但是隻有第四個mozilla是真正有效的命令)。還有,my_filE, my_file,和 my_FILE是三個不同的檔案。使用者的登入名和秘密也是大小寫敏感的(這是因為UNIX系統和C語言的傳統一向是大小寫敏感所致)。



2. 檔名最多可以有256個字元,可以包含數字,點號”.”,下劃線”_”,橫杆”-”,加上其他一些不被建議使用的字元。



3. 檔名前面帶”.”的檔案在輸入”ls”或者”dir” 命令時一般不顯示。可以把這些檔案看作是隱含檔案,當然你也可以使用命令”ls –a”來顯示這些檔案。



4. “/”對等於DOS下的””(根目錄,意味著所有其他目錄的父目錄,或者是在目錄之間和目錄和檔案之間的一個間隔符號)。舉個例子,cd /usr/doc。



5. 在Linux系統下,所有的目錄顯示在單一目錄樹下(有別於DOS系統的驅動器標識)。這意味著所有的物理裝置上的所有檔案和目錄都合併在單一的目錄樹下。



6. 在配置檔案裡,以#打頭的行是註釋行。在修改配置檔案的時候儘量不要刪除舊的設定――可以把原來的設定加上”#”變成註釋行,總是在修改地方對應地加入一些關於修改的註釋,你會發覺在以後的管理中獲益多多。



7. Linux是繼承性的多使用者作業系統。你的個人設定(和其他使用者的個人設定)放在你的主目錄下(一般是/home/your_user_login_name)。許多的配置檔案的檔名都以”.”開頭,這樣使用者一般看不到這些檔案。



8. 整個系統範圍的設定一般放在目錄/etc下。





9. 和其他的多使用者作業系統類似,在Linux下,檔案和目錄有自己的擁有者和訪問許可權。一般來說,你只被允許檔案到你的主目錄下(/home/your_user_login_name)。學習一些關於檔案許可權管理的相關知識,否則你肯定會覺得Linux實在很麻煩。



10. 命令引數選項一般由”-”引導,後面跟一個字元(或者”--“,當選項超過一個字元時)。這樣,”-”有點象DOS下的”/”。舉個例子,輸入命令 rm --help。



11. 輸入command& (命令名後面加&符號)在背景模式下執行一個命令。這個一般用來在X視窗下啟動其他的程式。


5.1 Linux基本的鍵盤輸入快捷鍵和一些常用命令





切換到第一個文字終端。在Linux下你可以有多達六個不同的終端。這個命令的意思是:“同時按住鍵和鍵,然後按鍵,再釋放所有的鍵”。



(n=1..6)



切換到第n個文字終端。(你也可以使用不是很經常用到的命令chvt n 來實現,n指的是第n個文字終端)。在文字終端下(不是在X視窗),你也可以簡單使用來實現切換,不需要鍵。



列印出你正在使用的終端名稱,如果你希望知道終端的名字,可以使用命令fgconsole。







切換到第一個圖形使用者介面(一般來說X-window在第七個終端)





(n=7到12)



切換到第n個圖形使用者街面。根據預設,第一個X-Window在第7個終端執行,從第8到第12什麼也沒有,當然你可以逐個啟動這些圖形使用者介面。







(在文字終端下)可以使用TAB自動完成命令,或者顯示所有的可選項。這個快捷鍵真的非常好用,經常使用你會發覺它可以節約你很多的時間。







(在文字終端或者X視窗下)滾動和編輯以前輸入的命令。按執行一個歷史命令







回滾







滾動終端輸出。對於登入提示也起作用,所以你可以使用它回滾啟動資訊。你顯示卡的記憶體大小決定你可以回滾多少內容







回滾終端輸出







(在X視窗下) 改變X伺服器的螢幕解析率 (如果你設定X伺服器有多個不同的螢幕解析率)。比如對於我的標準SVGA卡和顯示器,在檔案/etc/X11/XF86Config有以下的設定行: (從預設開始,到可以支援的最大虛擬螢幕解析率)



Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300" "1152x864"Z



當然,首先我必須設定我的X伺服器,可以使用using Xconfigurator, xf86config, 也可以手工編輯檔案:/etc/X11/XF86Config。XFdrake (Mandrake使用圖形使用者介面進行配置 )。你也可以參考命令xvidtune和xvidgen。







(在X視窗下)把X伺服器的螢幕解析率修改到上一次的設定。







(在X視窗,KDE下)關閉我滑鼠將要指向的視窗(滑鼠的游標形狀會有所改變)。同樣的效果也可以使用命令xkill(在X終端上)來實現。當一個程式視窗被掛住的時候特別有用。







(在X視窗下) 終止當前的 X視窗服務。如果X視窗不能正常退出時可以使用。







(適用於文字終端下)關機和重新啟動。這是一個在文字終端下的正常關機命令,千萬不要按計算機上的reset鍵來重新關機和重新啟動!



c



終止當前程式(對於一般的小型文字模式的應用程式)



d



(在一個空白的命令列上輸入)退出當前的終端。參加下一個命令。



d



給當前的程式送檔案結束符合。不要按兩次否則你會把自己退出系統。



s



停止終端傳輸



q



從新開始終端傳輸。如果你的終端突然莫名其妙的停止響應,可以參考上一條命令。



z



把當前程式送到後臺處理。



exit



退出系統。我也可以使用logout命令達到同樣效果。(如果你啟動了第二個shell程式,比如,使用bash,這條命令將使你退出第二個shell回到第一個shell,但是不會退出系統。當然,可以再一次使用exit退出)



reset

恢復崩潰的終端(有些終端顯示一些奇怪的字元)到預設的設定。當你使用cat命令準備顯示一個二進位制檔案時,你可能看不到你所輸入的命令,儘管命令仍然照常工作。







貼上當前選擇的文字。這是一個常規的Linux“複製-貼上”操作。它是對被廣泛採用的通訊使用者介面下“複製-貼上”操作的一個非常有用的擴充套件(但是它不支援舊版本的NetScape,因為在舊版的NetScape只能使用MAC/Windows風格的“複製-貼上”操作。如果你執行“setup”程式進行設定,你可以在文字終端下使用這個功能。而且它在大多數的對話方塊裡也能很好的工作,真的非常方便!)如果你有一個“Linux-Ready”的滑鼠(logitec或者其類似產品)或者你透過使用“模擬三鍵滑鼠”,這個功能可以得到最大限度的發揮。一般來說,“第三鍵”的模擬是透過同時點選左右兩個滑鼠鍵來實現。



~



(水文符合) 我的主目錄(一般來書是/home/我的登入名)。舉例,命令~/my_dir將修改我的工作目錄到我的主目錄的子目錄”my_dir”下。相對於輸入”cd ~”,你也可以只輸入”cd”,我把我的所有檔案都放在自己的主目錄下。



.



(點符號) 當前目錄。舉例:./my_program 將試圖執行當前目錄下的"my_program"檔案



..



(兩個點)到當前的上一級目錄(也叫“父目錄”)。舉個例子,命令“cd..”將修改我的當前工作目錄到上一級目錄。



一些KDE的快捷鍵(很有用,但不是非要不可的)





切換不同的程式視窗。往回切換,使用





切換不同的桌面。往回切換,使用





顯示我係統里正在執行的程式列表。允許我終止那些由我啟動的程式(或者送訊號給這些程式)





訪問K選單 (對等於微軟Windows的的“開始”選單).





使用鍵盤上的箭號鍵模擬滑鼠的操作





拖曳並移動一個視窗。一般來說,我透過拖曳視窗的題目欄來移動一個視窗。有些時候,我用它把

一個視窗移動到螢幕之外。使用這個功能,我可以把視窗移動到螢幕的任何位置。





把當前螢幕的快照存到剪貼簿





把當前桌面的快照存到剪貼簿





鎖定桌面





切換隱藏/顯示桌面的功能(當老闆走過來的時候迅速藏起你的紙牌接龍游戲非常管用哦!)





(非必須掌握)



這是在Linux的核心(底層核心)上支援的一組組合鍵。它意味著這些組合鍵在大部分情況下都是有效的。組合鍵主要是針對開發人員的程式除錯目的或者在緊急場合下才使用;你也可以使用其他的辦法,安全第一。鍵在PC上指的是PrintScreen鍵。組合鍵的功能可以透過設定相對應的核心引數來啟用或者取消,比如: echo "1" > /proc/sys/kernel/sysrq





終止在當前虛擬終端上執行的所有程式(包括X視窗)。這個組合鍵被稱為“安全訪問鍵“(SAK).





傳送 TERM 訊號(結束訊號)到除了init程式以外的所有執行程式,要求其退出





傳送 KILL (終止訊號)到除了init程式以外的所有執行程式, 這個組合鍵比上一個更加有效,但是也可能引起一些程式被異常終止。





傳送KILL命令到所有執行程式(包括init),系統將不再能夠使用





在所有的掛載檔案系統上執行緊急同步(快取寫) 。這可以保護資料丟失





以只讀模式重新掛載所有已載入的檔案系統。這和上面的同步組合鍵有相同的功能,但是另外有一個好處:如果操作順利完成,下一次硬體重新啟動時,fsck將不會重新檢查所有的檔案系統。

關閉鍵盤的原始模式。當你的X視窗程式掛住沒有響應時特別有用。使用這個組合鍵之後,你可能會接著使用程式啟動。





不進行同步和解除安裝就立刻重新啟動系統。之後你可能會碰到一下錯誤資訊。





關機 (如果正確設定以後)





匯出當前的暫存器和標誌到控制檯





匯出當前任務和相關資訊到控制檯





匯出記憶體的內容到控制檯



SysRq>

“數字”從0到9。設定控制檯記錄的級別,用於控制哪一些核心資訊將被顯示在控制檯上。舉例,“0”意味著只有象PANIC和OOPS的之類的緊急資訊才被顯示在控制檯上。





顯示幫助資訊。還有,任何其他不被支援的 組合鍵將顯示同樣的幫助。


5.2 幫助命令



命令名 –help | more



顯示一個簡略的命令幫助(對大部分命令有效)。舉個例子,試著使用 “cp –help | more”。“--help”和和DOS下的“/h”開關功能類似。當輸出超過一個螢幕時,加上“more”是很有必要的。



man 命令名



顯示對應命令系統的幫助手冊。輸入“q”退出瀏覽器。如果你設定了高階選項,試著輸入“man man”。命令“info 命令名” 和命令“man 命令名”功能相似,但是包含更多的最新資訊。幫助手冊對於新手可能有點難於讀懂——因為它們最初是寫來給UNIX程式設計師看的。使用“命令名 –help”可以得到一個簡略容易消化的命令幫助。有些程式自帶README檔案或者其他幫助資訊檔案----建議你可以看看目錄/usr/share/doc。在指定的部分顯示命令幫助,可以使用這樣的命令“man 3 exit”,這個命令只顯示exit命令幫助手冊的“第三部分”;或者使用命令“man –a exit”, 這個命令顯示exit命令幫助手冊的“所有部分”。exit命令幫助的所有部分是: 1-使用者命令;2-系統呼叫;3-子呼叫;4-裝置;5-檔案格式;6-遊戲;7-雜項;8-系統管理;9-新內容。列印完整的命令幫助,可以使用命令“man 命令名 | col -b | lpr”(可選項col –b刪除所有的退格鍵和一些難以閱讀的特殊字元)。



info 命令名



顯示指定命令的幫助資訊。info 命令是取代man 命令的一個好處是,它通常帶有最近更新的系統資料。多使用“空格鍵”和“退格鍵”,否則你可能會暈頭轉向。按“q”鍵退出。如果覺得用於翻閱的辦法不太好用――你也可以試著使用pinfo命令,看你會不會更喜歡這個替代品。



apropos 命令名



對所輸入的命令名給出一個幫助一覽表。



whatis 命令名



給出匹配所輸入命令名的簡短清單。whatis命令有點象apropos――它們使用相同的資料庫。不同的是,whatis搜尋的是關鍵字,apropos搜尋的是關鍵字的具體描述。



help 命令名



顯示bash shell內建命令的簡單資訊。使用 help 命令不帶任何引數將顯示bash shell所有內建的命令。最短的bash shell內建命令應該包括:alias, bg, cd, echo, exit, export, help, history, jobs, kill, logout, pwd, set, source, ulimit, umask, unalias, unset.



kdehelp

kdehelpcenter



(在X-終端下有效, 使用在你的系統上可以工作的那一個命令). 使用圖形的瀏覽器顯示整個系統的幫助。一般來說,KDE幫助透過把對應的圖示放在KDE控制板上來實現。對等的GNOME幫助系統可以使用gnome-help-browser命令。


5.3 系統資訊

pwd



輸出工作目錄。舉例,在螢幕上顯示我當前所在的目錄



hostname



輸出本地主機的名稱(我正在使用的這一臺機器)。使用netconf修改機器的名稱(要求超級使用者許可權)



whoami



輸出我的登入名稱



id username

輸出使用者標識ID(UID)和其對應的使用者組標識ID(GID),有效的ID(如果不同於真正的使用者ID)和所屬的其他使用者組



date



輸出作業系統的當前日期,時間和時區。如果要以ISO標準格式輸出,我必須使用命令“date –Iseconds”。

我可以修改當前的日期和時間到2003-12-31 23:57,使用命令:date 123123572003。或者使用兩個命令(比較容易理解和記住):



date –-set 2003-12-31

date –set 23:57:00



如果要重新設定硬體時鐘(BIOS),可以使用命令setclock,要求超級使用者許可權。



time



偵測一個程式所需要的時間加上其他處理的時間的總和。不要和上面提到的date命令混淆。比如,我可以使用命令“time ls”來判斷顯示一個目錄需要多長時間;或者我可以使用命令“time sleep 10”來測試time命令(睡眠10秒鐘,什麼也不做)。





clock



(兩個命令中的一個)從計算機的硬體(由電池供應的實時的硬體時鐘)獲得日期/時間。你可以使用這個命令來設定硬體時鐘,但是setclock可能簡單一些(看前面的兩個命令)。舉例:“hwclock –systohc –utc”命令把系統時鐘設定到硬體時鐘(以UTC格式)。



who



顯示登入在系統裡的使用者



w



顯示登入在系統裡的使用者,檢查他們正在做什麼以及他們的處理器使用狀況。屬於常用的安全方面的命令。



rwho -a



(=remote who,遠端的who命令)。顯示網路裡其他計算機的使用者登入狀況。這個命令要求rwho服務必須在遠端機器上執行。如果沒有,以root使用者執行setup(RedHat特有)啟用“rwho”。



finger 使用者名稱



顯示對於一個使用者的系統資訊。可以試一下命令:finger root。任何人都可以使用finger命令訪問任何一臺連線到因特網提供finger服務的計算機。比如:finger @finger.kernel.org



last



顯示最後一個登入到系統的使用者。經常執行這個命令作為系統安全檢測的手段之一是一個絕好的主意。



lastb



(“=last bad”,最後一個壞的)顯示最後一個不成功的登入嘗試。但是這個命令在我的系統上不能工作,所以你可能要使用:touch /var/log/btmp



“/var/log/btmp在一般的系統安裝裡無效的主要原因是因為:它是一個包含登入的出錯資訊的完全可讀的檔案。一個使用者登入時最經常犯的錯誤是輸入使用者密碼作為使用者名稱,這樣,檔案/var/log/btmp對計算機駭客來說簡直是一個禮物”。(謝謝Bruce Richardson提供這個資訊)。



如果要解決這個問題,修改該檔案的檔案訪問許可權為只有root使用者才可以使用命令“lastb”。命令:“chmod o-r /var/log/btmp”



history | more



顯示當前使用者在命令列模式下執行的最後(1000個)命令。引數“|more”在輸出滿屏時暫停。如果要檢查其他使用者在你係統上都執行了什麼,以root使用者登入,檢查在該使用者主目錄下的檔案“.bash_history”(沒錯,該檔案可以被修改和刪除)。



uptime



顯示自從上一次啟動到現在機器執行的總時間。





ps



(= “print status”或者 “process status”,列印狀態或者處理狀態)列出由當前使用者執行的程式一覽。



ps axu | more



列出當前執行的所有程式,包括那些不是來自控制終端的程式,在顯示使用者程式的同時顯示使用者名稱。



top



持續列出正在執行的所有程式,按CPU的佔用率排序(佔用率高的排在最前面)。按C退出。



PID = 使用者標識

USER = 啟動或者擁有該程式的使用者.

PRI = 程式的優先順序別(值越大,優先順序別越低,一般程式是0,最高的級別是-20,最低的級別是20。

NI = 最佳化級別(比如,程式試圖以預先給定的優先順序別的數值來執行)。數值越高,程式的最佳化級別也越高(優先順序別越低)

SIZE = 程式載入到記憶體的程式碼+資料+堆疊的位元組總數(以千位元組計算)

RSS = 實體記憶體被佔用的大小(以千位元組計算)

SHARE = 和其他程式共享的記憶體(以千位元組計算)

STAT = 程式的當前狀態 S-睡眠, R-執行,T-停止或者被跟蹤,D-不可中斷的睡眠,Z-不死的程式

%CPU = CPU佔用慮百分比(自從上一次螢幕更新以來)

%MEM = 共享實體記憶體的佔用率

TIME = 程式佔用的CPU時間 (自從程式啟動以來)

COMMAND=啟動該任務使用的命令列(小心命令列裡出現的密碼等資訊,有許可權執行top命令的使用者都可以看見它們!)





gtop

ktop



(X終端)在圖形使用者介面下的兩個top功能。我比較習慣使用gtop(在gnome自帶)。在KDE環境下,ktop在K選單的“System”選單下的“Task Manager”裡。



uname –a



(=“Unix Name”帶可選項“all”)顯示你本地計算機資訊。也可以使用通訊使用者介面的guname(X終端下)得到更好的資訊顯示。



XFree86 –version



顯示本地計算機的X-Windows的版本。



cat /etc/issue



檢查你的發行版本。你也可以把你自己的資訊放到檔案/etc/issue裡――在使用者登入的時候會顯示。如果你想要顯示更多的資訊,還有一個比較常見的做法是把本地專有的登入資訊內容放在檔案/etc/motd裡 (“motd”=“message of the day”,當天資訊)



free



記憶體的資訊(以千位元組顯示)。“共享”記憶體是指可以被多個程式共同享有的記憶體(比如,可執行程式碼是“共享”的)。“緩衝”和“快取”則是用來保留最近訪問的檔案和資料――當其他程式需要更多的記憶體時候這些內容可以被減縮。



df -h



(=disk free 硬碟剩餘空間) 輸出所有檔案系統的硬碟資訊(以易讀的模式, h-human readable, 人類可讀)



du /-bh | more



(=disk usuage, 硬碟使用狀況)輸出根目錄“/”下每個子目錄具體的硬碟使用狀況



cat /proc/cpuinfo



CPU資訊――它顯示檔案cpuinfo的內容。要注意的是檔案在/proc目錄下不是真正的檔案――它們只是在觀察核心資訊時起連線的作用。



cat /proc/interrupts



顯示正在使用的中斷號。在配置一個新硬體的時候可能需要瀏覽一下。



cat /proc/version



Linux的版本和其他資訊



cat /proc/filesystems



顯示當前使用的檔案系統的型別



cat /etc/printcap |more



顯示印表機的設定



lsmod



(= "list modules". 顯示模組。必須是root使用者,如果不是,使用命令/sbin/lsmod執行)顯示當前已經載入的核心模組 .



set|more



顯示當前的使用者環境(全部顯示)。一般來說東西太多了。



echo $PATH



顯示環境變數“PATH”的內容。這個命令也可以用來顯示其他的環境變數。使用set來察看所有的環境變數(和前一個命令功能相同)



dmesg | less



輸出核心資訊(也就是常說的核心內部快取資訊)。按“q”退出“less”。也可以使用 “less /var/log/dmesg”來直接檢查最近一次系統啟動時“dmesg”輸出到檔案裡的內容。



chage -l my_login_name



檢視我的密碼過期資訊



quota



檢視我的硬碟區間(硬碟使用的限制)



sysctl -a |more



顯示所有可設定的Linux核心引數



runlevel



輸出和前一個和當前的執行級別(runlevel)。輸出“N5”意味著:“沒有前一個執行級別”和“5是當前的執行級別”。要修改執行級別,使用“init”,舉例:“init 1”把當前的執行級別切換到“單使用者模式”。



執行級別是Linux的操作模式。執行級別可以使用init命令進行快捷的修改。舉例,“init 3”將把模式切換到執行級別3,以下是執行級別的標準:



0-中斷 (不要把系統初始設定“initdeafult”設成這個值)

1-單使用者模式

2-多使用者模式,不帶NFS(如果你沒有網路,和執行級別3相同)

3-全功能多使用者模式

4-目前沒有使用

5-X11 (圖形使用者介面)

6-重新啟動(不要把系統初始設定“initdeafult”設成這個值)



系統的初始執行級別設定在檔案:/etc/inittab裡



sar



檢視抽取系統活動記錄檔案資訊(/var/log/sarxx, 其中xx指的是當前的日期)。sar可以抽取很多種系統統計資訊,包括CPU的平均載荷,i/o的統計,當天的網路流量統計或者是幾天以前的資料。
5.4 基本操作

ls

dir



列出當前目錄的內容。dir命令是ls命令的一個別名,所以這兩個命令在檔案羅列時使用的顏色程式碼是絕對一致的:



深藍色=目錄

淺灰色=一般檔案

綠色=可執行檔案

紫色=圖形檔案

紅色=壓縮檔案

淺藍色=連結檔案

黃色=裝置檔案

棕色=FIFO檔案(先進先出,命令管道)



ls -al |more



列出當前目錄的內容,所有檔案(包括那些以“點號”開頭的隱含檔案),並以“長格式”顯示。把所有輸出定向到管道more,在螢幕滿屏時可以暫停。ls命令還有很多其他的非常有用的可選項。還有一些快捷鍵可以減少麻煩的命令輸入。試試ll(=長格式羅列,相當於ls –l)。另外一個我經常使用的可選項是“ls –ad”(列出所有當前目錄下的子目錄但是不輸出它們的內容)。



cd 目錄



修改當前目錄。只輸入“cd”沒有指定目錄名將切換到你的主目錄。“cd –”將切換到上一次你訪問的目錄,這個命令在兩個不同的目錄之間切換時非常方便。“cd ..”將退到當前目錄的上一級目錄(父目錄)。



./程式名



在當前目錄下執行一個可執行程式。當可執行檔案不在我的PATH下時,“./”是必須的。一個在我的PATH下的可執行檔案可以簡單的輸入程式名執行而不需要“./”。



shutdown -h now



(要求root使用者)關機。一般用於在遠端關閉計算機。在控制檯上可以使用來關閉計算機(所有使用者都可以)



halt

reboot

init 6



(三個命令都要求root使用者)關機或者重新啟動計算機。主要用於遠端系統重新啟動,比上面的命令要簡單一些。如果計算機停止響應時非常有用,我一般透過網路從其他機器telnet到停止響應的計算機上然後重新啟動它。在本地計算機上,我則一般使用來重新啟動。



vlock

(舊版本的RedHat沒有這個功能)鎖住當前的文字終端。也可以使用vlock –a鎖住所有的終端(可能不是什麼好主意)。最好的做法一般是使用logout命令退出系統。你不能在圖形使用者介面的終端上使用vlock命令――因為視窗管理器自帶一個螢幕保護程式和一個加鎖的工具(在KDE下一個小的鎖型標誌,鍵盤快捷鍵)。


5.5 檔案管理

cp source destination



複製原始檔source 到目標檔案destination。舉例“cp /home/stan/existing_file_name .”將複製檔案到我的當前工作目錄。使用“-R”可選項(代表“recursive”)複製整個目錄樹的內容,比如:“cp -R my_existing_dir/ ~”將複製我當前工作目錄的一個子目錄到我的主目錄裡。



mcopy source destination



從DOS檔案系統複製一個檔案或者複製一個檔案到DOS的檔案系統裡(不需要掛載DOS檔案系統)。舉例:

“mcopy a:autoexec.~/junk”。檢視“man mtools”瞭解更多的相關命令,可以不需要掛載DOS檔案系統就可以直接訪問DOS檔案,比如命令:mdir, mcd, mren, mmove, mmd, mrd, mformat ...我們不是很經常使用mtool的命令是因為――通常可以把DOS/MS Windows的檔案系統掛載到Linux裡,然後用Linux的常規命令來訪問這些檔案。



mv source destination



移動檔案和更改檔名。對於檔案和目錄的移動和改名都可以使用這個命令。



rename 字串 更新字串 檔名



很好用的檔名修改工具。舉例:“rename .htm .html *.htm”把所有的以“htm”為副檔名的檔名裡的“htm”全部換成“html”。



ln source destination



從叫做source的原始檔建立一個叫做destination的目標檔案的“硬連結”。這個檔案看起來好像是一個原始檔的複製檔案,但是實際上只保留了一個檔案的硬複製,只是兩個(或者多個)目錄的入口指到同一個檔案上。任何對這個檔案所作的修改在所有地方都可以看得見。當一個目錄得入口刪除後,其他得目錄得入口保持不變。“硬連結”的侷限性是:檔案必須在同一個檔案系統裡,建立目錄或者一些特殊檔案的硬連結是不可能的。



ln -s source destination



從叫做source的原始檔建立一個叫做destination的目標檔案的“標誌連結”(軟連結)。“標誌連結”只是指定到“真實檔案”的訪問路由。和“硬連結”相比較,它的好處是原始檔和目標檔案可以在不同的檔案系統裡。“標誌連結”也有自己的不足之處:如果“真實檔案”被移動或者刪除,“連結”就被破壞――不知道路徑指到什麼地方;“軟連結”可以產生“迴圈參照” (就象資料庫或者電子表格,舉例:a指向b,b指向c,c指向a)。簡而言之,標誌連結非常有用而且也很常用(比“硬連結”要常用得多),但是同時可能帶來一些檔案管理的複雜性。



rm files



刪除檔案。你必須是擁有這些檔案才能夠刪除它們(或者是root使用者)。在很多系統裡,你將會被提問是否確認刪除檔案。如果你不想被提問,使用“-f”(=force,強制刪除)引數。舉例:rm –f * 將刪除所有當前工作目錄下的所有檔案,而且沒有任何確認提示。



mkdir directory



建立新目錄。



rmdir directory



刪除一個空目錄



rm -r files



刪除檔案,目錄和所有它們的子目錄。作為root使用者,要小心使用這個命令――如果你在頂級目錄樹上執行這條命令,你將刪除系統裡所有的檔案,到目前為止在Linux裡還沒有“取消刪除”的命令。如果你真的想要這麼做(再仔細想想?),這裡告訴你該怎麼辦:使用命令 ”rm –rf /*”。



rm -rf files

(強制)刪除檔案,目錄和所有它們的子目錄如上所述,但是跳過確認資訊提示。如果你是root使用者,絕對要小心使用這個命令。



mc



啟用“Midnight Commander”檔案管理器(看起來有點象Linux下的Norton Commander)。根據一些恐龍級的計算機使用者的反映,這是至今為止最好的檔案管理器。



konqueror &



(在X終端下)啟用KDE檔案管理器。也許這是檔案管理器的極品。比微軟的檔案瀏覽器要好得多。它整合了網頁瀏覽,PDF檔案閱讀和其他功能。真的很酷!



xwc



(在X終端下)另外一個很出色的檔案管理器,是X-Win-Commander的縮寫。比Konqueror的速度快,但是功能上稍微遜色。



nautilus &



(在X終端下)一個真正很酷的檔案管理器。比Konqueror要慢,但是提供了一些有用的功能――比如圖示提供檔案內容預覽!它甚至可以預覽聲音檔案!但是對CPU速度依賴較大,它在我的1.33GHZ的計算機上執行出色,但是我從來不在我的133MHZ的老機器上使用它。


5.6 檢視和編輯檔案

cat filename | more


這個命令用於檢視一個被稱為 "filename"的文字檔案的內容,每次一頁. "|"符號是"pipe" 符號(在很多美式鍵盤裡, 它與""共用一個鍵). more 使文字內容的輸出顯示停止在每一屏.對於長檔案,有時可以很方便地使用head 和tail 來顯示檔案的開始和結尾部分或用less 使之能上下滾動. 如果你恰巧使用 cat顯示一個二進位制檔案,你的終端隨後顯示古怪的字元, 你能使用reset命令恢復它.

cat filename | less
less filename


(選用二條命令之一) 滾動一個文字檔案的內容.退出按q . "less" 大致相當於 "more" , 該命令來自 DOS,但經常 "less"比 "more"更方便因為它可使我能使用捲軸上下滾動.

head filename


顯示長文字檔案的前10行.

tail filename
顯示長文字檔案的最後10行. 使用tail -f filename讓檔案的末尾持續讀取該檔案的不斷出現的資料.

pico filename
使用簡單,標準的文字編輯器pico來編輯一個文字檔案. 使用 x推出. Linux有很多文字編輯器, 包括幾個基於圖形使用者介面的編輯器. 一個新的 pico 克隆版(GPLed) 是 nano.

pico -w filename
編輯文字檔案, 沒有文字行長度的限制.對於編輯配置檔案很方便, 如. /etc/fstab.

kwrite
(在X終端) 很不錯, "高階文字編輯器". 支援垂直文字選擇!

kate
kedit
gedit
(在X終端).簡單但很好的文字編輯器 (基於GUI).

gxedit
(在X終端)另一多用途,具特色的文字編輯器. 它甚至於能定時備份.

latte
(在X終端) "程式碼" 編輯器, 即, 用於寫程式的無格式文字編輯器.

nedit
(在X終端) 另一種程式編輯器. 很好.

bluefish
(在X終端) html 編輯器 (原始碼的句法高亮標註, 有很多工具和選項).

ispell filename
一個 ASCII 文字檔案的拼寫檢查命令. AbiWord, WordPerfect, StarOffice 和其它文字處理器都使用鍵入就檢查的策略,所以除非需要,否則你不用擔心簡單的 ispell 命令. Linux 新版本 (如, RH7.0) 包含了功能增強的拼寫檢查模組, 稱為 aspell,但上面的命令仍然工作.

look thermo
在你的系統單詞目錄(/usr/share/dict/words)中查尋開始於"thermo"的單詞.

wvHtml ms_word_document.doc > filename.html
轉化MS Word 檔案到 html檔案.




5.7 查詢檔案



find / -name "filename"

 

在你的檔案系統中從根目錄"/"開始搜尋被稱為"filename"的檔案. "filename"檔名可以包含萬用字元(*,?).



find命令功能強大.它有很多選項讓你以不同的方式搜尋檔案.例如, 透過日期, 檔案大小, 許可權, 擁有者等等.但一些的搜尋查詢要花上幾分鐘編寫. 檢視info find. 這裡是一些使用 find 來完成一些有用的任務的複雜例子.



find $HOME -name core -exec rm -f {} ;

 

以上命令從你的$HOME目錄開始尋找, 發現名字是 "core"的檔案. 對於每一個這種被找到的檔案,執行 "rm -f" (強制刪除檔案). {} 代表了已發現的檔案, ""終止了該命令列表.



find /dev -user "peter" |more

 

以上命令顯示由使用者 "peter"所擁有的所有裝置的檔案.顯示檔名是 find命令的預設行為,所以如果這就是我所要做的,無須特別指定.



find /home/peter -nouser -exec ls -l {} ; -ok chown peter.peter {} ;

 

在/home/peter目錄下找到非有效擁有者的檔案.以長格式列出檔案.然後將這些檔案的所有權改為使用者"peter" 和 組 "peter". 要處理檔案的所有權, 你可能必須是超級使用者.



locate filename

 

發現包含字串"filename"的檔名.這比前面的命令更容易, 更快, 但基於資料庫(通常在夜間重建),所以你無法找到剛剛存到檔案系統的檔案. 為了強制立即更新資料庫, 作為超級使用者可以使用: updatedb&.



which executable_name

 

如果我在命令列鍵入可執行檔案的名字, 顯示該可執行檔案的全路徑.例如, 這條命令:

which mozilla。我的系統出現:
/usr/bin/mozilla



whereis command

 

顯示"command"命令的二進位制檔案, 原始檔和手冊的位置.



rgrep -r 'celeste' . |more

grep -r 'celeste' . |more



(二條命令, 在你的系統中選用一條).在當前目錄和所有子目錄中搜尋含有字串"celeste"所有檔案(選項"-r"代表遞迴). 顯示檔名和在檔案中包含所尋找的字串所在的行.



kfind &

 

(在X終端). 在一個GUI前端介面使用find and grep. 很不錯. 命令列末尾的& 使find執行在後臺以便使X終端保持可用狀態。

 

 


5.8 X-windows基礎

 

xinit &

 

啟動基本的X-windows伺服器(沒有 windows管理器). "&"使命令執行在後臺.



startx &

 

啟動X-windows伺服器和預設windows管理器.就象在帶有Win3.1的DOS下鍵入"win" .



startx -- :1 &

 

在顯示程式1中啟動另一個X-windows(預設顯示程式為0). 你能夠同時執行幾個 GUI 終端.在這些介面之間使用, 來轉換.



xterm

 

(在X終端) 執行一個簡單的 X-windows終端. 鍵入 exit將關閉它.對於Xwindows 有其它更高階的”虛擬”終端.我喜歡普遍使用的 konsole 和kvt (二者均來自 kde) 和gnome-terminal (來自 gnome). 如果你需要看起來更奇特的終端, 試試Eterm. 我還可以選擇簡單, 執行快的rxvt.



startkde
gnome-session
xfce
afterstep
AnotherLevel
fvwm2
fvwm

 

(在X終端, 7 條不同的命令, 使用其中之一來啟動你喜歡的windows 管理器). 在X伺服器上在一個X終端啟動你喜歡的windows 管理器.


5.9 網路應用程式



mozilla &



(在X終端下) 執行mozilla網頁瀏覽器。現在的版本是Mozilla 1.01 (2002年10月),這個瀏覽器非常不錯。Mozilla是Netscape的一個衍生品(在老的Linux系統上一般使用NetScape)。還有其他幾個不錯的替代品比如konqueror和galeon (在Linux的X終端上輸入konqueror和galeon直接執行)



mozilla –display host: 0.0 &



(在X終端下)在當前的計算機上執行Mozilla如何把輸出定向到叫做“host”的計算機的第0個顯示器的第0個視窗螢幕。你當前的計算機必須有許可權在 “host” 計算機顯示內容(一般的做法是,在“host”計算機上的X終端輸入命令“xhost [當前的計算機名]”。其他的X-Windows的程式也可以透過同樣的辦法來執行)。



lynx file.html



以純文字方式來瀏覽html超文字檔案。儘管lynx看起來不像基於圖形使用者介面的網頁瀏覽器那麼出色,但是它很小巧,幾乎沒有出差錯的時候,也不需要什麼特殊的設定,只要你的網路是正常的。



konqueror &



(在X終端下) 整合了檔案管理器和網頁瀏覽器的功能。很不錯,和Mozilla的很多功能可以一比高低。KDE自帶的軟體。



pine



一個很不錯,老古董的文字郵件閱讀工具。還有另外一個老古董是elm。你的Mozilla將會閱讀你因特網上的郵件,pine則讓你閱讀“本地”的郵件。比如,你兒子的郵件或者在你網路裡的另外一臺計算機的cron程式傳送給你的資訊。命令mail也可以用來閱讀和寫郵件,但是沒有那麼方便使用。



mutt



一個非常基本但是及其有用的快速郵件閱讀工具。



mail



給email使用的一個基本的作業系統工具。如果你只是要閱讀郵件,可以參考上面的快速email閱讀命令。如果你要在shell指令碼上傳送郵件,mail倒是一個很好的選擇。



kmail &



(在x終端下)很好的圖形使用者介面的郵件程式。我使用kmail,因為它比Netscape的mail做得要出色的多。我可以擁有多個電子郵件帳號,然後分別從本地的smtp伺服器和ISP的pop3伺服器上下載郵件到同一個收件箱。簡單易用,支援數字簽名。



licq &



(在x終端下)一個ICQ的客戶端程式。還有另外一個不錯的選擇是kxicq。就的Linux發行版本不帶licq客戶端程式,你可能需要自己下載安裝。



knode &



(在x終端下)啟動我喜歡的新聞組閱讀器(usenet)。比Netscape內建的閱讀器要好。



talk username1



和另外一個登入在系統裡的使用者交談(也可以使用“talk username1@machine_name”來和另外一臺計算機上的使用者交談)。要接受會談請求,輸入命令“talk username2”。如果你正在忙著而有人想要和你交談,你可以使用命令“mesg n”拒絕接受資訊。你可以使用命令who或者rwho來檢視有哪些使用者當前登入在系統裡。talk是一個老古董的UNIX標準工具,在某些場合下仍然非常有用。



telnet server



使用telnet協議連線到另外一臺計算機。可以使用計算機名或者IP地址。你會要求輸入使用者登入名和密碼――你必須在遠端計算機上有有效的使用者帳號和密碼。telnet將讓你連線到另外一臺計算機上好像你就在使用那一臺計算機的鍵盤(幾乎完全一樣)。telnet不是非常安全――你輸入的任何東西在網路上都是開放的文字模式,包括你的密碼!一個在“傳輸路徑”上稍微有點專業知識的系統管理員就可以閱讀你所輸入的內容。如果你要加密的傳輸,使用ssh(需要一些系統設定)。



rlogin server



(=remote login,遠端登入)。這將使用你在當前登入系統上使用的使用者名稱和密碼,如果登入失敗將會提醒你輸入密碼。



rsh server



(=remote server) 連線到遠端計算機的另外一個辦法。這將使用你在當前登入系統上使用的使用者名稱和密碼,如果登入失敗將會提醒你輸入密碼。



ssh servername –l username



(=secure shell,安全的shell)使用安全連線遠處登入到另外一臺計算機。ssh是安全的,因為它使用一對RSA“公共-私有”鑰匙壓縮所有傳送的資料。如果你沒有指定使用者名稱,它假設你使用當前的使用者名稱。



ftp server



ftp到另外一臺計算機(還有一個ncftp帶有一些附加的功能,另外還有基於圖形使用者介面的gftp)。ftp對於從一臺計算機上覆制檔案到另外一臺計算機上非常有用。可以試著用“anonymous”(匿名)使用者如果你在遠端計算機上沒有有效帳號。建立連線之後,使用“?”查詢有效的ftp命令一覽。最基本的ftp命令有以下這些:



ls 檢視遠端計算機上的檔案

ASCII, binary 設定檔案傳輸模式為“文字模式”或者“二進位制模式”,選擇正確的模式非常重要

get 從遠端計算機上覆制一個檔案到本地計算機

mget 從遠端計算機上覆制多個檔案到本地計算機

put 從本地計算機上覆制一個檔案到遠端計算機

mput 從本地計算機上覆制多個檔案到遠端計算機

bye 結束連線



如果你要使用指令碼檔案實現自動化,你可以考慮ncftpput和ncftpget,舉例:



ncftpput –u my_user_name –p password –a remote.host.domain.remote_dir *local.html



如果你的計算機在防火牆後面,ncftpput可能會有一些問題-你需要配置檔案 /home/user_name/.ncftp/firewall。另外一個選擇,你也可以使用lftp來達到同樣目的:



lftp –e “mput –a *local.html” –u my_username, my_password ftp://remote.host.domain



如果要保留ftp目錄的映象,可以使用命令fmirror:



wget -m --no-parent



從網站上覆制檔案。以上這個例子使用可選項-m(mirror,映象)從主站上獲得完整的檔案集合。可選項“--no-parent”限制搜尋子目錄裡的檔案。



minicom



minicom是一個專門給序列口設計的“終端模擬器”。看起來和用起來都很象“procomm”或者“telix”。對於序列口通訊的故障診斷非常有用。



rx



使用Zmodem,Ymodem和Xmodem協議接收檔案。Xmodem需要檔名。輸入rx –help得到更多的資訊。現在還有誰在使用這些協議?


5.10 檔案壓縮和解壓縮

tar -zxvf filename.tar.gz



(=tape archiver,磁帶壓縮) 解壓一個你從因特網上下載的tarball檔案 (*.tar.gz or *.tgz)。



tar -xvf filename.tar



拆解一個tarred(但是沒有壓縮)的檔案。



tar czvpf /var/backups/mybackup.tar.gz /home

cd /; tar xzvpf /var/backups/mybackup.tar.gz '*/myfile.rtf'



作為root使用者,建立一個/home目錄的備份壓縮檔案。第二條命令顯示如何從備份恢復一個檔案。在tarball檔案裡將不包含“點”檔案(指的是以“ .”開頭的檔案或者目錄)。要把所有檔案解包,可以使用:tar cvzf filename.tgz * .[a-aA-Z]*



gunzip filename.gz



解壓一個壓縮檔案(*.gz或者*.z)。如果你想把檔案壓縮成這種格式,可以使用 gzip(還有zip或者compress命令)。注意一下gunzip有趣的發音聽起來象“gun zip”(大炮壓縮)。



zcat filename.gz | more



(=zip cat)顯示一個壓縮檔案的內容。還有其他一些相關命令不需要預先解開壓縮檔案就可以使用:zless, zmore, zgrep…等等。



bunzip2 filename.bz2



(=big unzip)解壓一個由bzip2壓縮工具壓縮的檔案(*.bz2)。一般用於很大的檔案。



unzip filename.zip



解壓一個由DOS下的PKZIP壓縮工具壓縮的檔案(*.zip)



zip filename.zip filename1 filename2



把兩個檔案“filename1”和“filename2”壓縮到一個壓縮檔案叫做 “filename.zip”。



unarj e filename.arj



解壓一個使用arj壓縮的檔案(*.arj)



lha e filename.lha

解壓一個使用lha壓縮的檔案(*.lha)



uudecode -o outputfile filename



解碼一個使用uuencode的檔案。uu-encoded在使用email傳送非純文字檔案的時候應用非常廣泛(uuencoded把任何檔案格式都變成文字檔案)



cat filename | mimencode -o filename.mime

cat filename.mime | mimencode -u -o filname



(兩個命令)第一個命令把檔案filename編碼成基於因特網郵件7bit資料傳送標準的檔案filename.mime。第二個命令把基於因特網郵件7bit資料傳送標準的檔案filename.mime解碼成一般檔案filename。



ar -x my_archive.a file1 file2



(=壓縮存檔)。從壓縮檔案my_archive.a解壓出檔案file1和file2。ar壓縮工具更多的用於儲存檔案庫記錄。



ark &



(在X終端下)。一個圖形使用者介面的壓縮工具。也許是你管理壓縮檔案所需要的方便工具。還有另外一個選擇是gnozip。


5.11 程式控制



ps



(=“print status”or “process status”)列表顯示當前正在執行的程式的程式標識號(PID)。用ps aux檢視你的系統上下在執行的所有程式(也包括其他使用者的程式和沒有終端控制的程式),每個程式都顯示其所有者的名字。使用“top”命令持續顯示當前正在執行的程式列表。



any_command &



在後臺執行任務命令(符號“&”表示“在後臺執行前面的命令”)。任務號(Job_number)(譯者注:和程式號)將顯示在螢幕上,你可以使用任務號將該任務調到前臺(見下面)。當我從一個X終端啟動一個GUI程式時,我經常使用“&”。



jobs



列表顯示後臺執行或是被停止了的程式並顯示它們的任務號。



fg job_number



將一個後臺執行的或是被停止了的程式調到前臺執行



bg job_number



將一個程式調至後臺執行,這與在命令列用“&”啟動後臺程式是完全一樣的。這將重新啟動一個被停止了的後臺程式。一般可以用z來停止當前的前臺程式。如果你有被停止的或後臺執行的任務,你必須在命行輸入exit命令兩次,以從系統中登出。



batch

at>updatedbd

在系統負荷低的時候執行任何命令(經常昌需要長時間完成的任務)。你可以從系統中登出,但程式將繼續執行。當命令完成後,一封包含輸出資訊的電子郵件將傳送給你。在以上示例中,“at>”是一個提示符,將要執行的命令是updatedb,然後按來結束命令的輸入(你可以輸入很多命令提交執行,用來分隔它們)。



at 17:00



在指定時間執行命令。你將被提示輸入要執行的命令,直到你按d。相關的命令有atq(顯示由at啟動的程式佇列)和(從“at 佇列”中刪除一個程式)



kill PID



強制一個程式終止。首先要用ps確定終止的程式的程式標識號(PID)。



killall program_name

透過程式名終止一個(組)程式。例如:killall pppd將斷開你的撥號網路。



Nohup program_name

(=no hangup)。執行程式program_name,並使它在你登出時不被中斷。輸出結果被重定向到你的使用者的主目錄下的nohup.out檔案。在你確信不想執行一個互動程式的時候,使用nohup。



Xkill

(在X終端中)用滑鼠終止一個基於GUI的程式。(用你的滑鼠指到你要終止的程式的視窗並點選)



kpm

(在X終端中)KDE程式管理程式



lpc

(由root使用者執行)檢查和控制印表機。輸入“?”可以檢視命令列表。



lpq

顯示印表機佇列的內容。在你可從“K”選單-實用程式(“K”menu-Utilities)中呼叫基於GUI的“印表機佇列”(“Printer Queue”)



lprm job_number

從列印佇列中刪除一個列印任務。



nice program_name

執行一個程式並調整及優先順序。因為在本例中沒有指定優先順序,將從預設優先順序(通常是0)增加10(程式將執行較慢)。較小的值,代表較高的優先順序。優先順序的取值範圍為-20到19。只有root使用者能指定負值。用top可顯示正在執行的程式的優先順序。



renice –18 PID



(以root使用者執行)將一個正在執行的進行的優先順序調整為-18。普通使用者只能調整他們自己的程式,而且只能從當前值向上調(即使其執行變慢)。可以使用renice +10 –u peter來減少使用者peter對CPU資源的佔用,這樣當他執行高強度運算任務時,使其他使用者不受到損害。



c,z,s和q也屬於本章內容,但它們在前面已經描述過了。簡單地說,它們表示停止當前命令,排程當前命令到後臺執行,停止資料傳輸,恢復資料傳輸。



lsof



列表顯示已經開啟的檔案。如果你是root使用者,所有的開啟的檔案都將被顯示。使用lsof /dev/tty1你可以指定顯示由第一控制檯所有的程式開啟的所有檔案。要想只顯示網路檔案(對安全審計非常有用),你可以使用lsof –I(以root使用者執行)。



Watch –n 60 my_command



以60秒為間隔反覆執行my_command命令(預設間隔為2秒)


5.12 一些管理命令



su



(=substitute user id)採用超級使用者(=root)的身份(將提示你輸入口令)。輸入“exit”返回你先前的註冊。不要習慣於用身份在你的機器上工作。root帳戶是用於管理的,當你需要訪問管理帳戶時,su命令可以使你輕鬆進入。你也可以使用su命令去採用其他任何使用者的身份,例如:su barbara將你變成“barbara”(除非你是超級使用者,否則需要口令)。



Alias ls=”ls –color=tty”

為命令產生一個別名,用增加一個關於顏色的格式。在這個例子中,別名也叫“ls”,只有當輸出被指向一個終端(而不是檔案)時,color選項才被執行。如果你想讓系統上的所有使用者始終能使用這個別名,就把它寫到/etc/bashrc檔案中。別名是定製你的系統的一種方便的方法。只輸入“alias”可以檢視你的帳戶可使用的別名的列表。使用unalias alias_name可以刪除一個別名。



cat /var/log/httpd/access_log



顯示自從上次日誌檔案被“轉動”(一般每天在cron程式執行時轉動一次)後,誰連線過你的http(apache)伺服器。前一次的日誌檔案為access_log.1,再前一次的日誌檔案access_log.2,依此類推。



cat /var/log/secure



(以root使用者執行)檢查重要系統日誌。如果你使用Internet訪問的話,定時檢查的一個很好的主意。



ftpwho



(以root使用者執行)檢查當前誰連線在你的ftp伺服器。



printtool



(在X終端上以root使用者執行)印表機配置工具。設定檔案存放在/etc/printcap和/var/spool/lpd目錄下。



setup



(以root使用者執行)配置滑鼠、音效卡、鍵盤、和系統服務。許多發行套裝都有自己特定的配置實用程式,setup是Redhat的預設配置程式。Mandrake 7.0提供非常好用的DrakConf。



linuxconf



(以root使用者執行,在文字模式或是在X終端上)。在這裡你可以訪問和更改上百種網路設定。功能非常強大――一次不要改動太多東西,改動你所不清楚的專案時一定要小心。Redhat網路配置工具netconf是linuxconf的一個子集,因此它比較簡單而且很多時候容易使用。



mouseconf



(以root使用者執行)。一個配置滑鼠的簡單工具(在完成初始安裝後)。Mandrake也有一個類似的工具mousedrake。



kudzu



(以root使用者執行)。自動檢測和配置硬體。如果你的滑鼠(或是其他序列裝置)有問題,你可能想要停用kudzu,這樣它在系統啟動過程中就不會執行(kudzu弄亂了我的系統,使我的滑鼠不能工作)。你可以在你需要時手動執行它。



timeconfig



(以root使用者執行)為你的系統設定時區。我的計算機的硬體時鐘儲存的時間是UTC(協調世界時,也稱GMT或格林威治時間)。這樣,我避免了任何在轉換時區時(由夏時制、透過網路跨洲傳送檔案或是旅行外出引起的)可能發生的問題。時慣上在伺服器上使用UTC時間來避免時間“倒流”(有時會引發一些問題)。檔案的時間戳總是保持使用UTC時間,並使用時區資訊來顯示當地時間。例如,許多應用程式(如編譯器,資料庫)是依靠比較檔案的時間戳來區分新的檔案與舊的檔案的。保證時區資訊正確是很重要的。我將當地時間作為BIOS時間來避免發生問題的唯一原因是,當我的從一臺計算機上進行雙重啟動,而其它作業系統(MS Windows?)不知道如何處理UTC。然後,我透過選擇“Hardware clock set to GMT”來告訴Linux伺服器,這Linux樣在需要UTC時,可以計算出來。



setclock



(以root使用者執行)。從當前linux系統時間設定計算機硬體時鐘。首先,使用“date”命令設定Linux系統時間。例如,我可以將日期和時間改為2000-12-31-23:57,使用命令:

date 123123572000

然後將時間寫到硬體時鐘,使用命令:

setclock



dateconfig&



(在X終端上,以root使用者執行,否則將提示你輸入root使用者口令)。一個非常棒的GUI實用工具,用於設定作業系統時間、硬體時鐘和時區資訊,告之BIOS使用UTC時間,而不需要前面的兩個命令。



Xvidtune



(在X終端上)調整所有分辯率下的顯示器設定,以消除黑帶,上下左右調整顯示,等等。(首先使用顯示器自身的調整按鈕,使得文字模式在螢幕上正確顯示)。然後用xvidtune針對每種分辯率調整顯示頻率,使其在螢幕上正確顯示。為了使改動保持下去,在螢幕上顯示頻率,然後將它們傳送到/etc/X11/XF86Config設定檔案中。在較新型的顯示器上,你可能更願意使用顯示器的內建設定來調整你的顯示器,xvditune主要是給那些沒有記憶設定引數的功能的老式顯示器用的。



Kvideogen



(在X終端上)為定義你的螢幕分辯率產生“模式行”。在產生設定文字(“模式行”)後,你可以將其複製-貼上到的設定檔案/etc/X11/XF86Config中(或是/etc/X11/XF86Config-4,如果你使用X-sever 4.00版本)。另見快捷鍵



SVGATextMode 80x25x9

SVGATextMode 80x29x9



(以root使用者執行)修改文字終端的文字分辯率。在示例中(第二行)我我將文字螢幕改為80列x29行,字元高度為9畫素。第一行定義的是一個常用的分辯率,這樣第二行命令在系統上不能工作,我能透過按兩次(譯者注:上箭頭)和來重新控制螢幕。可以使用哪些模式取決於你的顯示卡和你的顯示器的重新整理頻率――需要編輯檔案/etc/TextConfig(以root使用者執行),去掉相應行前面的註釋符,使SVGATextMode知道系統支援哪些模式。



SuperProbe



(以root使用者執行)一個檢測顯示卡型別和記憶體數量的實用工具。



cat /var/log/Xfree86.0.log



一個對檢測X-window設定過程中的錯誤非常有用的日誌檔案。檔名中的“0”表示“顯示方式0”-如果你需要“顯示方式1或2等”的日誌檔案,你需要相應地修改檔名。



lspci



顯示主機板資訊和PCI擴充套件槽內都插了哪些卡。我的舊的計算機有ISA(或EISA)插槽,沒有PCI。



lsdev



顯示硬體資訊(DMA,IRQ,IO埠)



lsof|more



顯示系統上開啟的檔案。



kernelcfg



(在X終端上以root使用者執行)增加、刪除核心模組的GUI工具。每個模組就象一個裝置驅動程式―Linux核心中支援一個裝置或功能的一段程式。你在命令列使用insmod命令也可以完成同樣的工作。



lsmod



(=list modules)顯示當前載入的核心模組。一個模組就象一個裝置驅動程式-它對一個硬體或一個特性提供作業系統核心支援。



modprobe –l|more



列出系統核心的所有可用模組。哪些模組可用是由如何編譯Linux核心決定的。幾乎每一種可能的模組特性都可以被編譯到核心中,以“硬連線”(可能會快一點,但不能刪除)或“模組”(可能會慢一點,但可以根據需要裝載/刪除),或“無“(根本不支援這個特性)等方式。系統核心所支援的模組(編譯過的)都以檔案的形式存在/lib/modules(及其子目錄)下,當你丟失模組時,你可以流覽這些目錄,可以找到線索。如果系統核心不支援你所需要的模組,你可以啟用該模組並重新編譯系統核心(這是因為原裝的核心都只包括常用的模組,沒有預編譯一些試驗性的模組。還有,如果你有一些該死的邊緣硬體…)。 



modprobe sb



裝載soundblaster(sb)模組。使用前面的命令來查詢已經載入的核心模組。



insmod parport

insmod ppa



(以root使用者執行)向核心中插入模組(一個模組大致相當於一個DOS裝置驅動程式)。平常,我用“modprobe”(見前面的命令)來插入模組 。這個例子展示如何為支援一個外接並口100MB ZIP驅動器來插入模組(好像在RH6.0和6.1下,外部ZIP驅動器以其他方式工作都會有問題)。對於250MB外接ZIP,可用imm模組來代替ppa模組。



rmmod module_name



(以root使用者執行,但不是必須)從系統核刪除module_name模組。



depmod –a



(以root使用者執行)為核心建立模組依賴關係表。除非你想/etc/modules而不想重新啟動系統,否則不必要。



setserial /dev/cua0 port 0x03f8 irq 4



(以root使用者執行)將一個序列介面設定為非標準設定。這個例子顯示第一個串列埠的標準設定(cua0或ttyS0)。第二個串列埠(cua1ttyS1)的PC標準設定為:埠地址0x02f8,中斷3。第三個串列埠(cua2或ttyS2)為:0x03e8,中斷4。第四個串列埠(cua3或ttyS3)為:0x02e8,中斷3,。如果你要它們在啟動時即被設定,將這些設定加到檔案中。詳見man setserial。



Tunelp



(以root使用者執行,很少用到)調整並行埠。



/sbin/chkconfig –level 123456 kudzu off



(以root使用者執行)用來檢查/啟用/禁用在各個執行級下自動啟動的系統服務的工具。一般情況下,如果我需要在當前執行級下啟用/禁用一個服務,我只用Redhat ntsysv實用程式,但chkconfig給了我更多的靈活性。另外一個可用的工具是(基於X介面)。這個例子展示如何禁用kudzu服務,使它在任何執行級都不啟動(它弄亂了我的一臺機器上的滑鼠設定)。顯示在所有執行級下啟動/停止的服務,我使用:



chkconfig –list|more



檢查服務的當前狀態,我使用:



service –status –all



立即啟動一個服務,我可以使用一些東西,像(啟動一個ftp伺服器):



service su-ftpd start



重新啟動網路服務(如:在我修改了它的配置後),我可以用:



service smb restart



symlinks –r –cds /



(以root使用者執行)檢查和修改系統上的符號連結。從根開始,遍歷所有的子目錄(選項 –r=“rescuer”)修改絕對路徑連結雜亂連結為相對連結,刪除空懸連結,縮短超長連結(選項 -cds)。如果你的檔案系統覆蓋幾個不同的硬碟分割槽,你需要為每個分割槽重新執行這個命令(如:symlinks –r –cds /usr)。



cd /usr/src/linux-2.4.7-20

make xconfig



(在X終端上以root使用者執行)一個漂亮的GUI前端工具,可在編譯自定義核心的準備過程中配置核心選項。(例子中的目錄名中包含我的的版本號,如果你的核心版本號不是本例中的,你需要修改你的目錄名。你需要“Tk”直譯器來地,並且安裝了核心的原始碼)。“make xconfig”的其他實現方法是“make config”(在文字模式下執行一個指令碼,並回答一些問題)和“make menuconfig”(執行一個基於文字選單驅動的配置工具)。

更多資訊;Less /usr/share/doc/HOWTO/Kernel-HOWTO

在使用“”完成新核心的配置選擇後,你要執行以下命令來編譯新的核心;

make clean(這是一個可選的命令;它清除舊的目標檔案,它可能會延長編譯過程,但在一些情況下它可以阻止一些問題的發生)



make dep

make bzImage



最後的命令需要一些時間來完成(可能是10分鐘或是2個小時,這取決於你的硬體)。它產生檔案arch/386/boot/bzImage, 即是你的新核心。接下來:

make modules

make modules_install

現在新核心安裝在/lib/modules/KernelName



如果你想執行多個核心的時候,不要改動模組目錄的名字-核心必須能夠找到與其匹配的模組。如果你想改變核心的名字,你必須編輯主核心makefile檔案(如:/usr/src/linux-2.2.14/Makefile),修改最開始的幾行。我的檔案(預設TH 7.2)是:

VERSION = 2

PATCHLEVEL = 4

SUBLEVEL = 7

EXTRAVERSION = -10custom



可以用來顯示當前執行的核心的名字。我的是。



我“原裝”的RedHat核心配置在/boot/config-2.4.28-24(RedHat 8.0)檔案中,同時一些附加的“custom”核心設定在目錄/usr/src/linux-x.x.x./configs中。我可以從命令的對話方塊中載入它們中的任何一部分。



現在我能安裝新核心。安裝過程涉及到將新核心複製(同時改名)到目錄中:



cp arch/386/boot/bzImage /boot/vmlinuz-2.4.7-10custom

cp System.map /boot/System.map-2.4.7-10custom



並修改/etc/lilo.conf或/boot/grub/grub.conf,這樣在啟動時我可以選擇用哪一個核心(新的或舊的)引導。強烈建議儲存舊核心做為一個引導的選項(萬一新核心拒絕引導)。

如果你使用initrd(initial ram disk)做兩階段引導,你還需要生成一個包含在啟動過程中核心用到的模組的映像:



mkinitrd /boot/initrd-2.4.7-10custom.img 2.4.7-custom



看一下如何給核心打補釘,快速參考:



cd /usr/src/linux-2.4.7-10

patch –E –p1 < /home/download/the_patch_to_apply



閱讀/usr/doc/HOWTO/Kernel_HOWTO也會有所幫助,man depmod也行。配置、編譯和安裝一個新核心非常簡單,但它也能導致許多問題。編譯核心也是檢測你的硬體的一個好方法,因為它涉及到相當大量的計算。如果你的硬體整合得不好的話,你會收到“signal 11”錯誤(請閱讀/usr/doc/FAQ/txt/GCC_SIG11/FAQ)。



ldconfig



(以root使用者執行)為動態連結庫的載入程式(“ld”)重新產生聯接和快取區。當你在系統上安裝一個新的動態連結庫的後,你也許想要執行ldconfig。(每次當你引導計算機的時,它都會重新執行一遍,所以如果你重新啟動,就不必再人為執行一遍了)。



mknod /dev/fd0 b 2 0



(=make node,以root使用者執行)手動建立一個裝置檔案。這個例子展示的是建立一個與你的第一個軟碟機裝置相關聯的裝置檔案,當你意外地刪除了該裝置的時候,它會十分有用。選項是:b=塊裝置,c=字元裝置,p=FIFO裝置,u=無緩衝字元裝置。兩個整數指定了主裝置號和次裝置號。平時我也不知道mknod需要哪些引數。要建立裝置時,我先閱讀man MAKEDEV來找出裝置的名字,然後執行/dev/MAKEDEV指令碼檔案,這個指令碼檔案可根據名字知道是何種裝置――見下一個命令。如果提到的手冊沒有幫助的話,我推薦包含核心原始碼的最終文件:

less /usr/src/linux/Documentation/devices.txt



cd /dev

./MAKEDEV audio

(以root使用者執行)恢復“audio”裝置,我剛好把它搞得有點不靈了。也可見前面的命令。


5.13 硬碟和軟盤實用工具



fdisk /dev/had



(=“fixed disk”,以root使用者執行)Linux硬碟驅動器分割槽工具(DOS有一個同名的工具)。在上面的例子中,我指定要對第一個IDE介面上的第一個硬碟進行分割槽,因此是“hda”。如果我是你,我會在對任何分割槽使用之前備份所有重要資料。我不知道有誰喜歡用fdisk(無論是Linux,還是DOS版本)――我更喜歡簡單易用的cfdisk,見下一個命令。



cfdisk /dev/had



(以root使用者執行)基於選單的硬碟驅動器分割槽工具。比更容易使用(見前一個命令)。物理驅動器包括基本分割槽(每個硬碟上最多4個),和邏輯分割槽(數量上沒有限制)。一個基本分割槽是可以引導的。邏輯分割槽必須包含在“擴充套件分割槽”中;擴充套件分割槽不能使用其本身,它們只是邏輯分割槽的一個容器。當對一個硬碟進行分割槽時,一般我會:(1)建立一個基本分割槽,(2)使這個基本分割槽可以引導,(3)建立一個擴充套件分割槽,(4)在擴充套件分割槽中建立邏輯分割槽。



sfdisk –l –x |more



(以root使用者執行)列出你的系統上的所有驅動器的分割槽表(包括擴充套件分割槽)。



parted /dev/had



Linux(ext2)和DOS(FAT和FAT32)硬碟分割槽的處理工具。它可以建立、刪除、移動、複製、壓縮和擴充套件分割槽。你在使用它之前應該備份你的資料並仔細閱讀info parted。



fdformat /dev/fd0H1440

mkfs –c –t ext2 /dev/fd0



(=floppy disk format, 兩個命令,以root使用者執行)對第一個軟碟機(dev/fd0)中的高密度軟盤(1440KB)執行低階格式化。然後建立一個檔案系統(-t ext2),檢查/標出壞塊(-c)。建立檔案系統相當於高階格式化。你還可以將軟體盤格式化成不同的密度(非標準的);試一下 ls /dev/fd0。你能夠使用fdformat /dev/fd0格式化成預設密度(一般是1440K)。



badblocks /dev/fd01440 1440



(以root使用者執行)對一張高密度軟盤進行壞塊檢查並將結果顯示到螢幕上。引數“1440”指定了要檢查1440塊。這個命令不修改軟盤。bakblocks也可對用來對硬碟表表進行檢查,但是在我進行全面讀-寫檢查之前,我必須先將檔案系統卸下:

mount [查出哪個裝置包含我要進行壞塊檢查的磁碟分割槽]

umount /dev/hda8 [卸下選定的分割槽]

badblocks –n /dev/hda8 [以非破壞讀-寫方式檢查選定的分割槽,這樣我的資料就不會被刪除了]

mount /dev/hda8 [如果沒有壞塊資訊顯示出來,將該分割槽安裝回去]

如果發現壞塊,它們能夠被在硬碟上標記出來,這用它們就不會再被使用了:

e2fsck –c /dev/hda8



fdck –t ext2 /dev/hda2



(=file system check,以root使用者執行)檢查和修復檔案系統,例如在由於電源故障導致的“不乾淨”關機之後。上面的這個例子執行對分割槽hda2的檢查,檔案系統型為ext2。你必須卸下分割槽或以“單使用者模式”(在LILO提示符處輸入“linux single”或以使用者使用 init 1 來進入單使用者模式)引導來執行這個命令。如果在檔案系統檢查過程中發現錯誤,我選擇預設設定來修復。



Tune2fs –j /dev/hda2

(以root使用者執行, 只用於支援ext3的核心—RH7.2)調整檔案系統的可調引數。上面的這個例子展示如何一個磁碟分割槽(本例為hda2)增加日誌,成功地將檔案系統轉為ext3(日誌)檔案系統。要完成這個轉換,你還須編輯/etc/fstab檔案,將檔案系統型別由ext2改為ext3,否則你將遇到問題――ext2不能安裝一個非正常關閉的日誌檔案系統。要檢查檔案系統的型別,使用mount(無引數)或cat /etc/mtab。如果你需要關於的更多資訊,試一下:

~rajesh/howto/ext3/ext3-6.html

tune2fs的其它引數可以讓你新增一個卷標籤,調整安裝檔案系統(被檢查過)的數量(最大安裝數),或啟用定時檔案系統檢查(很少用到)。



dd if=/dev/fd0H1440 of=floppy_image

dd if=floppy_image of=/dev/fd0H1440



(兩個命令,dd=”data duplicator”)在當前目錄下建立一個軟盤的映像檔案,名為“floppy_image”。然後將floppy_image(檔案)複製到另一張軟盤。功能像DOS中的“DISKCOPY”。



mkbootdisk –device /dev/fd0 2.4.2-3



製作一張應急引導軟盤。在系統安裝過程中你會被問到是否要製作一張引導盤。以上命令展示在安裝後如何製作啟動盤,使用第一個軟盤驅動器(/dev/fd0)。你可以執行uname -a或ls /lib/modules來知道核心名字(命令中需要,這裡是2.4.2-3)。


5.14 使用者帳戶和檔案許可權管理



useradd user_name

passwd user_name



(以root使用者執行)建立一個新帳戶(你必須是root使用者)。例如: useradd Barbara。在接下來的一步別忘了為新使用者設定口令。使用者的主目錄(被建立的)是 /home/user_name。 你也可以用一個等價的命令adduser user_name



ls –l /home/peter

useradd peter –u 503 –g 503

(以root使用者執行)建立一個使用者來匹配一個已有目錄(可能是以前安裝中的)。如果使用者ID和組ID(每個檔案顯示出來的)以前都是503,那麼我用匹配的使用者名稱,使用者ID(UID)和組ID(GID)來建立使用者。這樣在系統升級後可以避免由於改變使用者檔案的所有權而引起的混亂。



userdel user_name



刪除一個帳戶(你必須是root使用者)。使用者主目錄和未傳送郵件必須單獨處理(人工處理,因為你必須決定如何處理這些檔案)。還有一個命令groupdel來刪除組。



groupadd group_name



(以root使用者執行)在你的系統上建立一個新組。在一個家用計算機上不是必須的,但對於有少量使用者的家用計算機是十分方便的。



例如,我能夠建立一個“friends”組,使用:



groupadd friends



然後編輯檔案,將我的名字和朋友的名字加到組的列表中的一行,最後一行看起來像這樣:

friends:x:502:stan,pete,marie

然後,我改變一個指定檔案的許可權,這樣這個檔案就屬於我和組“friends”。

chgrp friends my_file

這樣,這個組的成員就有訪問這個檔案的特殊許可權,而其他人則沒有,改變讀和寫許可權的例子如下:

chmod g=rw o= my_file

另外一種做法是將寫的許可權賦予所有使用者,即使是在家庭電腦上絕對是不安全的。



groups



列出當前使用者所屬的的組。我還可以使用groups john來找出使用者john所屬的組。



usermod

groupmod



(以root使用者執行)兩個命令列工具,用於修改使用者帳戶和組,而不用修改相關檔案:/etc/passwd, /etc/shadow, etc/group /etc/gshadow。一般是不必要的。



userconf



(以root使用者執行)選單驅動的使用者配置工具(口令政策、組資訊更改、增加使用者等)。它是linuxconf包的一部分,但可以單獨執行。



passwd



修改當前帳戶的口令。如果你是root使用者,你能為任何使用者修改口令,使用命令:passwd user_name



chfn



(=”change full name”)修改你的資訊(全名,辦公室房間號,電話號碼,等等)。用finger命令執行於你的login_name,便會顯示這些資訊。



change –M 100 login_name



(=”change age”)將使用者的口令有效期設為100天。



quota username

setquota username

quotaon /dev/had

quotaoff /dev/had



管理使用者磁碟限額的一組命令。一般在家中電腦上不用。“Disk quota”意思是每個使用者使用磁碟空間的限制。這些命令分別是顯示使用者限額,設定使用者限額,在一個給定的檔案系統(本例是/dev/hda)上啟用限額系統,關閉限額系統。我所見過的典型的發行套裝的預設設定:對所有使用者沒有限制,所有檔案系統上的限額系統都關閉。



kuser



(以root使用者執行,在X終端上)使用一個GUI程式管理使用者和組。好用且基本包括你平常管理使用者帳戶的命令。



chmod perm filename



(=change mode)修改你的檔案的訪問許可權(除非你是root使用者,你可以修改任何檔案)。你能夠以三種方式(讀()、寫()、執行())訪問三個級別(所有者()、檔案所有者同組成員()、系統上其他人())的使用者的檔案。檢查當前訪問許可權,使用:



ls –l filename



如果這個檔案可以為所有使用者以所有方式訪問,其許可權顯示為:rwxrwxrwx

第一個三位表示檔案所有者的許可權,第二個表示擁有這個檔案的組的許可權,第三個表示其他人的許可權。沒有許可權顯示為“-”。



當設定許可權時,以下符號被用到:“u”(=使用者或檔案所有者),“g”(擁有檔案的組),“o”(其他人),“a”(所有人,如所有者,組和其他人),“=”(設定許可權為),“+”(增加許可權),“-”(取消許可權),“r”(讀檔案的許可權),“w”(寫檔案的許可權,代表修改檔案的許可權),“x”(執行檔案的許可權)。



例如,這個命令為所有的使用者增加讀檔案的許可權:

chmod a+r junk

這個命令將取消所有使用者執行檔案的許可權:

chmod o-x junk



你也可以去這裡,有更多的資訊。

你可以用命令umask(參閱man umask)為你建立的新檔案設定預設許可權。



Chown new_ownername filename

Chgrp new_groupname filename

改變檔案的所有者和組。在你複製一個檔案供其他人使用時,你應當使用以上兩個命令。只有檔案的所有者才能刪除它。



lsattr files



列表檔案屬性。不常用到,因為很多最有趣的屬性還沒有實現。屬性可以用命令來修改。這些屬性是:A(=修改檔案時不要更新時間),S=(同步更新),a(=此檔案只能追加),c(=在核心級上壓縮檔案,尚未實現),i(=不變的檔案), d(=不可轉儲),s(=安全刪除)和u(不可刪除,尚未實現)。一個有趣的用法是使一個檔案不可刪除,即使root使用者也不行(除非設定者清除該屬性)。



Sudo /sbin/shutdown –h now



(作為一個普通使用者,會被提示輸入使用者口令)執行“shutdown”命令(或另外一個系統管理員授權你可以執行的命令)。使用,系統管理員可能授權指定使用者執行指定命令,而不用出示root使用者口令。/etc/sudoers檔案必須被置為類似如下內容:

my_login_name my_host_computer_name=/sbin/shutdown



pwck

grpck



(以root使用者執行,兩個命令)驗證口令檔案和組檔案的完整性。



pwconv

grpconv



(以root使用者執行)可能你不需要這些命令。它們將舊格式的口令和組檔案轉換成更安全的“shadow”檔案。


5.15 程式安裝



rpm –ivg package_name-version.platform.rpm



(以root使用者執行)安裝一個軟體包(選項“i”,必須是破折號(dash)後面的第一個字母),採用互動方式(選項“v”=verbose)並以數值方式顯示安全程式(選項“h”)。rpm代表“RedHat軟體包管理器”



rpm –Uvh package_name-version.platform.rpm



(以root使用者執行)升級(選項“U”,必須是破折號(dash)後面的第一個字母)一個軟體包,採用互動方式(選項“v”)並以數值方式顯示安全程式(選項“h”)。



rpm –ivh –force –nodep package_name-version.platform.rpm



(以root使用者執行)安裝一個軟體包,忽略任何可能的沖沖和包依存關係問題。



rpm –e package_name

(以root使用者執行)解除安裝(選項“e”=刪除(erase))軟體包package_name。請注意在軟體包名稱最後沒有“-version.platform.rpm”(軟體包名稱與用來安裝它的*.rpm檔名一樣,只是沒有了破折號、版本、平臺和“rpm”)。



rpm –qpi package_name-version.platform.rpm



查詢(選項“”,必須是破折號(dash)後面的第一個字母)還沒有安裝的軟體包(選項“p”),顯示軟體包包含的資訊(選項“i”)。



rpm –qpl package_name-version.platform.rpm



查詢(選項“”,必須是破折號(dash)後面的第一個字母)還沒有安裝的軟體包(選項“p”),顯示軟體包包含的全部檔案的列表(選項“l”)。



rpm –qf a_file



查詢檔案“a_file”所屬的已安裝的軟體包。如果你偶然刪除了一個檔案,現在需要找到正確的軟體包來重新安裝,這個命令很有用。



rpm –qi package_name



查詢已安裝的軟體包,顯示其自身的資訊。請注意,請注意在軟體包名稱最後沒有“-version.platform.rpm”



rpm –qai | more



查詢並顯示系統上安裝的所有的軟體包的資訊。在我的簡單的系統上,我安裝了大約600多個軟體包,很顯然,我必須花很多時間來閱讀它們的資訊。要查一下你的軟體包的數量,試試:

rpm –qa | grep –c ‘’

要找出一個指定的軟體包,試:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958647/,如需轉載,請註明出處,否則將追究法律責任。

相關文章