以下給那些對Linux沒有概念的新手:
Linux是大小寫敏感的系統(tǒng),舉個(gè)例子,Mozilla, MOZILLA, mOzilla和 mozilla是四個(gè)不同的命令(但是只有第四個(gè)mozilla是真正有效的命令)。還有,my_filE, my_file,和 my_FILE是三個(gè)不同的文件。用戶的登錄名和秘密也是大小寫敏感的(這是因?yàn)閁NIX系統(tǒng)和C語言的傳統(tǒng)一向是大小寫敏感所致)。
文件名最多可以有256個(gè)字符,可以包含數(shù)字,點(diǎn)號”.”,下劃線”_”,橫桿”-”,加上其他一些不被建議使用的字符。
文件名前面帶”.”的文件在輸入”ls”或者”dir” 命令時(shí)一般不顯示??梢园堰@些文件看作是隱含文件,當(dāng)然你也可以使用命令”ls –a”來顯示這些文件。
“/”對等于DOS下的”\”(根目錄,意味著所有其他目錄的父目錄,或者是在目錄之間和目錄和文件之間的一個(gè)間隔符號)。舉個(gè)例子,cd /usr/doc。
在Linux系統(tǒng)下,所有的目錄顯示在單一目錄樹下(有別于DOS系統(tǒng)的驅(qū)動(dòng)器標(biāo)識)。這意味著所有的物理設(shè)備上的所有文件和目錄都合并在單一的目錄樹下。
在配置文件里,以#打頭的行是注釋行。在修改配置文件的時(shí)候盡量不要?jiǎng)h除舊的設(shè)置――可以把原來的設(shè)置加上”#”變成注釋行,總是在修改地方對應(yīng)地加入一些關(guān)于修改的注釋,你會發(fā)覺在以后的管理中獲益多多。
Linux是繼承性的多用戶操作系統(tǒng)。你的個(gè)人設(shè)定(和其他用戶的個(gè)人設(shè)定)放在你的主目錄下(一般是/home/your_user_login_name)。許多的配置文件的文件名都以”.”開頭,這樣用戶一般看不到這些文件。
整個(gè)系統(tǒng)范圍的設(shè)定一般放在目錄/etc下。
和其他的多用戶操作系統(tǒng)類似,在Linux下,文件和目錄有自己的擁有者和訪問權(quán)限。一般來說,你只被允許文件到你的主目錄下(/home/your_user_login_name)。學(xué)習(xí)一些關(guān)于文件權(quán)限管理的相關(guān)知識,否則你肯定會覺得Linux實(shí)在很麻煩。
命令參數(shù)選項(xiàng)一般由”-”引導(dǎo),后面跟一個(gè)字符(或者”--“,當(dāng)選項(xiàng)超過一個(gè)字符時(shí))。這樣,”-”有點(diǎn)象DOS下的”/”。舉個(gè)例子,輸入命令 rm --help。
輸入command& (命令名后面加&符號)在背景模式下運(yùn)行一個(gè)命令。這個(gè)一般用來在X窗口下啟動(dòng)其他的程序。
5.1 Linux基本的鍵盤輸入快捷鍵和一些常用命令
<Ctrl><Alt><F1>
切換到第一個(gè)文本終端。在Linux下你可以有多達(dá)六個(gè)不同的終端。這個(gè)命令的意思是:“同時(shí)按住<Ctrl>鍵和<Alt>鍵,然后按<F1>鍵,再釋放所有的鍵”。
<Ctrl><Alt><Fn> (n=1..6)
切換到第n個(gè)文本終端。(你也可以使用不是很經(jīng)常用到的命令chvt n 來實(shí)現(xiàn),n指的是第n個(gè)文本終端)。在文本終端下(不是在X窗口),你也可以簡單使用<ALT><Fn>來實(shí)現(xiàn)切換,不需要<CTRL>鍵。
打印出你正在使用的終端名稱,如果你希望知道終端的名字,可以使用命令fgconsole。
<Ctrl><Alt><F7>
切換到第一個(gè)圖形用戶界面(一般來說X-window在第七個(gè)終端)
<Ctrl><Alt><Fn> (n=7到12)
切換到第n個(gè)圖形用戶街面。根據(jù)缺省,第一個(gè)X-Window在第7個(gè)終端運(yùn)行,從第8到第12什么也沒有,當(dāng)然你可以逐個(gè)啟動(dòng)這些圖形用戶界面。
<Tab>
(在文本終端下)可以使用TAB自動(dòng)完成命令,或者顯示所有的可選項(xiàng)。這個(gè)快捷鍵真的非常好用,經(jīng)常使用你會發(fā)覺它可以節(jié)約你很多的時(shí)間。
<ArrowUp>
(在文本終端或者X窗口下)滾動(dòng)和編輯以前輸入的命令。按<ENTER>執(zhí)行一個(gè)歷史命令
<ArrowDown>
回滾
<Shift><PgUp>
滾動(dòng)終端輸出。對于登錄提示也起作用,所以你可以使用它回滾啟動(dòng)信息。你顯卡的內(nèi)存大小決定你可以回滾多少內(nèi)容
<Shift><PgDown>
回滾終端輸出
<Ctrl><Alt><+>
(在X窗口下) 改變X服務(wù)器的屏幕解析率 (如果你設(shè)置X服務(wù)器有多個(gè)不同的屏幕解析率)。比如對于我的標(biāo)準(zhǔn)SVGA卡和顯示器,在文件/etc/X11/XF86Config有以下的設(shè)置行: (從缺省開始,到可以支持的最大虛擬屏幕解析率)
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300" "1152x864"Z
當(dāng)然,首先我必須設(shè)置我的X服務(wù)器,可以使用using Xconfigurator, xf86config, 也可以手工編輯文件:/etc/X11/XF86Config。XFdrake (Mandrake使用圖形用戶界面進(jìn)行配置 )。你也可以參考命令xvidtune和xvidgen。
<Ctrl><Alt><->
(在X窗口下)把X服務(wù)器的屏幕解析率修改到上一次的設(shè)置。
<Ctrl><Alt><Esc>
(在X窗口,KDE下)關(guān)閉我鼠標(biāo)將要指向的窗口(鼠標(biāo)的光標(biāo)形狀會有所改變)。同樣的效果也可以使用命令xkill(在X終端上)來實(shí)現(xiàn)。當(dāng)一個(gè)程序窗口被掛住的時(shí)候特別有用。
<Ctrl><Alt><BkSpc>
(在X窗口下) 終止當(dāng)前的 X窗口服務(wù)。如果X窗口不能正常退出時(shí)可以使用。
<Ctrl><Alt><Delete>
(適用于文本終端下)關(guān)機(jī)和重新啟動(dòng)。這是一個(gè)在文本終端下的正常關(guān)機(jī)命令,千萬不要按計(jì)算機(jī)上的reset鍵來重新關(guān)機(jī)和重新啟動(dòng)!
<Ctrl>c
終止當(dāng)前進(jìn)程(對于一般的小型文本模式的應(yīng)用程序)
<Ctrl>d
(在一個(gè)空白的命令行上輸入)退出當(dāng)前的終端。參加下一個(gè)命令。
<Ctrl>d
給當(dāng)前的進(jìn)程送文件結(jié)束符合。不要按兩次否則你會把自己退出系統(tǒng)。
<Ctrl>s
停止終端傳輸
<Ctrl>q
從新開始終端傳輸。如果你的終端突然莫名其妙的停止響應(yīng),可以參考上一條命令。
<Ctrl>z
把當(dāng)前進(jìn)程送到后臺處理。
exit
退出系統(tǒng)。我也可以使用logout命令達(dá)到同樣效果。(如果你啟動(dòng)了第二個(gè)shell程序,比如,使用bash,這條命令將使你退出第二個(gè)shell回到第一個(gè)shell,但是不會退出系統(tǒng)。當(dāng)然,可以再一次使用exit退出)
reset
恢復(fù)崩潰的終端(有些終端顯示一些奇怪的字符)到缺省的設(shè)置。當(dāng)你使用cat命令準(zhǔn)備顯示一個(gè)二進(jìn)制文件時(shí),你可能看不到你所輸入的命令,盡管命令仍然照常工作。
<鼠標(biāo)的中間鍵>
粘貼當(dāng)前選擇的文本。這是一個(gè)常規(guī)的Linux“復(fù)制-粘貼”操作。它是對被廣泛采用的通信用戶界面下“復(fù)制-粘貼”操作的一個(gè)非常有用的擴(kuò)展(但是它不支持舊版本的NetScape,因?yàn)樵谂f版的NetScape只能使用MAC/Windows風(fēng)格的“復(fù)制-粘貼”操作。如果你運(yùn)行“setup”程序進(jìn)行設(shè)置,你可以在文本終端下使用這個(gè)功能。而且它在大多數(shù)的對話框里也能很好的工作,真的非常方便?。┤绻阌幸粋€(gè)“Linux-Ready”的鼠標(biāo)(logitec或者其類似產(chǎn)品)或者你通過使用“模擬三鍵鼠標(biāo)”,這個(gè)功能可以得到最大限度的發(fā)揮。一般來說,“第三鍵”的模擬是通過同時(shí)點(diǎn)擊左右兩個(gè)鼠標(biāo)鍵來實(shí)現(xiàn)。
~
(水文符合) 我的主目錄(一般來書是/home/我的登錄名)。舉例,命令~/my_dir將修改我的工作目錄到我的主目錄的子目錄”my_dir”下。相對于輸入”cd ~”,你也可以只輸入”cd”,我把我的所有文件都放在自己的主目錄下。
.
(點(diǎn)符號) 當(dāng)前目錄。舉例:./my_program 將試圖執(zhí)行當(dāng)前目錄下的"my_program"文件
..
(兩個(gè)點(diǎn))到當(dāng)前的上一級目錄(也叫“父目錄”)。舉個(gè)例子,命令“cd..”將修改我的當(dāng)前工作目錄到上一級目錄。
一些KDE的快捷鍵(很有用,但不是非要不可的)
<Alt><Tab>
切換不同的程序窗口。往回切換,使用 <Alt><Shift><Tab>
<Ctrl><Tab>
切換不同的桌面。往回切換,使用 <Ctrl><Shift><Tab>
<Ctrl><Esc>
顯示我系統(tǒng)里正在運(yùn)行的進(jìn)程列表。允許我終止那些由我啟動(dòng)的進(jìn)程(或者送信號給這些進(jìn)程)
<Alt><F1>
訪問K菜單 (對等于微軟Windows的的“開始”菜單).
<Alt><F12>
使用鍵盤上的箭號鍵模擬鼠標(biāo)的操作
<Alt><鼠標(biāo)左鍵>
拖曳并移動(dòng)一個(gè)窗口。一般來說,我通過拖曳窗口的題目欄來移動(dòng)一個(gè)窗口。有些時(shí)候,我用它把
一個(gè)窗口移動(dòng)到屏幕之外。使用這個(gè)功能,我可以把窗口移動(dòng)到屏幕的任何位置。
<Alt><PrintScreen>
把當(dāng)前屏幕的快照存到剪貼板
<Ctrl><Alt><PrintScreen>
把當(dāng)前桌面的快照存到剪貼板
<Ctrl><Alt><l>
鎖定桌面
<Ctrl><Alt><d>
切換隱藏/顯示桌面的功能(當(dāng)老板走過來的時(shí)候迅速藏起你的紙牌接龍游戲非常管用哦!)
<Alt><SysRq><command_key> (非必須掌握)
這是在Linux的內(nèi)核(底層內(nèi)核)上支持的一組組合鍵。它意味著這些組合鍵在大部分情況下都是有效的。組合鍵主要是針對開發(fā)人員的程序調(diào)試目的或者在緊急場合下才使用;你也可以使用其他的辦法,安全第一。<SysRq>鍵在PC上指的是PrintScreen鍵。組合鍵的功能可以通過設(shè)置相對應(yīng)的內(nèi)核參數(shù)來激活或者取消,比如: echo "1" > /proc/sys/kernel/sysrq
<Alt><SysRq><k>
終止在當(dāng)前虛擬終端上運(yùn)行的所有進(jìn)程(包括X窗口)。這個(gè)組合鍵被稱為“安全訪問鍵“(SAK).
<Alt><SysRq><e>
發(fā)送 TERM 信號(結(jié)束信號)到除了init進(jìn)程以外的所有運(yùn)行進(jìn)程,要求其退出
<Alt><SysRq><i>
發(fā)送 KILL (終止信號)到除了init進(jìn)程以外的所有運(yùn)行進(jìn)程, 這個(gè)組合鍵比上一個(gè)更加有效,但是也可能引起一些程序被異常終止。
<Alt><SysRq><l>
發(fā)送KILL命令到所有運(yùn)行進(jìn)程(包括init),系統(tǒng)將不再能夠使用
<Alt><SysRq><s>
在所有的掛載文件系統(tǒng)上運(yùn)行緊急同步(緩存寫) 。這可以保護(hù)數(shù)據(jù)丟失
<Alt><SysRq><u>
以只讀模式重新掛載所有已加載的文件系統(tǒng)。這和上面的同步組合鍵有相同的功能,但是另外有一個(gè)好處:如果操作順利完成,下一次硬件重新啟動(dòng)時(shí),fsck將不會重新檢查所有的文件系統(tǒng)。
<Alt><SysRq><r> 關(guān)閉鍵盤的原始模式。當(dāng)你的X窗口程序掛住沒有響應(yīng)時(shí)特別有用。使用這個(gè)組合鍵之后,你可能會接著使用<CTRL><ALT><DEL>程序啟動(dòng)。
<Alt><SysRq><b>
不進(jìn)行同步和卸載就立刻重新啟動(dòng)系統(tǒng)。之后你可能會碰到一下錯(cuò)誤信息。
<Alt><SysRq><o>
關(guān)機(jī) (如果正確設(shè)置以后)
<Alt><SysRq><p>
導(dǎo)出當(dāng)前的寄存器和標(biāo)志到控制臺
<Alt><SysRq><t>
導(dǎo)出當(dāng)前任務(wù)和相關(guān)信息到控制臺
<Alt><SysRq><m>
導(dǎo)出內(nèi)存的內(nèi)容到控制臺
<Alt>SysRq><數(shù)字>
“數(shù)字”從0到9。設(shè)置控制臺記錄的級別,用于控制哪一些內(nèi)核信息將被顯示在控制臺上。舉例,“0”意味著只有象PANIC和OOPS的之類的緊急信息才被顯示在控制臺上。
<Alt><SysRq><h>
顯示幫助信息。還有,任何其他不被支持的 <Alt><SysRq><key> 組合鍵將顯示同樣的幫助。
5.2 幫助命令
命令名 –help | more
顯示一個(gè)簡略的命令幫助(對大部分命令有效)。舉個(gè)例子,試著使用 “cp –help | more”。“--help”和和DOS下的“/h”開關(guān)功能類似。當(dāng)輸出超過一個(gè)屏幕時(shí),加上“more”是很有必要的。
man 命令名
顯示對應(yīng)命令系統(tǒng)的幫助手冊。輸入“q”退出瀏覽器。如果你設(shè)置了高級選項(xiàng),試著輸入“man man”。命令“info 命令名” 和命令“man 命令名”功能相似,但是包含更多的最新信息。幫助手冊對于新手可能有點(diǎn)難于讀懂——因?yàn)樗鼈冏畛跏菍憗斫oUNIX程序員看的。使用“命令名 –help”可以得到一個(gè)簡略容易消化的命令幫助。有些程序自帶README文件或者其他幫助信息文件----建議你可以看看目錄/usr/share/doc。在指定的部分顯示命令幫助,可以使用這樣的命令“man 3 exit”,這個(gè)命令只顯示exit命令幫助手冊的“第三部分”;或者使用命令“man –a exit”, 這個(gè)命令顯示exit命令幫助手冊的“所有部分”。exit命令幫助的所有部分是: 1-用戶命令;2-系統(tǒng)調(diào)用;3-子調(diào)用;4-設(shè)備;5-文件格式;6-游戲;7-雜項(xiàng);8-系統(tǒng)管理;9-新內(nèi)容。打印完整的命令幫助,可以使用命令“man 命令名 | col -b | lpr”(可選項(xiàng)col –b刪除所有的退格鍵和一些難以閱讀的特殊字符)。
info 命令名
顯示指定命令的幫助信息。info 命令是取代man 命令的一個(gè)好處是,它通常帶有最近更新的系統(tǒng)資料。多使用“空格鍵”和“退格鍵”,否則你可能會暈頭轉(zhuǎn)向。按“q”鍵退出。如果覺得用于翻閱的辦法不太好用――你也可以試著使用pinfo命令,看你會不會更喜歡這個(gè)替代品。
apropos 命令名
對所輸入的命令名給出一個(gè)幫助一覽表。
whatis 命令名
給出匹配所輸入命令名的簡短清單。whatis命令有點(diǎn)象apropos――它們使用相同的數(shù)據(jù)庫。不同的是,whatis搜索的是關(guān)鍵字,apropos搜索的是關(guān)鍵字的具體描述。
help 命令名
顯示bash shell內(nèi)置命令的簡單信息。使用 help 命令不帶任何參數(shù)將顯示bash shell所有內(nèi)置的命令。最短的bash shell內(nèi)置命令應(yīng)該包括:alias, bg, cd, echo, exit, export, help, history, jobs, kill, logout, pwd, set, source, ulimit, umask, unalias, unset.
kdehelp
kdehelpcenter
(在X-終端下有效, 使用在你的系統(tǒng)上可以工作的那一個(gè)命令). 使用圖形的瀏覽器顯示整個(gè)系統(tǒng)的幫助。一般來說,KDE幫助通過把對應(yīng)的圖標(biāo)放在KDE控制板上來實(shí)現(xiàn)。對等的GNOME幫助系統(tǒng)可以使用gnome-help-browser命令。
5.3 系統(tǒng)信息
pwd
輸出工作目錄。舉例,在屏幕上顯示我當(dāng)前所在的目錄
hostname
輸出本地主機(jī)的名稱(我正在使用的這一臺機(jī)器)。使用netconf修改機(jī)器的名稱(要求超級用戶權(quán)限)
whoami
輸出我的登錄名稱
id username
輸出用戶標(biāo)識ID(UID)和其對應(yīng)的用戶組標(biāo)識ID(GID),有效的ID(如果不同于真正的用戶ID)和所屬的其他用戶組
date
輸出操作系統(tǒng)的當(dāng)前日期,時(shí)間和時(shí)區(qū)。如果要以ISO標(biāo)準(zhǔn)格式輸出,我必須使用命令“date –Iseconds”。
我可以修改當(dāng)前的日期和時(shí)間到2003-12-31 23:57,使用命令:date 123123572003?;蛘呤褂脙蓚€(gè)命令(比較容易理解和記?。?/p>
date –-set 2003-12-31
date –set 23:57:00
如果要重新設(shè)置硬件時(shí)鐘(BIOS),可以使用命令setclock,要求超級用戶權(quán)限。
time
偵測一個(gè)進(jìn)程所需要的時(shí)間加上其他處理的時(shí)間的總和。不要和上面提到的date命令混淆。比如,我可以使用命令“time ls”來判斷顯示一個(gè)目錄需要多長時(shí)間;或者我可以使用命令“time sleep 10”來測試time命令(睡眠10秒鐘,什么也不做)。
clock
(兩個(gè)命令中的一個(gè))從計(jì)算機(jī)的硬件(由電池供應(yīng)的實(shí)時(shí)的硬件時(shí)鐘)獲得日期/時(shí)間。你可以使用這個(gè)命令來設(shè)置硬件時(shí)鐘,但是setclock可能簡單一些(看前面的兩個(gè)命令)。舉例:“hwclock –systohc –utc”命令把系統(tǒng)時(shí)鐘設(shè)置到硬件時(shí)鐘(以UTC格式)。
who
顯示登錄在系統(tǒng)里的用戶
w
顯示登錄在系統(tǒng)里的用戶,檢查他們正在做什么以及他們的處理器使用狀況。屬于常用的安全方面的命令。
rwho -a
(=remote who,遠(yuǎn)端的who命令)。顯示網(wǎng)絡(luò)里其他計(jì)算機(jī)的用戶登錄狀況。這個(gè)命令要求rwho服務(wù)必須在遠(yuǎn)端機(jī)器上運(yùn)行。如果沒有,以root用戶運(yùn)行setup(RedHat特有)激活“rwho”。
finger 用戶名
顯示對于一個(gè)用戶的系統(tǒng)信息??梢栽囈幌旅睿篺inger root。任何人都可以使用finger命令訪問任何一臺連接到因特網(wǎng)提供finger服務(wù)的計(jì)算機(jī)。比如:finger @finger.kernel.org
last
顯示最后一個(gè)登錄到系統(tǒng)的用戶。經(jīng)常運(yùn)行這個(gè)命令作為系統(tǒng)安全檢測的手段之一是一個(gè)絕好的主意。
lastb
(“=last bad”,最后一個(gè)壞的)顯示最后一個(gè)不成功的登錄嘗試。但是這個(gè)命令在我的系統(tǒng)上不能工作,所以你可能要使用:touch /var/log/btmp
“/var/log/btmp在一般的系統(tǒng)安裝里無效的主要原因是因?yàn)椋核且粋€(gè)包含登錄的出錯(cuò)信息的完全可讀的文件。一個(gè)用戶登錄時(shí)最經(jīng)常犯的錯(cuò)誤是輸入用戶密碼作為用戶名,這樣,文件/var/log/btmp對計(jì)算機(jī)黑客來說簡直是一個(gè)禮物”。(謝謝Bruce Richardson提供這個(gè)信息)。
如果要解決這個(gè)問題,修改該文件的文件訪問權(quán)限為只有root用戶才可以使用命令“lastb”。命令:“chmod o-r /var/log/btmp”
history | more
顯示當(dāng)前用戶在命令行模式下執(zhí)行的最后(1000個(gè))命令。參數(shù)“|more”在輸出滿屏?xí)r暫停。如果要檢查其他用戶在你系統(tǒng)上都運(yùn)行了什么,以root用戶登錄,檢查在該用戶主目錄下的文件“.bash_history”(沒錯(cuò),該文件可以被修改和刪除)。
uptime
顯示自從上一次啟動(dòng)到現(xiàn)在機(jī)器運(yùn)行的總時(shí)間。
ps
(= “print status”或者 “process status”,打印狀態(tài)或者處理狀態(tài))列出由當(dāng)前用戶運(yùn)行的進(jìn)程一覽。
ps axu | more
列出當(dāng)前運(yùn)行的所有進(jìn)程,包括那些不是來自控制終端的進(jìn)程,在顯示用戶進(jìn)程的同時(shí)顯示用戶名。
top
持續(xù)列出正在運(yùn)行的所有進(jìn)程,按CPU的占用率排序(占用率高的排在最前面)。按<CTRL>C退出。
PID = 用戶標(biāo)識
USER = 啟動(dòng)或者擁有該進(jìn)程的用戶.
PRI = 進(jìn)程的優(yōu)先級別(值越大,優(yōu)先級別越低,一般進(jìn)程是0,最高的級別是-20,最低的級別是20。
NI = 優(yōu)化級別(比如,進(jìn)程試圖以預(yù)先給定的優(yōu)先級別的數(shù)值來運(yùn)行)。數(shù)值越高,進(jìn)程的優(yōu)化級別也越高(優(yōu)先級別越低)
SIZE = 進(jìn)程加載到內(nèi)存的代碼+數(shù)據(jù)+堆棧的字節(jié)總數(shù)(以千字節(jié)計(jì)算)
RSS = 物理內(nèi)存被占用的大?。ㄒ郧ё止?jié)計(jì)算)
SHARE = 和其他進(jìn)程共享的內(nèi)存(以千字節(jié)計(jì)算)
STAT = 進(jìn)程的當(dāng)前狀態(tài) S-睡眠, R-運(yùn)行,T-停止或者被跟蹤,D-不可中斷的睡眠,Z-不死的進(jìn)程
%CPU = CPU占用慮百分比(自從上一次屏幕更新以來)
%MEM = 共享物理內(nèi)存的占用率
TIME = 進(jìn)程占用的CPU時(shí)間 (自從進(jìn)程啟動(dòng)以來)
COMMAND=啟動(dòng)該任務(wù)使用的命令行(小心命令行里出現(xiàn)的密碼等信息,有權(quán)限運(yùn)行top命令的用戶都可以看見它們?。?/p>
gtop
ktop
(X終端)在圖形用戶界面下的兩個(gè)top功能。我比較習(xí)慣使用gtop(在gnome自帶)。在KDE環(huán)境下,ktop在K菜單的“System”菜單下的“Task Manager”里。
uname –a
(=“Unix Name”帶可選項(xiàng)“all”)顯示你本地計(jì)算機(jī)信息。也可以使用通信用戶界面的guname(X終端下)得到更好的信息顯示。
XFree86 –version
顯示本地計(jì)算機(jī)的X-Windows的版本。
cat /etc/issue
檢查你的發(fā)行版本。你也可以把你自己的信息放到文件/etc/issue里――在用戶登錄的時(shí)候會顯示。如果你想要顯示更多的信息,還有一個(gè)比較常見的做法是把本地專有的登錄信息內(nèi)容放在文件/etc/motd里 (“motd”=“message of the day”,當(dāng)天信息)
free
內(nèi)存的信息(以千字節(jié)顯示)。“共享”內(nèi)存是指可以被多個(gè)進(jìn)程共同享有的內(nèi)存(比如,可執(zhí)行代碼是“共享”的)。“緩沖”和“緩存”則是用來保留最近訪問的文件和數(shù)據(jù)――當(dāng)其他進(jìn)程需要更多的內(nèi)存時(shí)候這些內(nèi)容可以被減縮。
df -h
(=disk free 硬盤剩余空間) 輸出所有文件系統(tǒng)的硬盤信息(以易讀的模式, h-human readable, 人類可讀)
du /-bh | more
(=disk usuage, 硬盤使用狀況)輸出根目錄“/”下每個(gè)子目錄具體的硬盤使用狀況
cat /proc/cpuinfo
CPU信息――它顯示文件cpuinfo的內(nèi)容。要注意的是文件在/proc目錄下不是真正的文件――它們只是在觀察內(nèi)核信息時(shí)起連接的作用。
cat /proc/interrupts
顯示正在使用的中斷號。在配置一個(gè)新硬件的時(shí)候可能需要瀏覽一下。
cat /proc/version
Linux的版本和其他信息
cat /proc/filesystems
顯示當(dāng)前使用的文件系統(tǒng)的類型
cat /etc/printcap |more
顯示打印機(jī)的設(shè)置
lsmod
(= "list modules". 顯示模塊。必須是root用戶,如果不是,使用命令/sbin/lsmod執(zhí)行)顯示當(dāng)前已經(jīng)加載的內(nèi)核模塊 .
set|more
顯示當(dāng)前的用戶環(huán)境(全部顯示)。一般來說東西太多了。
echo $PATH
顯示環(huán)境變量“PATH”的內(nèi)容。這個(gè)命令也可以用來顯示其他的環(huán)境變量。使用set來察看所有的環(huán)境變量(和前一個(gè)命令功能相同)
dmesg | less
輸出內(nèi)核信息(也就是常說的內(nèi)核內(nèi)部緩存信息)。按“q”退出“less”。也可以使用 “less /var/log/dmesg”來直接檢查最近一次系統(tǒng)啟動(dòng)時(shí)“dmesg”輸出到文件里的內(nèi)容。
chage -l my_login_name
查看我的密碼過期信息
quota
查看我的硬盤區(qū)間(硬盤使用的限制)
sysctl -a |more
顯示所有可設(shè)置的Linux內(nèi)核參數(shù)
runlevel
輸出和前一個(gè)和當(dāng)前的運(yùn)行級別(runlevel)。輸出“N5”意味著:“沒有前一個(gè)運(yùn)行級別”和“5是當(dāng)前的運(yùn)行級別”。要修改運(yùn)行級別,使用“init”,舉例:“init 1”把當(dāng)前的運(yùn)行級別切換到“單用戶模式”。
運(yùn)行級別是Linux的操作模式。運(yùn)行級別可以使用init命令進(jìn)行快捷的修改。舉例,“init 3”將把模式切換到運(yùn)行級別3,以下是運(yùn)行級別的標(biāo)準(zhǔn):
0-中斷 (不要把系統(tǒng)初始設(shè)置“initdeafult”設(shè)成這個(gè)值)
1-單用戶模式
2-多用戶模式,不帶NFS(如果你沒有網(wǎng)絡(luò),和運(yùn)行級別3相同)
3-全功能多用戶模式
4-目前沒有使用
5-X11 (圖形用戶界面)
6-重新啟動(dòng)(不要把系統(tǒng)初始設(shè)置“initdeafult”設(shè)成這個(gè)值)
系統(tǒng)的初始運(yùn)行級別設(shè)置在文件:/etc/inittab里
sar
查看抽取系統(tǒng)活動(dòng)記錄文件信息(/var/log/sarxx, 其中xx指的是當(dāng)前的日期)。sar可以抽取很多種系統(tǒng)統(tǒng)計(jì)信息,包括CPU的平均載荷,i/o的統(tǒng)計(jì),當(dāng)天的網(wǎng)絡(luò)流量統(tǒng)計(jì)或者是幾天以前的數(shù)據(jù)。
5.4 基本操作
ls
dir
列出當(dāng)前目錄的內(nèi)容。dir命令是ls命令的一個(gè)別名,所以這兩個(gè)命令在文件羅列時(shí)使用的顏色代碼是絕對一致的:
深藍(lán)色=目錄
淺灰色=一般文件
綠色=可執(zhí)行文件
紫色=圖形文件
紅色=壓縮文件
淺藍(lán)色=鏈接文件
黃色=設(shè)備文件
棕色=FIFO文件(先進(jìn)先出,命令管道)
ls -al |more
列出當(dāng)前目錄的內(nèi)容,所有文件(包括那些以“點(diǎn)號”開頭的隱含文件),并以“長格式”顯示。把所有輸出定向到管道m(xù)ore,在屏幕滿屏?xí)r可以暫停。ls命令還有很多其他的非常有用的可選項(xiàng)。還有一些快捷鍵可以減少麻煩的命令輸入。試試ll(=長格式羅列,相當(dāng)于ls –l)。另外一個(gè)我經(jīng)常使用的可選項(xiàng)是“ls –ad”(列出所有當(dāng)前目錄下的子目錄但是不輸出它們的內(nèi)容)。
cd 目錄
修改當(dāng)前目錄。只輸入“cd”沒有指定目錄名將切換到你的主目錄。“cd –”將切換到上一次你訪問的目錄,這個(gè)命令在兩個(gè)不同的目錄之間切換時(shí)非常方便。“cd ..”將退到當(dāng)前目錄的上一級目錄(父目錄)。
./程序名
在當(dāng)前目錄下運(yùn)行一個(gè)可執(zhí)行程序。當(dāng)可執(zhí)行文件不在我的PATH下時(shí),“./”是必須的。一個(gè)在我的PATH下的可執(zhí)行文件可以簡單的輸入程序名運(yùn)行而不需要“./”。
shutdown -h now
(要求root用戶)關(guān)機(jī)。一般用于在遠(yuǎn)程關(guān)閉計(jì)算機(jī)。在控制臺上可以使用<CTRL><ALT><DEL>來關(guān)閉計(jì)算機(jī)(所有用戶都可以)
halt
reboot
init 6
(三個(gè)命令都要求root用戶)關(guān)機(jī)或者重新啟動(dòng)計(jì)算機(jī)。主要用于遠(yuǎn)程系統(tǒng)重新啟動(dòng),比上面的命令要簡單一些。如果計(jì)算機(jī)停止響應(yīng)時(shí)非常有用,我一般通過網(wǎng)絡(luò)從其他機(jī)器telnet到停止響應(yīng)的計(jì)算機(jī)上然后重新啟動(dòng)它。在本地計(jì)算機(jī)上,我則一般使用<CTRL><ALT><DEL>來重新啟動(dòng)。
vlock
(舊版本的RedHat沒有這個(gè)功能)鎖住當(dāng)前的文本終端。也可以使用vlock –a鎖住所有的終端(可能不是什么好主意)。最好的做法一般是使用logout命令退出系統(tǒng)。你不能在圖形用戶界面的終端上使用vlock命令――因?yàn)榇翱诠芾砥髯詭б粋€(gè)屏幕保護(hù)程序和一個(gè)加鎖的工具(在KDE下一個(gè)小的鎖型標(biāo)志,鍵盤快捷鍵<CTRL><ALT><L>)。
5.5 文件管理
cp source destination
復(fù)制源文件source 到目標(biāo)文件destination。舉例“cp /home/stan/existing_file_name .”將復(fù)制文件到我的當(dāng)前工作目錄。使用“-R”可選項(xiàng)(代表“recursive”)復(fù)制整個(gè)目錄樹的內(nèi)容,比如:“cp -R my_existing_dir/ ~”將復(fù)制我當(dāng)前工作目錄的一個(gè)子目錄到我的主目錄里。
mcopy source destination
從DOS文件系統(tǒng)復(fù)制一個(gè)文件或者復(fù)制一個(gè)文件到DOS的文件系統(tǒng)里(不需要掛載DOS文件系統(tǒng))。舉例:
“mcopy a:\autoexec.~/junk”。查看“man mtools”了解更多的相關(guān)命令,可以不需要掛載DOS文件系統(tǒng)就可以直接訪問DOS文件,比如命令:mdir, mcd, mren, mmove, mmd, mrd, mformat ...我們不是很經(jīng)常使用mtool的命令是因?yàn)楱D―通??梢园袲OS/MS Windows的文件系統(tǒng)掛載到Linux里,然后用Linux的常規(guī)命令來訪問這些文件。
mv source destination
移動(dòng)文件和更改文件名。對于文件和目錄的移動(dòng)和改名都可以使用這個(gè)命令。
rename 字符串 更新字符串 文件名
很好用的文件名修改工具。舉例:“rename .htm .html *.htm”把所有的以“htm”為擴(kuò)展名的文件名里的“htm”全部換成“html”。
ln source destination
從叫做source的源文件創(chuàng)建一個(gè)叫做destination的目標(biāo)文件的“硬鏈接”。這個(gè)文件看起來好像是一個(gè)源文件的復(fù)制文件,但是實(shí)際上只保留了一個(gè)文件的硬拷貝,只是兩個(gè)(或者多個(gè))目錄的入口指到同一個(gè)文件上。任何對這個(gè)文件所作的修改在所有地方都可以看得見。當(dāng)一個(gè)目錄得入口刪除后,其他得目錄得入口保持不變。“硬鏈接”的局限性是:文件必須在同一個(gè)文件系統(tǒng)里,創(chuàng)建目錄或者一些特殊文件的硬鏈接是不可能的。
ln -s source destination
從叫做source的源文件創(chuàng)建一個(gè)叫做destination的目標(biāo)文件的“標(biāo)志鏈接”(軟鏈接)。“標(biāo)志鏈接”只是指定到“真實(shí)文件”的訪問路由。和“硬鏈接”相比較,它的好處是源文件和目標(biāo)文件可以在不同的文件系統(tǒng)里。“標(biāo)志鏈接”也有自己的不足之處:如果“真實(shí)文件”被移動(dòng)或者刪除,“鏈接”就被破壞――不知道路徑指到什么地方;“軟鏈接”可以產(chǎn)生“循環(huán)參照”(就象數(shù)據(jù)庫或者電子表格,舉例:a指向b,b指向c,c指向a)。簡而言之,標(biāo)志鏈接非常有用而且也很常用(比“硬鏈接”要常用得多),但是同時(shí)可能帶來一些文件管理的復(fù)雜性。
rm files
刪除文件。你必須是擁有這些文件才能夠刪除它們(或者是root用戶)。在很多系統(tǒng)里,你將會被提問是否確認(rèn)刪除文件。如果你不想被提問,使用“-f”(=force,強(qiáng)制刪除)參數(shù)。舉例:rm –f * 將刪除所有當(dāng)前工作目錄下的所有文件,而且沒有任何確認(rèn)提示。
mkdir directory
創(chuàng)建新目錄。
rmdir directory
刪除一個(gè)空目錄
rm -r files
刪除文件,目錄和所有它們的子目錄。作為root用戶,要小心使用這個(gè)命令――如果你在頂級目錄樹上執(zhí)行這條命令,你將刪除系統(tǒng)里所有的文件,到目前為止在Linux里還沒有“取消刪除”的命令。如果你真的想要這么做(再仔細(xì)想想?),這里告訴你該怎么辦:使用命令 ”rm –rf /*”。
rm -rf files
(強(qiáng)制)刪除文件,目錄和所有它們的子目錄如上所述,但是跳過確認(rèn)信息提示。如果你是root用戶,絕對要小心使用這個(gè)命令。
mc
激活“Midnight Commander”文件管理器(看起來有點(diǎn)象Linux下的Norton Commander)。根據(jù)一些恐龍級的計(jì)算機(jī)用戶的反映,這是至今為止最好的文件管理器。
konqueror &
(在X終端下)激活KDE文件管理器。也許這是文件管理器的極品。比微軟的文件瀏覽器要好得多。它集成了網(wǎng)頁瀏覽,PDF文件閱讀和其他功能。真的很酷!
xwc
(在X終端下)另外一個(gè)很出色的文件管理器,是X-Win-Commander的縮寫。比Konqueror的速度快,但是功能上稍微遜色。
nautilus &
(在X終端下)一個(gè)真正很酷的文件管理器。比Konqueror要慢,但是提供了一些有用的功能――比如圖標(biāo)提供文件內(nèi)容預(yù)覽!它甚至可以預(yù)覽聲音文件!但是對CPU速度依賴較大,它在我的1.33GHZ的計(jì)算機(jī)上運(yùn)行出色,但是我從來不在我的133MHZ的老機(jī)器上使用它。
5.6 查看和編輯文件
cat filename | more
這個(gè)命令用于查看一個(gè)被稱為 "filename"的文本文件的內(nèi)容,每次一頁. "|"符號是"pipe" 符號(在很多美式鍵盤里, 它與"\"共用一個(gè)鍵). more 使文本內(nèi)容的輸出顯示停止在每一屏.對于長文件,有時(shí)可以很方便地使用head 和tail 來顯示文件的開始和結(jié)尾部分或用less 使之能上下滾動(dòng). 如果你恰巧使用 cat顯示一個(gè)二進(jìn)制文件,你的終端隨后顯示古怪的字符, 你能使用reset命令恢復(fù)它.
cat filename | less
less filename
(選用二條命令之一) 滾動(dòng)一個(gè)文本文件的內(nèi)容.退出按q . "less" 大致相當(dāng)于 "more" , 該命令來自 DOS,但經(jīng)常 "less"比 "more"更方便因?yàn)樗墒刮夷苁褂脻L動(dòng)條上下滾動(dòng).
head filename
顯示長文本文件的前10行.
tail filename
顯示長文本文件的最后10行. 使用tail -f filename讓文件的末尾持續(xù)讀取該文件的不斷出現(xiàn)的數(shù)據(jù).
pico filename
使用簡單,標(biāo)準(zhǔn)的文本編輯器pico來編輯一個(gè)文本文件. 使用 <Ctrl>x推出. Linux有很多文本編輯器, 包括幾個(gè)基于圖形用戶界面的編輯器. 一個(gè)新的 pico 克隆版(GPLed) 是 nano.
pico -w filename
編輯文本文件, 沒有文本行長度的限制.對于編輯配置文件很方便, 如. /etc/fstab.
kwrite
(在X終端) 很不錯(cuò), "高級文本編輯器". 支持垂直文本選擇!
kate
kedit
gedit
(在X終端).簡單但很好的文本編輯器 (基于GUI).
gxedit
(在X終端)另一多用途,具特色的文本編輯器. 它甚至于能定時(shí)備份.
latte
(在X終端) "代碼" 編輯器, 即, 用于寫程序的無格式文本編輯器.
nedit
(在X終端) 另一種程序編輯器. 很好.
bluefish
(在X終端) html 編輯器 (源碼的句法高亮標(biāo)注, 有很多工具和選項(xiàng)).
ispell filename
一個(gè) ASCII 文本文件的拼寫檢查命令. AbiWord, WordPerfect, StarOffice 和其它文本處理器都使用鍵入就檢查的策略,所以除非需要,否則你不用擔(dān)心簡單的 ispell 命令. Linux 新版本 (如, RH7.0) 包含了功能增強(qiáng)的拼寫檢查模塊, 稱為 aspell,但上面的命令仍然工作.
look thermo
在你的系統(tǒng)單詞目錄(/usr/share/dict/words)中查尋開始于"thermo"的單詞.
wvHtml ms_word_document.doc > filename.html
轉(zhuǎn)化MS Word 文件到 html文件.
5.7 查找文件
find / -name "filename"
在你的文件系統(tǒng)中從根目錄"/"開始搜索被稱為"filename"的文件. "filename"文件名可以包含通配符(*,?).
find命令功能強(qiáng)大.它有很多選項(xiàng)讓你以不同的方式搜索文件.例如, 通過日期, 文件大小, 權(quán)限, 擁有者等等.但一些的搜索查詢要花上幾分鐘編寫. 查看info find. 這里是一些使用 find 來完成一些有用的任務(wù)的復(fù)雜例子.
find $HOME -name core -exec rm -f {} \;
以上命令從你的$HOME目錄開始尋找, 發(fā)現(xiàn)名字是 "core"的文件. 對于每一個(gè)這種被找到的文件,執(zhí)行 "rm -f" (強(qiáng)制刪除文件). {} 代表了已發(fā)現(xiàn)的文件, "\"終止了該命令列表.
find /dev -user "peter" |more
以上命令顯示由用戶 "peter"所擁有的所有設(shè)備的文件.顯示文件名是 find命令的默認(rèn)行為,所以如果這就是我所要做的,無須特別指定.
find /home/peter -nouser -exec ls -l {} \; -ok chown peter.peter {} \;
在/home/peter目錄下找到非有效擁有者的文件.以長格式列出文件.然后將這些文件的所有權(quán)改為用戶"peter" 和 組 "peter". 要處理文件的所有權(quán), 你可能必須是超級用戶.
locate filename
發(fā)現(xiàn)包含字符串"filename"的文件名.這比前面的命令更容易, 更快, 但基于數(shù)據(jù)庫(通常在夜間重建),所以你無法找到剛剛存到文件系統(tǒng)的文件. 為了強(qiáng)制立即更新數(shù)據(jù)庫, 作為超級用戶可以使用: updatedb&.
which executable_name
如果我在命令行鍵入可執(zhí)行文件的名字, 顯示該可執(zhí)行文件的全路徑.例如, 這條命令:
which mozilla。我的系統(tǒng)出現(xiàn):
/usr/bin/mozilla
whereis command
顯示"command"命令的二進(jìn)制文件, 源文件和手冊的位置.
rgrep -r 'celeste' . |more
grep -r 'celeste' . |more
(二條命令, 在你的系統(tǒng)中選用一條).在當(dāng)前目錄和所有子目錄中搜索含有字符串"celeste"所有文件(選項(xiàng)"-r"代表遞歸). 顯示文件名和在文件中包含所尋找的字符串所在的行.
kfind &
(在X終端). 在一個(gè)GUI前端界面使用find and grep. 很不錯(cuò). 命令行末尾的& 使find運(yùn)行在后臺以便使X終端保持可用狀態(tài)。
5.8 X-windows基礎(chǔ)
xinit &
啟動(dòng)基本的X-windows服務(wù)器(沒有 windows管理器). "&"使命令運(yùn)行在后臺.
startx &
啟動(dòng)X-windows服務(wù)器和默認(rèn)windows管理器.就象在帶有Win3.1的DOS下鍵入"win" .
startx -- :1 &
在顯示進(jìn)程1中啟動(dòng)另一個(gè)X-windows(默認(rèn)顯示進(jìn)程為0). 你能夠同時(shí)運(yùn)行幾個(gè) GUI 終端.在這些界面之間使用<Ctrl><Alt><F7>, <Ctrl><Alt><F8>來轉(zhuǎn)換.
xterm
(在X終端) 運(yùn)行一個(gè)簡單的 X-windows終端. 鍵入 exit將關(guān)閉它.對于Xwindows 有其它更高級的”虛擬”終端.我喜歡普遍使用的 konsole 和kvt (二者均來自 kde) 和gnome-terminal (來自 gnome). 如果你需要看起來更奇特的終端, 試試Eterm. 我還可以選擇簡單, 運(yùn)行快的rxvt.
startkde
gnome-session
xfce
afterstep
AnotherLevel
fvwm2
fvwm
(在X終端, 7 條不同的命令, 使用其中之一來啟動(dòng)你喜歡的windows 管理器). 在X服務(wù)器上在一個(gè)X終端啟動(dòng)你喜歡的windows 管理器.
5.9 網(wǎng)絡(luò)應(yīng)用程序
mozilla &
(在X終端下) 運(yùn)行mozilla網(wǎng)頁瀏覽器。現(xiàn)在的版本是Mozilla 1.01 (2002年10月),這個(gè)瀏覽器非常不錯(cuò)。Mozilla是Netscape的一個(gè)衍生品(在老的Linux系統(tǒng)上一般使用NetScape)。還有其他幾個(gè)不錯(cuò)的替代品比如konqueror和galeon (在Linux的X終端上輸入konqueror和galeon直接運(yùn)行)
mozilla –display host: 0.0 &
(在X終端下)在當(dāng)前的計(jì)算機(jī)上運(yùn)行Mozilla如何把輸出定向到叫做“host”的計(jì)算機(jī)的第0個(gè)顯示器的第0個(gè)窗口屏幕。你當(dāng)前的計(jì)算機(jī)必須有權(quán)限在 “host” 計(jì)算機(jī)顯示內(nèi)容(一般的做法是,在“host”計(jì)算機(jī)上的X終端輸入命令“xhost [當(dāng)前的計(jì)算機(jī)名]”。其他的X-Windows的程序也可以通過同樣的辦法來運(yùn)行)。
lynx file.html
以純文本方式來瀏覽html超文本文件。盡管lynx看起來不像基于圖形用戶界面的網(wǎng)頁瀏覽器那么出色,但是它很小巧,幾乎沒有出差錯(cuò)的時(shí)候,也不需要什么特殊的設(shè)置,只要你的網(wǎng)絡(luò)是正常的。
konqueror &
(在X終端下) 集成了文件管理器和網(wǎng)頁瀏覽器的功能。很不錯(cuò),和Mozilla的很多功能可以一比高低。KDE自帶的軟件。
pine
一個(gè)很不錯(cuò),老古董的文本郵件閱讀工具。還有另外一個(gè)老古董是elm。你的Mozilla將會閱讀你因特網(wǎng)上的郵件,pine則讓你閱讀“本地”的郵件。比如,你兒子的郵件或者在你網(wǎng)絡(luò)里的另外一臺計(jì)算機(jī)的cron進(jìn)程發(fā)送給你的信息。命令mail也可以用來閱讀和寫郵件,但是沒有那么方便使用。
mutt
一個(gè)非?;镜羌捌溆杏玫目焖汆]件閱讀工具。
給email使用的一個(gè)基本的操作系統(tǒng)工具。如果你只是要閱讀郵件,可以參考上面的快速email閱讀命令。如果你要在shell腳本上發(fā)送郵件,mail倒是一個(gè)很好的選擇。
kmail &
(在x終端下)很好的圖形用戶界面的郵件程序。我使用kmail,因?yàn)樗萅etscape的mail做得要出色的多。我可以擁有多個(gè)電子郵件帳號,然后分別從本地的smtp服務(wù)器和ISP的pop3服務(wù)器上下載郵件到同一個(gè)收件箱。簡單易用,支持?jǐn)?shù)字簽名。
licq &
(在x終端下)一個(gè)ICQ的客戶端程序。還有另外一個(gè)不錯(cuò)的選擇是kxicq。就的Linux發(fā)行版本不帶licq客戶端程序,你可能需要自己下載安裝。
knode &
(在x終端下)啟動(dòng)我喜歡的新聞組閱讀器(usenet)。比Netscape內(nèi)置的閱讀器要好。
talk username1
和另外一個(gè)登錄在系統(tǒng)里的用戶交談(也可以使用“talk username1@machine_name”來和另外一臺計(jì)算機(jī)上的用戶交談)。要接受會談?wù)埱?,輸入命?#8220;talk username2”。如果你正在忙著而有人想要和你交談,你可以使用命令“mesg n”拒絕接受信息。你可以使用命令who或者rwho來查看有哪些用戶當(dāng)前登錄在系統(tǒng)里。talk是一個(gè)老古董的UNIX標(biāo)準(zhǔn)工具,在某些場合下仍然非常有用。
telnet server
使用telnet協(xié)議連接到另外一臺計(jì)算機(jī)??梢允褂糜?jì)算機(jī)名或者IP地址。你會要求輸入用戶登錄名和密碼――你必須在遠(yuǎn)端計(jì)算機(jī)上有有效的用戶帳號和密碼。telnet將讓你連接到另外一臺計(jì)算機(jī)上好像你就在使用那一臺計(jì)算機(jī)的鍵盤(幾乎完全一樣)。telnet不是非常安全――你輸入的任何東西在網(wǎng)絡(luò)上都是開放的文本模式,包括你的密碼!一個(gè)在“傳輸路徑”上稍微有點(diǎn)專業(yè)知識的系統(tǒng)管理員就可以閱讀你所輸入的內(nèi)容。如果你要加密的傳輸,使用ssh(需要一些系統(tǒng)設(shè)置)。
rlogin server
(=remote login,遠(yuǎn)程登錄)。這將使用你在當(dāng)前登錄系統(tǒng)上使用的用戶名和密碼,如果登錄失敗將會提醒你輸入密碼。
rsh server
(=remote server) 連接到遠(yuǎn)程計(jì)算機(jī)的另外一個(gè)辦法。這將使用你在當(dāng)前登錄系統(tǒng)上使用的用戶名和密碼,如果登錄失敗將會提醒你輸入密碼。
ssh servername –l username
(=secure shell,安全的shell)使用安全連接遠(yuǎn)處登錄到另外一臺計(jì)算機(jī)。ssh是安全的,因?yàn)樗褂靡粚SA“公共-私有”鑰匙壓縮所有傳送的數(shù)據(jù)。如果你沒有指定用戶名,它假設(shè)你使用當(dāng)前的用戶名。
ftp server
ftp到另外一臺計(jì)算機(jī)(還有一個(gè)ncftp帶有一些附加的功能,另外還有基于圖形用戶界面的gftp)。ftp對于從一臺計(jì)算機(jī)上復(fù)制文件到另外一臺計(jì)算機(jī)上非常有用??梢栽囍?#8220;anonymous”(匿名)用戶如果你在遠(yuǎn)程計(jì)算機(jī)上沒有有效帳號。建立連接之后,使用“?”查詢有效的ftp命令一覽。最基本的ftp命令有以下這些:
ls 查看遠(yuǎn)程計(jì)算機(jī)上的文件
ASCII, binary 設(shè)置文件傳輸模式為“文本模式”或者“二進(jìn)制模式”,選擇正確的模式非常重要
get 從遠(yuǎn)程計(jì)算機(jī)上復(fù)制一個(gè)文件到本地計(jì)算機(jī)
mget 從遠(yuǎn)程計(jì)算機(jī)上復(fù)制多個(gè)文件到本地計(jì)算機(jī)
put 從本地計(jì)算機(jī)上復(fù)制一個(gè)文件到遠(yuǎn)端計(jì)算機(jī)
mput 從本地計(jì)算機(jī)上復(fù)制多個(gè)文件到遠(yuǎn)端計(jì)算機(jī)
bye 結(jié)束連接
如果你要使用腳本文件實(shí)現(xiàn)自動(dòng)化,你可以考慮ncftpput和ncftpget,舉例:
ncftpput –u my_user_name –p password –a remote.host.domain.remote_dir *local.html
如果你的計(jì)算機(jī)在防火墻后面,ncftpput可能會有一些問題-你需要配置文件 /home/user_name/.ncftp/firewall。另外一個(gè)選擇,你也可以使用lftp來達(dá)到同樣目的:
lftp –e “mput –a *local.html” –u my_username, my_password ftp://remote.host.domain
如果要保留ftp目錄的鏡像,可以使用命令fmirror:
wget -m --no-parent http://sunsite.dk/linux-newbie
從網(wǎng)站上復(fù)制文件。以上這個(gè)例子使用可選項(xiàng)-m(mirror,鏡像)從主站上獲得完整的文件集合。可選項(xiàng)“--no-parent”限制搜索子目錄里的文件。
minicom
minicom是一個(gè)專門給串行口設(shè)計(jì)的“終端模擬器”??雌饋砗陀闷饋矶己芟?#8220;procomm”或者“telix”。對于串行口通信的故障診斷非常有用。
rx
使用Zmodem,Ymodem和Xmodem協(xié)議接收文件。Xmodem需要文件名。輸入rx –help得到更多的信息。現(xiàn)在還有誰在使用這些協(xié)議?
5.10 文件壓縮和解壓縮
tar -zxvf filename.tar.gz
(=tape archiver,磁帶壓縮) 解壓一個(gè)你從因特網(wǎng)上下載的tarball文件 (*.tar.gz or *.tgz)。
tar -xvf filename.tar
拆解一個(gè)tarred(但是沒有壓縮)的文件。
tar czvpf /var/backups/mybackup.tar.gz /home
cd /; tar xzvpf /var/backups/mybackup.tar.gz '*/myfile.rtf'
作為root用戶,創(chuàng)建一個(gè)/home目錄的備份壓縮文件。第二條命令顯示如何從備份恢復(fù)一個(gè)文件。在tarball文件里將不包含“點(diǎn)”文件(指的是以“ .”開頭的文件或者目錄)。要把所有文件解包,可以使用:tar cvzf filename.tgz * .[a-aA-Z]*
gunzip filename.gz
解壓一個(gè)壓縮文件(*.gz或者*.z)。如果你想把文件壓縮成這種格式,可以使用 gzip(還有zip或者compress命令)。注意一下gunzip有趣的發(fā)音聽起來象“gun zip”(大炮壓縮)。
zcat filename.gz | more
(=zip cat)顯示一個(gè)壓縮文件的內(nèi)容。還有其他一些相關(guān)命令不需要預(yù)先解開壓縮文件就可以使用:zless, zmore, zgrep…等等。
bunzip2 filename.bz2
(=big unzip)解壓一個(gè)由bzip2壓縮工具壓縮的文件(*.bz2)。一般用于很大的文件。
unzip filename.zip
解壓一個(gè)由DOS下的PKZIP壓縮工具壓縮的文件(*.zip)
zip filename.zip filename1 filename2
把兩個(gè)文件“filename1”和“filename2”壓縮到一個(gè)壓縮文件叫做 “filename.zip”。
unarj e filename.arj
解壓一個(gè)使用arj壓縮的文件(*.arj)
lha e filename.lha
解壓一個(gè)使用lha壓縮的文件(*.lha)
uudecode -o outputfile filename
解碼一個(gè)使用uuencode的文件。uu-encoded在使用email傳送非純文本文件的時(shí)候應(yīng)用非常廣泛(uuencoded把任何文件格式都變成文本文件)
cat filename | mimencode -o filename.mime
cat filename.mime | mimencode -u -o filname
(兩個(gè)命令)第一個(gè)命令把文件filename編碼成基于因特網(wǎng)郵件7bit數(shù)據(jù)傳送標(biāo)準(zhǔn)的文件filename.mime。第二個(gè)命令把基于因特網(wǎng)郵件7bit數(shù)據(jù)傳送標(biāo)準(zhǔn)的文件filename.mime解碼成一般文件filename。
ar -x my_archive.a file1 file2
(=壓縮存檔)。從壓縮文件my_archive.a解壓出文件file1和file2。ar壓縮工具更多的用于保存文件庫記錄。
ark &
(在X終端下)。一個(gè)圖形用戶界面的壓縮工具。也許是你管理壓縮文件所需要的方便工具。還有另外一個(gè)選擇是gnozip。
5.11 進(jìn)程控制
ps
(=“print status”or “process status”)列表顯示當(dāng)前正在運(yùn)行的進(jìn)程的進(jìn)程標(biāo)識號(PID)。用ps aux查看你的系統(tǒng)上下在運(yùn)行的所有進(jìn)程(也包括其他用戶的進(jìn)程和沒有終端控制的進(jìn)程),每個(gè)進(jìn)程都顯示其所有者的名字。使用“top”命令持續(xù)顯示當(dāng)前正在運(yùn)行的進(jìn)程列表。
any_command &
在后臺運(yùn)行任務(wù)命令(符號“&”表示“在后臺運(yùn)行前面的命令”)。任務(wù)號(Job_number)(譯者注:和進(jìn)程號)將顯示在屏幕上,你可以使用任務(wù)號將該任務(wù)調(diào)到前臺(見下面)。當(dāng)我從一個(gè)X終端啟動(dòng)一個(gè)GUI程序時(shí),我經(jīng)常使用“&”。
jobs
列表顯示后臺運(yùn)行或是被停止了的進(jìn)程并顯示它們的任務(wù)號。
fg job_number
將一個(gè)后臺運(yùn)行的或是被停止了的進(jìn)程調(diào)到前臺運(yùn)行
bg job_number
將一個(gè)進(jìn)程調(diào)至后臺運(yùn)行,這與在命令行用“&”啟動(dòng)后臺進(jìn)程是完全一樣的。這將重新啟動(dòng)一個(gè)被停止了的后臺進(jìn)程。一般可以用<Ctrl>z來停止當(dāng)前的前臺進(jìn)程。如果你有被停止的或后臺運(yùn)行的任務(wù),你必須在命行輸入exit命令兩次,以從系統(tǒng)中注銷。
batch
at>updatedb<Ctrl>d
在系統(tǒng)負(fù)荷低的時(shí)候執(zhí)行任何命令(經(jīng)常昌需要長時(shí)間完成的任務(wù))。你可以從系統(tǒng)中注銷,但進(jìn)程將繼續(xù)運(yùn)行。當(dāng)命令完成后,一封包含輸出信息的電子郵件將發(fā)送給你。在以上示例中,“at>”是一個(gè)提示符,將要執(zhí)行的命令是updatedb,然后按<Ctrl><d>來結(jié)束命令的輸入(你可以輸入很多命令提交執(zhí)行,用<Enter>來分隔它們)。
at 17:00
在指定時(shí)間執(zhí)行命令。你將被提示輸入要執(zhí)行的命令,直到你按<Ctrl>d。相關(guān)的命令有atq(顯示由at啟動(dòng)的進(jìn)程隊(duì)列)和(從“at 隊(duì)列”中刪除一個(gè)進(jìn)程)
kill PID
強(qiáng)制一個(gè)進(jìn)程終止。首先要用ps確定終止的進(jìn)程的進(jìn)程標(biāo)識號(PID)。
killall program_name
通過程序名終止一個(gè)(組)程序。例如:killall pppd將斷開你的撥號網(wǎng)絡(luò)。
Nohup program_name
(=no hangup)。運(yùn)行程序program_name,并使它在你注銷時(shí)不被中斷。輸出結(jié)果被重定向到你的用戶的主目錄下的nohup.out文件。在你確信不想運(yùn)行一個(gè)交互程序的時(shí)候,使用nohup。
Xkill
(在X終端中)用鼠標(biāo)終止一個(gè)基于GUI的程序。(用你的鼠標(biāo)指到你要終止的進(jìn)程的窗口并點(diǎn)擊)
kpm
(在X終端中)KDE進(jìn)程管理程序
lpc
(由root用戶執(zhí)行)檢查和控制打印機(jī)。輸入“?”可以查看命令列表。
lpq
顯示打印機(jī)隊(duì)列的內(nèi)容。在你可從“K”菜單-實(shí)用程序(“K”menu-Utilities)中調(diào)用基于GUI的“打印機(jī)隊(duì)列”(“Printer Queue”)
lprm job_number
從打印隊(duì)列中刪除一個(gè)打印任務(wù)。
nice program_name
執(zhí)行一個(gè)程序并調(diào)整及優(yōu)先級。因?yàn)樵诒纠袥]有指定優(yōu)先級,將從缺省優(yōu)先級(通常是0)增加10(進(jìn)程將運(yùn)行較慢)。較小的值,代表較高的優(yōu)先級。優(yōu)先級的取值范圍為-20到19。只有root用戶能指定負(fù)值。用top可顯示正在運(yùn)行的進(jìn)程的優(yōu)先級。
renice –18 PID
(以root用戶運(yùn)行)將一個(gè)正在運(yùn)行的進(jìn)行的優(yōu)先級調(diào)整為-18。普通用戶只能調(diào)整他們自己的進(jìn)程,而且只能從當(dāng)前值向上調(diào)(即使其運(yùn)行變慢)??梢允褂胷enice +10 –u peter來減少用戶peter對CPU資源的占用,這樣當(dāng)他運(yùn)行高強(qiáng)度運(yùn)算任務(wù)時(shí),使其他用戶不受到損害。
<Ctrl>c,<Ctrl>z,<Ctrl>s和<Ctrl>q也屬于本章內(nèi)容,但它們在前面已經(jīng)描述過了。簡單地說,它們表示停止當(dāng)前命令,調(diào)度當(dāng)前命令到后臺運(yùn)行,停止數(shù)據(jù)傳輸,恢復(fù)數(shù)據(jù)傳輸。
lsof
列表顯示已經(jīng)打開的文件。如果你是root用戶,所有的打開的文件都將被顯示。使用lsof /dev/tty1你可以指定顯示由第一控制臺所有的進(jìn)程打開的所有文件。要想只顯示網(wǎng)絡(luò)文件(對安全審計(jì)非常有用),你可以使用lsof –I(以root用戶執(zhí)行)。
Watch –n 60 my_command
以60秒為間隔反復(fù)執(zhí)行my_command命令(缺省間隔為2秒)
5.12 一些管理命令
su
(=substitute user id)采用超級用戶(=root)的身份(將提示你輸入口令)。輸入“exit”返回你先前的注冊。不要習(xí)慣于用身份在你的機(jī)器上工作。root帳戶是用于管理的,當(dāng)你需要訪問管理帳戶時(shí),su命令可以使你輕松進(jìn)入。你也可以使用su命令去采用其他任何用戶的身份,例如:su barbara將你變成“barbara”(除非你是超級用戶,否則需要口令)。
Alias ls=”ls –color=tty”
為命令產(chǎn)生一個(gè)別名,用增加一個(gè)關(guān)于顏色的格式。在這個(gè)例子中,別名也叫“ls”,只有當(dāng)輸出被指向一個(gè)終端(而不是文件)時(shí),color選項(xiàng)才被執(zhí)行。如果你想讓系統(tǒng)上的所有用戶始終能使用這個(gè)別名,就把它寫到/etc/bashrc文件中。別名是定制你的系統(tǒng)的一種方便的方法。只輸入“alias”可以查看你的帳戶可使用的別名的列表。使用unalias alias_name可以刪除一個(gè)別名。
cat /var/log/httpd/access_log
顯示自從上次日志文件被“轉(zhuǎn)動(dòng)”(一般每天在cron程序運(yùn)行時(shí)轉(zhuǎn)動(dòng)一次)后,誰連接過你的http(apache)服務(wù)器。前一次的日志文件為access_log.1,再前一次的日志文件access_log.2,依此類推。
cat /var/log/secure
(以root用戶運(yùn)行)檢查重要系統(tǒng)日志。如果你使用Internet訪問的話,定時(shí)檢查的一個(gè)很好的主意。
ftpwho
(以root用戶運(yùn)行)檢查當(dāng)前誰連接在你的ftp服務(wù)器。
printtool
(在X終端上以root用戶運(yùn)行)打印機(jī)配置工具。設(shè)置文件存放在/etc/printcap和/var/spool/lpd目錄下。
setup
(以root用戶運(yùn)行)配置鼠標(biāo)、聲卡、鍵盤、和系統(tǒng)服務(wù)。許多發(fā)行套裝都有自己特定的配置實(shí)用程序,setup是Redhat的缺省配置程序。Mandrake 7.0提供非常好用的DrakConf。
linuxconf
(以root用戶運(yùn)行,在文本模式或是在X終端上)。在這里你可以訪問和更改上百種網(wǎng)絡(luò)設(shè)置。功能非常強(qiáng)大――一次不要改動(dòng)太多東西,改動(dòng)你所不清楚的項(xiàng)目時(shí)一定要小心。Redhat網(wǎng)絡(luò)配置工具netconf是linuxconf的一個(gè)子集,因此它比較簡單而且很多時(shí)候容易使用。
mouseconf
(以root用戶運(yùn)行)。一個(gè)配置鼠標(biāo)的簡單工具(在完成初始安裝后)。Mandrake也有一個(gè)類似的工具mousedrake。
kudzu
(以root用戶運(yùn)行)。自動(dòng)檢測和配置硬件。如果你的鼠標(biāo)(或是其他串行設(shè)備)有問題,你可能想要停用kudzu,這樣它在系統(tǒng)啟動(dòng)過程中就不會運(yùn)行(kudzu弄亂了我的系統(tǒng),使我的鼠標(biāo)不能工作)。你可以在你需要時(shí)手動(dòng)運(yùn)行它。
timeconfig
(以root用戶運(yùn)行)為你的系統(tǒng)設(shè)置時(shí)區(qū)。我的計(jì)算機(jī)的硬件時(shí)鐘保存的時(shí)間是UTC(協(xié)調(diào)世界時(shí),也稱GMT或格林威治時(shí)間)。這樣,我避免了任何在轉(zhuǎn)換時(shí)區(qū)時(shí)(由夏時(shí)制、通過網(wǎng)絡(luò)跨洲傳送文件或是旅行外出引起的)可能發(fā)生的問題。時(shí)慣上在服務(wù)器上使用UTC時(shí)間來避免時(shí)間“倒流”(有時(shí)會引發(fā)一些問題)。文件的時(shí)間戳總是保持使用UTC時(shí)間,并使用時(shí)區(qū)信息來顯示當(dāng)?shù)貢r(shí)間。例如,許多應(yīng)用程序(如編譯器,數(shù)據(jù)庫)是依靠比較文件的時(shí)間戳來區(qū)分新的文件與舊的文件的。保證時(shí)區(qū)信息正確是很重要的。我將當(dāng)?shù)貢r(shí)間作為BIOS時(shí)間來避免發(fā)生問題的唯一原因是,當(dāng)我的從一臺計(jì)算機(jī)上進(jìn)行雙重啟動(dòng),而其它操作系統(tǒng)(MS Windows?)不知道如何處理UTC。然后,我通過選擇“Hardware clock set to GMT”來告訴Linux服務(wù)器,這Linux樣在需要UTC時(shí),可以計(jì)算出來。
setclock
(以root用戶運(yùn)行)。從當(dāng)前l(fā)inux系統(tǒng)時(shí)間設(shè)置計(jì)算機(jī)硬件時(shí)鐘。首先,使用“date”命令設(shè)置Linux系統(tǒng)時(shí)間。例如,我可以將日期和時(shí)間改為2000-12-31-23:57,使用命令:
date 123123572000
然后將時(shí)間寫到硬件時(shí)鐘,使用命令:
setclock
dateconfig&
(在X終端上,以root用戶運(yùn)行,否則將提示你輸入root用戶口令)。一個(gè)非常棒的GUI實(shí)用工具,用于設(shè)置操作系統(tǒng)時(shí)間、硬件時(shí)鐘和時(shí)區(qū)信息,告之BIOS使用UTC時(shí)間,而不需要前面的兩個(gè)命令。
Xvidtune
(在X終端上)調(diào)整所有分辯率下的顯示器設(shè)置,以消除黑帶,上下左右調(diào)整顯示,等等。(首先使用顯示器自身的調(diào)整按鈕,使得文本模式在屏幕上正確顯示)。然后用xvidtune針對每種分辯率調(diào)整顯示頻率,使其在屏幕上正確顯示。為了使改動(dòng)保持下去,在屏幕上顯示頻率,然后將它們傳送到/etc/X11/XF86Config設(shè)置文件中。在較新型的顯示器上,你可能更愿意使用顯示器的內(nèi)建設(shè)置來調(diào)整你的顯示器,xvditune主要是給那些沒有記憶設(shè)置參數(shù)的功能的老式顯示器用的。
Kvideogen
(在X終端上)為定義你的屏幕分辯率產(chǎn)生“模式行”。在產(chǎn)生設(shè)置文本(“模式行”)后,你可以將其復(fù)制-粘貼到的設(shè)置文件/etc/X11/XF86Config中(或是/etc/X11/XF86Config-4,如果你使用X-sever 4.00版本)。另見快捷鍵<Ctrl><Alt><+>。
SVGATextMode 80x25x9
SVGATextMode 80x29x9
(以root用戶運(yùn)行)修改文本終端的文本分辯率。在示例中(第二行)我我將文本屏幕改為80列x29行,字符高度為9像素。第一行定義的是一個(gè)常用的分辯率,這樣第二行命令在系統(tǒng)上不能工作,我能通過按兩次<ArrowUP>(譯者注:上箭頭)和<Enter>來重新控制屏幕??梢允褂媚男┠J饺Q于你的顯示卡和你的顯示器的刷新頻率――需要編輯文件/etc/TextConfig(以root用戶運(yùn)行),去掉相應(yīng)行前面的注釋符,使SVGATextMode知道系統(tǒng)支持哪些模式。
SuperProbe
(以root用戶運(yùn)行)一個(gè)檢測顯示卡類型和內(nèi)存數(shù)量的實(shí)用工具。
cat /var/log/Xfree86.0.log
一個(gè)對檢測X-window設(shè)置過程中的錯(cuò)誤非常有用的日志文件。文件名中的“0”表示“顯示方式0”-如果你需要“顯示方式1或2等”的日志文件,你需要相應(yīng)地修改文件名。
lspci
顯示主板信息和PCI擴(kuò)展槽內(nèi)都插了哪些卡。我的舊的計(jì)算機(jī)有ISA(或EISA)插槽,沒有PCI。
lsdev
顯示硬件信息(DMA,IRQ,IO端口)
lsof|more
顯示系統(tǒng)上打開的文件。
kernelcfg
(在X終端上以root用戶運(yùn)行)增加、刪除核心模塊的GUI工具。每個(gè)模塊就象一個(gè)設(shè)備驅(qū)動(dòng)程序―Linux內(nèi)核中支持一個(gè)設(shè)備或功能的一段程序。你在命令行使用insmod命令也可以完成同樣的工作。
lsmod
(=list modules)顯示當(dāng)前加載的核心模塊。一個(gè)模塊就象一個(gè)設(shè)備驅(qū)動(dòng)程序-它對一個(gè)硬件或一個(gè)特性提供操作系統(tǒng)核心支持。
modprobe –l|more
列出系統(tǒng)內(nèi)核的所有可用模塊。哪些模塊可用是由如何編譯Linux核心決定的。幾乎每一種可能的模塊特性都可以被編譯到內(nèi)核中,以“硬連接”(可能會快一點(diǎn),但不能刪除)或“模塊”(可能會慢一點(diǎn),但可以根據(jù)需要裝載/刪除),或“無“(根本不支持這個(gè)特性)等方式。系統(tǒng)核心所支持的模塊(編譯過的)都以文件的形式存在/lib/modules(及其子目錄)下,當(dāng)你丟失模塊時(shí),你可以流覽這些目錄,可以找到線索。如果系統(tǒng)核心不支持你所需要的模塊,你可以啟用該模塊并重新編譯系統(tǒng)核心(這是因?yàn)樵b的核心都只包括常用的模塊,沒有預(yù)編譯一些試驗(yàn)性的模塊。還有,如果你有一些該死的邊緣硬件…)。
modprobe sb
裝載soundblaster(sb)模塊。使用前面的命令來查找已經(jīng)加載的核心模塊。
insmod parport
insmod ppa
(以root用戶運(yùn)行)向內(nèi)核中插入模塊(一個(gè)模塊大致相當(dāng)于一個(gè)DOS設(shè)備驅(qū)動(dòng)程序)。平常,我用“modprobe”(見前面的命令)來插入模塊 。這個(gè)例子展示如何為支持一個(gè)外置并口100MB ZIP驅(qū)動(dòng)器來插入模塊(好像在RH6.0和6.1下,外部ZIP驅(qū)動(dòng)器以其他方式工作都會有問題)。對于250MB外置ZIP,可用imm模塊來代替ppa模塊。
rmmod module_name
(以root用戶運(yùn)行,但不是必須)從系統(tǒng)核刪除module_name模塊。
depmod –a
(以root用戶運(yùn)行)為核心建立模塊依賴關(guān)系表。除非你想/etc/modules而不想重新啟動(dòng)系統(tǒng),否則不必要。
setserial /dev/cua0 port 0x03f8 irq 4
(以root用戶運(yùn)行)將一個(gè)串行接口設(shè)置為非標(biāo)準(zhǔn)設(shè)置。這個(gè)例子顯示第一個(gè)串口的標(biāo)準(zhǔn)設(shè)置(cua0或ttyS0)。第二個(gè)串口(cua1ttyS1)的PC標(biāo)準(zhǔn)設(shè)置為:端口地址0x02f8,中斷3。第三個(gè)串口(cua2或ttyS2)為:0x03e8,中斷4。第四個(gè)串口(cua3或ttyS3)為:0x02e8,中斷3,。如果你要它們在啟動(dòng)時(shí)即被設(shè)置,將這些設(shè)置加到文件中。詳見man setserial。
Tunelp
(以root用戶運(yùn)行,很少用到)調(diào)整并行端口。
/sbin/chkconfig –level 123456 kudzu off
(以root用戶運(yùn)行)用來檢查/啟用/禁用在各個(gè)運(yùn)行級下自動(dòng)啟動(dòng)的系統(tǒng)服務(wù)的工具。一般情況下,如果我需要在當(dāng)前運(yùn)行級下啟用/禁用一個(gè)服務(wù),我只用Redhat ntsysv實(shí)用程序,但chkconfig給了我更多的靈活性。另外一個(gè)可用的工具是(基于X界面)。這個(gè)例子展示如何禁用kudzu服務(wù),使它在任何運(yùn)行級都不啟動(dòng)(它弄亂了我的一臺機(jī)器上的鼠標(biāo)設(shè)置)。顯示在所有運(yùn)行級下啟動(dòng)/停止的服務(wù),我使用:
chkconfig –list|more
檢查服務(wù)的當(dāng)前狀態(tài),我使用:
service –status –all
立即啟動(dòng)一個(gè)服務(wù),我可以使用一些東西,像(啟動(dòng)一個(gè)ftp服務(wù)器):
service su-ftpd start
重新啟動(dòng)網(wǎng)絡(luò)服務(wù)(如:在我修改了它的配置后),我可以用:
service smb restart
symlinks –r –cds /
(以root用戶運(yùn)行)檢查和修改系統(tǒng)上的符號鏈接。從根開始,遍歷所有的子目錄(選項(xiàng) –r=“rescuer”)修改絕對路徑鏈接雜亂鏈接為相對鏈接,刪除空懸鏈接,縮短超長鏈接(選項(xiàng) -cds)。如果你的文件系統(tǒng)覆蓋幾個(gè)不同的硬盤分區(qū),你需要為每個(gè)分區(qū)重新運(yùn)行這個(gè)命令(如:symlinks –r –cds /usr)。
cd /usr/src/linux-2.4.7-20
make xconfig
(在X終端上以root用戶運(yùn)行)一個(gè)漂亮的GUI前端工具,可在編譯自定義內(nèi)核的準(zhǔn)備過程中配置內(nèi)核選項(xiàng)。(例子中的目錄名中包含我的的版本號,如果你的內(nèi)核版本號不是本例中的,你需要修改你的目錄名。你需要“Tk”解釋器來地,并且安裝了核心的源代碼)。“make xconfig”的其他實(shí)現(xiàn)方法是“make config”(在文本模式下運(yùn)行一個(gè)腳本,并回答一些問題)和“make menuconfig”(運(yùn)行一個(gè)基于文本菜單驅(qū)動(dòng)的配置工具)。
更多信息;Less /usr/share/doc/HOWTO/Kernel-HOWTO
在使用“”完成新內(nèi)核的配置選擇后,你要執(zhí)行以下命令來編譯新的內(nèi)核;
make clean(這是一個(gè)可選的命令;它清除舊的目標(biāo)文件,它可能會延長編譯過程,但在一些情況下它可以阻止一些問題的發(fā)生)
make dep
make bzImage
最后的命令需要一些時(shí)間來完成(可能是10分鐘或是2個(gè)小時(shí),這取決于你的硬件)。它產(chǎn)生文件arch/386/boot/bzImage, 即是你的新內(nèi)核。接下來:
make modules
make modules_install
現(xiàn)在新內(nèi)核安裝在/lib/modules/KernelName
如果你想運(yùn)行多個(gè)內(nèi)核的時(shí)候,不要改動(dòng)模塊目錄的名字-內(nèi)核必須能夠找到與其匹配的模塊。如果你想改變內(nèi)核的名字,你必須編輯主內(nèi)核makefile文件(如:/usr/src/linux-2.2.14/Makefile),修改最開始的幾行。我的文件(缺省TH 7.2)是:
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 7
EXTRAVERSION = -10custom
可以用來顯示當(dāng)前運(yùn)行的內(nèi)核的名字。我的是。
我“原裝”的RedHat內(nèi)核配置在/boot/config-2.4.28-24(RedHat 8.0)文件中,同時(shí)一些附加的“custom”內(nèi)核設(shè)置在目錄/usr/src/linux-x.x.x./configs中。我可以從命令的對話框中加載它們中的任何一部分。
現(xiàn)在我能安裝新內(nèi)核。安裝過程涉及到將新內(nèi)核復(fù)制(同時(shí)改名)到目錄中:
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,這樣在啟動(dòng)時(shí)我可以選擇用哪一個(gè)內(nèi)核(新的或舊的)引導(dǎo)。強(qiáng)烈建議保存舊內(nèi)核做為一個(gè)引導(dǎo)的選項(xiàng)(萬一新內(nèi)核拒絕引導(dǎo))。
如果你使用initrd(initial ram disk)做兩階段引導(dǎo),你還需要生成一個(gè)包含在啟動(dòng)過程中內(nèi)核用到的模塊的映像:
mkinitrd /boot/initrd-2.4.7-10custom.img 2.4.7-custom
看一下如何給內(nèi)核打補(bǔ)釘,快速參考:
cd /usr/src/linux-2.4.7-10
patch –E –p1 < /home/download/the_patch_to_apply
閱讀/usr/doc/HOWTO/Kernel_HOWTO也會有所幫助,man depmod也行。配置、編譯和安裝一個(gè)新內(nèi)核非常簡單,但它也能導(dǎo)致許多問題。編譯內(nèi)核也是檢測你的硬件的一個(gè)好方法,因?yàn)樗婕暗较喈?dāng)大量的計(jì)算。如果你的硬件整合得不好的話,你會收到“signal 11”錯(cuò)誤(請閱讀/usr/doc/FAQ/txt/GCC_SIG11/FAQ)。
ldconfig
(以root用戶運(yùn)行)為動(dòng)態(tài)鏈接庫的加載程序(“ld”)重新產(chǎn)生聯(lián)接和緩存區(qū)。當(dāng)你在系統(tǒng)上安裝一個(gè)新的動(dòng)態(tài)鏈接庫的后,你也許想要運(yùn)行l(wèi)dconfig。(每次當(dāng)你引導(dǎo)計(jì)算機(jī)的時(shí),它都會重新運(yùn)行一遍,所以如果你重新啟動(dòng),就不必再人為運(yùn)行一遍了)。
mknod /dev/fd0 b 2 0
(=make node,以root用戶運(yùn)行)手動(dòng)創(chuàng)建一個(gè)設(shè)備文件。這個(gè)例子展示的是創(chuàng)建一個(gè)與你的第一個(gè)軟驅(qū)設(shè)備相關(guān)聯(lián)的設(shè)備文件,當(dāng)你意外地刪除了該設(shè)備的時(shí)候,它會十分有用。選項(xiàng)是:b=塊設(shè)備,c=字符設(shè)備,p=FIFO設(shè)備,u=無緩沖字符設(shè)備。兩個(gè)整數(shù)指定了主設(shè)備號和次設(shè)備號。平時(shí)我也不知道m(xù)knod需要哪些參數(shù)。要?jiǎng)?chuàng)建設(shè)備時(shí),我先閱讀man MAKEDEV來找出設(shè)備的名字,然后運(yùn)行/dev/MAKEDEV腳本文件,這個(gè)腳本文件可根據(jù)名字知道是何種設(shè)備――見下一個(gè)命令。如果提到的手冊沒有幫助的話,我推薦包含內(nèi)核源代碼的最終文檔:
less /usr/src/linux/Documentation/devices.txt
cd /dev
./MAKEDEV audio
(以root用戶運(yùn)行)恢復(fù)“audio”設(shè)備,我剛好把它搞得有點(diǎn)不靈了。也可見前面的命令。
5.13 硬盤和軟盤實(shí)用工具
fdisk /dev/had
(=“fixed disk”,以root用戶運(yùn)行)Linux硬盤驅(qū)動(dòng)器分區(qū)工具(DOS有一個(gè)同名的工具)。在上面的例子中,我指定要對第一個(gè)IDE接口上的第一個(gè)硬盤進(jìn)行分區(qū),因此是“hda”。如果我是你,我會在對任何分區(qū)使用之前備份所有重要數(shù)據(jù)。我不知道有誰喜歡用fdisk(無論是Linux,還是DOS版本)――我更喜歡簡單易用的cfdisk,見下一個(gè)命令。
cfdisk /dev/had
(以root用戶運(yùn)行)基于菜單的硬盤驅(qū)動(dòng)器分區(qū)工具。比更容易使用(見前一個(gè)命令)。物理驅(qū)動(dòng)器包括基本分區(qū)(每個(gè)硬盤上最多4個(gè)),和邏輯分區(qū)(數(shù)量上沒有限制)。一個(gè)基本分區(qū)是可以引導(dǎo)的。邏輯分區(qū)必須包含在“擴(kuò)展分區(qū)”中;擴(kuò)展分區(qū)不能使用其本身,它們只是邏輯分區(qū)的一個(gè)容器。當(dāng)對一個(gè)硬盤進(jìn)行分區(qū)時(shí),一般我會:(1)創(chuàng)建一個(gè)基本分區(qū),(2)使這個(gè)基本分區(qū)可以引導(dǎo),(3)創(chuàng)建一個(gè)擴(kuò)展分區(qū),(4)在擴(kuò)展分區(qū)中創(chuàng)建邏輯分區(qū)。
sfdisk –l –x |more
(以root用戶運(yùn)行)列出你的系統(tǒng)上的所有驅(qū)動(dòng)器的分區(qū)表(包括擴(kuò)展分區(qū))。
parted /dev/had
Linux(ext2)和DOS(FAT和FAT32)硬盤分區(qū)的處理工具。它可以創(chuàng)建、刪除、移動(dòng)、復(fù)制、壓縮和擴(kuò)展分區(qū)。你在使用它之前應(yīng)該備份你的數(shù)據(jù)并仔細(xì)閱讀info parted。
fdformat /dev/fd0H1440
mkfs –c –t ext2 /dev/fd0
(=floppy disk format, 兩個(gè)命令,以root用戶運(yùn)行)對第一個(gè)軟驅(qū)(dev/fd0)中的高密度軟盤(1440KB)執(zhí)行低級格式化。然后建立一個(gè)文件系統(tǒng)(-t ext2),檢查/標(biāo)出壞塊(-c)。建立文件系統(tǒng)相當(dāng)于高級格式化。你還可以將軟件盤格式化成不同的密度(非標(biāo)準(zhǔn)的);試一下 ls /dev/fd0<Tab>。你能夠使用fdformat /dev/fd0格式化成缺省密度(一般是1440K)。
badblocks /dev/fd01440 1440
(以root用戶運(yùn)行)對一張高密度軟盤進(jìn)行壞塊檢查并將結(jié)果顯示到屏幕上。參數(shù)“1440”指定了要檢查1440塊。這個(gè)命令不修改軟盤。bakblocks也可對用來對硬盤表表進(jìn)行檢查,但是在我進(jìn)行全面讀-寫檢查之前,我必須先將文件系統(tǒng)卸下:
mount [查出哪個(gè)設(shè)備包含我要進(jìn)行壞塊檢查的磁盤分區(qū)]
umount /dev/hda8 [卸下選定的分區(qū)]
badblocks –n /dev/hda8 [以非破壞讀-寫方式檢查選定的分區(qū),這樣我的數(shù)據(jù)就不會被刪除了]
mount /dev/hda8 [如果沒有壞塊信息顯示出來,將該分區(qū)安裝回去]
如果發(fā)現(xiàn)壞塊,它們能夠被在硬盤上標(biāo)記出來,這用它們就不會再被使用了:
e2fsck –c /dev/hda8
fdck –t ext2 /dev/hda2
(=file system check,以root用戶運(yùn)行)檢查和修復(fù)文件系統(tǒng),例如在由于電源故障導(dǎo)致的“不干凈”關(guān)機(jī)之后。上面的這個(gè)例子執(zhí)行對分區(qū)hda2的檢查,文件系統(tǒng)型為ext2。你必須卸下分區(qū)或以“單用戶模式”(在LILO提示符處輸入“linux single”或以用戶使用 init 1 來進(jìn)入單用戶模式)引導(dǎo)來執(zhí)行這個(gè)命令。如果在文件系統(tǒng)檢查過程中發(fā)現(xiàn)錯(cuò)誤,我選擇缺省設(shè)置來修復(fù)。
Tune2fs –j /dev/hda2
(以root用戶運(yùn)行, 只用于支持ext3的內(nèi)核—RH7.2)調(diào)整文件系統(tǒng)的可調(diào)參數(shù)。上面的這個(gè)例子展示如何一個(gè)磁盤分區(qū)(本例為hda2)增加日志,成功地將文件系統(tǒng)轉(zhuǎn)為ext3(日志)文件系統(tǒng)。要完成這個(gè)轉(zhuǎn)換,你還須編輯/etc/fstab文件,將文件系統(tǒng)類型由ext2改為ext3,否則你將遇到問題――ext2不能安裝一個(gè)非正常關(guān)閉的日志文件系統(tǒng)。要檢查文件系統(tǒng)的類型,使用mount(無參數(shù))或cat /etc/mtab。如果你需要關(guān)于的更多信息,試一下:
http://www.symonds.net/~rajesh/howto/ext3/ext3-6.html
tune2fs的其它參數(shù)可以讓你添加一個(gè)卷標(biāo)簽,調(diào)整安裝文件系統(tǒng)(被檢查過)的數(shù)量(最大安裝數(shù)),或激活定時(shí)文件系統(tǒng)檢查(很少用到)。
dd if=/dev/fd0H1440 of=floppy_image
dd if=floppy_image of=/dev/fd0H1440
(兩個(gè)命令,dd=”data duplicator”)在當(dāng)前目錄下創(chuàng)建一個(gè)軟盤的映像文件,名為“floppy_image”。然后將floppy_image(文件)復(fù)制到另一張軟盤。功能像DOS中的“DISKCOPY”。
mkbootdisk –device /dev/fd0 2.4.2-3
制作一張應(yīng)急引導(dǎo)軟盤。在系統(tǒng)安裝過程中你會被問到是否要制作一張引導(dǎo)盤。以上命令展示在安裝后如何制作啟動(dòng)盤,使用第一個(gè)軟盤驅(qū)動(dòng)器(/dev/fd0)。你可以運(yùn)行uname -a或ls /lib/modules來知道內(nèi)核名字(命令中需要,這里是2.4.2-3)。
5.14 用戶帳戶和文件權(quán)限管理
useradd user_name
passwd user_name
(以root用戶運(yùn)行)創(chuàng)建一個(gè)新帳戶(你必須是root用戶)。例如: useradd Barbara。在接下來的一步別忘了為新用戶設(shè)置口令。用戶的主目錄(被創(chuàng)建的)是 /home/user_name。 你也可以用一個(gè)等價(jià)的命令adduser user_name
ls –l /home/peter
useradd peter –u 503 –g 503
(以root用戶運(yùn)行)創(chuàng)建一個(gè)用戶來匹配一個(gè)已有目錄(可能是以前安裝中的)。如果用戶ID和組ID(每個(gè)文件顯示出來的)以前都是503,那么我用匹配的用戶名,用戶ID(UID)和組ID(GID)來創(chuàng)建用戶。這樣在系統(tǒng)升級后可以避免由于改變用戶文件的所有權(quán)而引起的混亂。
userdel user_name
刪除一個(gè)帳戶(你必須是root用戶)。用戶主目錄和未發(fā)送郵件必須單獨(dú)處理(人工處理,因?yàn)槟惚仨殯Q定如何處理這些文件)。還有一個(gè)命令groupdel來刪除組。
groupadd group_name
(以root用戶運(yùn)行)在你的系統(tǒng)上創(chuàng)建一個(gè)新組。在一個(gè)家用計(jì)算機(jī)上不是必須的,但對于有少量用戶的家用計(jì)算機(jī)是十分方便的。
例如,我能夠創(chuàng)建一個(gè)“friends”組,使用:
groupadd friends
然后編輯文件,將我的名字和朋友的名字加到組的列表中的一行,最后一行看起來像這樣:
friends:x:502:stan,pete,marie
然后,我改變一個(gè)指定文件的權(quán)限,這樣這個(gè)文件就屬于我和組“friends”。
chgrp friends my_file
這樣,這個(gè)組的成員就有訪問這個(gè)文件的特殊權(quán)限,而其他人則沒有,改變讀和寫權(quán)限的例子如下:
chmod g=rw o= my_file
另外一種做法是將寫的權(quán)限賦予所有用戶,即使是在家庭電腦上絕對是不安全的。
groups
列出當(dāng)前用戶所屬的的組。我還可以使用groups john來找出用戶john所屬的組。
usermod
groupmod
(以root用戶運(yùn)行)兩個(gè)命令行工具,用于修改用戶帳戶和組,而不用修改相關(guān)文件:/etc/passwd, /etc/shadow, etc/group /etc/gshadow。一般是不必要的。
userconf
(以root用戶運(yùn)行)菜單驅(qū)動(dòng)的用戶配置工具(口令政策、組信息更改、增加用戶等)。它是linuxconf包的一部分,但可以單獨(dú)運(yùn)行。
passwd
修改當(dāng)前帳戶的口令。如果你是root用戶,你能為任何用戶修改口令,使用命令:passwd user_name
chfn
(=”change full name”)修改你的信息(全名,辦公室房間號,電話號碼,等等)。用finger命令運(yùn)行于你的login_name,便會顯示這些信息。
change –M 100 login_name
(=”change age”)將用戶的口令有效期設(shè)為100天。
quota username
setquota username
quotaon /dev/had
quotaoff /dev/had
管理用戶磁盤限額的一組命令。一般在家中電腦上不用。“Disk quota”意思是每個(gè)用戶使用磁盤空間的限制。這些命令分別是顯示用戶限額,設(shè)置用戶限額,在一個(gè)給定的文件系統(tǒng)(本例是/dev/hda)上啟用限額系統(tǒng),關(guān)閉限額系統(tǒng)。我所見過的典型的發(fā)行套裝的缺省設(shè)置:對所有用戶沒有限制,所有文件系統(tǒng)上的限額系統(tǒng)都關(guān)閉。
kuser
(以root用戶運(yùn)行,在X終端上)使用一個(gè)GUI程序管理用戶和組。好用且基本包括你平常管理用戶帳戶的命令。
chmod perm filename
(=change mode)修改你的文件的訪問權(quán)限(除非你是root用戶,你可以修改任何文件)。你能夠以三種方式(讀()、寫()、執(zhí)行())訪問三個(gè)級別(所有者()、文件所有者同組成員()、系統(tǒng)上其他人())的用戶的文件。檢查當(dāng)前訪問權(quán)限,使用:
ls –l filename
如果這個(gè)文件可以為所有用戶以所有方式訪問,其權(quán)限顯示為:rwxrwxrwx
第一個(gè)三位表示文件所有者的權(quán)限,第二個(gè)表示擁有這個(gè)文件的組的權(quán)限,第三個(gè)表示其他人的權(quán)限。沒有權(quán)限顯示為“-”。
當(dāng)設(shè)置權(quán)限時(shí),以下符號被用到:“u”(=用戶或文件所有者),“g”(擁有文件的組),“o”(其他人),“a”(所有人,如所有者,組和其他人),“=”(設(shè)置權(quán)限為),“+”(增加權(quán)限),“-”(取消權(quán)限),“r”(讀文件的權(quán)限),“w”(寫文件的權(quán)限,代表修改文件的權(quán)限),“x”(執(zhí)行文件的權(quán)限)。
例如,這個(gè)命令為所有的用戶增加讀文件的權(quán)限:
chmod a+r junk
這個(gè)命令將取消所有用戶執(zhí)行文件的權(quán)限:
chmod o-x junk
你也可以去這里,有更多的信息。
你可以用命令umask(參閱man umask)為你創(chuàng)建的新文件設(shè)置缺省權(quán)限。
Chown new_ownername filename
Chgrp new_groupname filename
改變文件的所有者和組。在你復(fù)制一個(gè)文件供其他人使用時(shí),你應(yīng)當(dāng)使用以上兩個(gè)命令。只有文件的所有者才能刪除它。
lsattr files
列表文件屬性。不常用到,因?yàn)楹芏嘧钣腥さ膶傩赃€沒有實(shí)現(xiàn)。屬性可以用命令來修改。這些屬性是:A(=修改文件時(shí)不要更新時(shí)間),S=(同步更新),a(=此文件只能追加),c(=在內(nèi)核級上壓縮文件,尚未實(shí)現(xiàn)),i(=不變的文件), d(=不可轉(zhuǎn)儲),s(=安全刪除)和u(不可刪除,尚未實(shí)現(xiàn))。一個(gè)有趣的用法是使一個(gè)文件不可刪除,即使root用戶也不行(除非設(shè)置者清除該屬性)。
Sudo /sbin/shutdown –h now
(作為一個(gè)普通用戶,會被提示輸入用戶口令)運(yùn)行“shutdown”命令(或另外一個(gè)系統(tǒng)管理員授權(quán)你可以運(yùn)行的命令)。使用,系統(tǒng)管理員可能授權(quán)指定用戶執(zhí)行指定命令,而不用出示root用戶口令。/etc/sudoers文件必須被置為類似如下內(nèi)容:
my_login_name my_host_computer_name=/sbin/shutdown
pwck
grpck
(以root用戶運(yùn)行,兩個(gè)命令)驗(yàn)證口令文件和組文件的完整性。
pwconv
grpconv
(以root用戶運(yùn)行)可能你不需要這些命令。它們將舊格式的口令和組文件轉(zhuǎn)換成更安全的“shadow”文件。
5.15 程序安裝
rpm –ivg package_name-version.platform.rpm
(以root用戶運(yùn)行)安裝一個(gè)軟件包(選項(xiàng)“i”,必須是破折號(dash)后面的第一個(gè)字母),采用交互方式(選項(xiàng)“v”=verbose)并以數(shù)值方式顯示安全進(jìn)程(選項(xiàng)“h”)。rpm代表“RedHat軟件包管理器”
rpm –Uvh package_name-version.platform.rpm
(以root用戶運(yùn)行)升級(選項(xiàng)“U”,必須是破折號(dash)后面的第一個(gè)字母)一個(gè)軟件包,采用交互方式(選項(xiàng)“v”)并以數(shù)值方式顯示安全進(jìn)程(選項(xiàng)“h”)。
rpm –ivh –force –nodep package_name-version.platform.rpm
(以root用戶運(yùn)行)安裝一個(gè)軟件包,忽略任何可能的沖沖和包依存關(guān)系問題。
rpm –e package_name
(以root用戶運(yùn)行)卸載(選項(xiàng)“e”=刪除(erase))軟件包package_name。請注意在軟件包名稱最后沒有“-version.platform.rpm”(軟件包名稱與用來安裝它的*.rpm文件名一樣,只是沒有了破折號、版本、平臺和“rpm”)。
rpm –qpi package_name-version.platform.rpm
查詢(選項(xiàng)“”,必須是破折號(dash)后面的第一個(gè)字母)還沒有安裝的軟件包(選項(xiàng)“p”),顯示軟件包包含的信息(選項(xiàng)“i”)。
rpm –qpl package_name-version.platform.rpm
查詢(選項(xiàng)“”,必須是破折號(dash)后面的第一個(gè)字母)還沒有安裝的軟件包(選項(xiàng)“p”),顯示軟件包包含的全部文件的列表(選項(xiàng)“l”)。
rpm –qf a_file
查找文件“a_file”所屬的已安裝的軟件包。如果你偶然刪除了一個(gè)文件,現(xiàn)在需要找到正確的軟件包來重新安裝,這個(gè)命令很有用。
rpm –qi package_name
查詢已安裝的軟件包,顯示其自身的信息。請注意,請注意在軟件包名稱最后沒有“-version.platform.rpm”
rpm –qai | more
查詢并顯示系統(tǒng)上安裝的所有的軟件包的信息。在我的簡單的系統(tǒng)上,我安裝了大約600多個(gè)軟件包,很顯然,我必須花很多時(shí)間來閱讀它們的信息。要查一下你的軟件包的數(shù)量,試試:
rpm –qa | grep –c ‘’
要找出一個(gè)指定的軟件包,試:
rpm –qa | grep –I the_string_to_find
(選項(xiàng) –i 使grep命令忽略了字符的大小寫,所以無論是大寫,還是小寫,都會匹配的)
rpm –Va
檢驗(yàn)(選項(xiàng)“V”)我的系統(tǒng)上所有的(選項(xiàng)“a”)軟件包。它列出自安裝后被改動(dòng)過的所有文件。下面是一些關(guān)于輸出的解釋:
. 測試通過
C 這是一個(gè)配置文件
5 MD5 校驗(yàn)實(shí)敗
S 文件大小不同
L 符號鏈接已經(jīng)改變
T 文件修改時(shí)間已經(jīng)改變
D 設(shè)備文件被修改
U 擁有文件的用戶已經(jīng)改變
G 擁有文件的組已經(jīng)改變
M 文件模式(權(quán)限和/或文件類型)已經(jīng)被修改
kpackage
gnorpm
glint
(在X終端上,如果你想能夠安裝軟件包,以root用戶運(yùn)行,3個(gè)命令)Redhat軟件包管理器(rpm)的GUI前端。RH5.2中g(shù)lint的現(xiàn)在看來太舊了。gnorpm是“正式的”GUI軟件包安裝程序,老的版本非常慢并且很難懂,但是新的版本(RH7.0中的)有了很大的改善。kpackage是“正式的”KDE程序,且一直都非常好用。用它們中的任何一個(gè)都以查看系統(tǒng)上安裝了哪些軟件包,不有哪些Redhat CD上有但還沒安裝,顯示軟件包的信息,如果你想的話還可以安裝它們(安裝必須由root用戶來進(jìn)行)。
5.16 訪問磁盤驅(qū)動(dòng)器/分區(qū)
mount
關(guān)于裝載驅(qū)動(dòng)器的細(xì)節(jié)見這里。以下的命令展示一些例子。
mount –t auto /dev/fd0 /mnt/floppy
(以root用戶運(yùn)行)裝載軟驅(qū)。/mnt/floppy目錄必須存在,而且是空,并不能是你的當(dāng)前目錄。在/etc/fstab中不必有設(shè)置,因?yàn)槟闶莚oot用戶而且在命令行提供了所有需要的信息。文件系統(tǒng)的類型將被自動(dòng)檢測。
mount –t auto /dev/cdrom /mnt/cdrom
(以root用戶運(yùn)行)裝載CD。你可能需要?jiǎng)?chuàng)建或修改/dev/cdrom文件,它取決于你的CDROM在哪兒。/mnt/cdrom目錄必須存在,而且是空,并不能是你的當(dāng)前目錄。
mount /mnt/floppy
(以普通用戶或root用戶運(yùn)行)以用戶的身份裝載軟驅(qū)。在/etc/fstab中必須設(shè)置。/mnt/floppy目錄不能是你的當(dāng)前目錄
mount /mnt/cdrom
(以普通用戶或root用戶運(yùn)行)以用戶的身份裝載CD。在/etc/fstab中必須設(shè)置。/mnt/cdrom目錄不能是你的當(dāng)前目錄
umount /mnt/floppy
卸載軟驅(qū)。目錄/mnt/floppy不能是你(或其他任何人)的當(dāng)前工作目錄。取決于你的設(shè)置,你可能不能卸載一個(gè)別人裝載的驅(qū)動(dòng)器。
Mount /mnt/hda1 /mnt/dos_drive1
從本機(jī)硬盤裝載一個(gè)DOS(MS Windows)分區(qū)。
5.17 網(wǎng)絡(luò)管理工具
netconf
(以root用戶運(yùn)行)一個(gè)非常好的菜單驅(qū)動(dòng)的網(wǎng)絡(luò)設(shè)置工具。
ping machine_name
檢驗(yàn)?zāi)闶欠衲芎推渌麢C(jī)器相連(給出機(jī)器名或IP),當(dāng)結(jié)束的時(shí)候按<Ctrl>C(如果不按<Ctrl>C,命令將一直執(zhí)行)象所有的Linux命令一樣,ping有許多選項(xiàng),包括“ping of death”攻擊,看起來你可以ping許多服務(wù)器,導(dǎo)致它們死機(jī)――試一下選項(xiàng) -f 和 -s。
route –n
顯示內(nèi)核路由表。
host host_to_find
nslooup host_to_find
dig ip_to_find
(三個(gè)命令,用任意一個(gè))在缺省域名服務(wù)器(DNS)上查詢一個(gè)Internet名字(或IP地址)host_to_find。用這個(gè)方法你可以檢查你的DNS是否工作。如果你只知道一個(gè)主機(jī)的IP地址,你還可以查出它的名字。
traceroute host_to_trace
查看你的信息到達(dá)host_to_trace的線路。(可以是主機(jī)名字或IP地址)
mtr host_to_trace
(以root用戶運(yùn)行)一個(gè)強(qiáng)大而好用的工具,結(jié)合了舊的ping和traceroute的功能(RH 7.0)。
nmblookup –A ip_address
查看一個(gè)聯(lián)網(wǎng)的MS Windows主機(jī)(用NetBIOS名字)的狀態(tài)。這個(gè)命令與Windows的nbtstat命令是等價(jià)的。
ipfwadm –F –p m
(RH 5.2命令,RH6.0見下一個(gè)命令)為保護(hù)本機(jī)設(shè)置防火墻IP轉(zhuǎn)發(fā)策略。(不是很安全,但是簡單)。目的:你的家庭網(wǎng)絡(luò)的所有機(jī)器在外界看起來是一臺十分繁忙的機(jī)器,而且如你被允許從所有的計(jì)算機(jī)上同時(shí)瀏覽Internet。
echo 1 > /proc/sys/net/ipv4/ip__forward
ipfwadm-wrapper –F –p deny
ipfwadm-wrapper –F –a –m –S xxx.xxx.xxx.0/24 –D 0.0.0.0/0
(三個(gè)命令,RH 6.0)。與前一個(gè)命令相同, 用你的家庭網(wǎng)絡(luò)分配給你的機(jī)器的“C”類地址替換那些x。更多的詳細(xì)信息見這里。
ipchains –P forward DENY
ipchains –A forward –s xxx.xxx.xxx.0/24 –d 0.0.0.0/0 –j MASQ
(兩個(gè)命令,RH 7.0)與前面的命令一個(gè),但是在RH 7.0下工作。
ipchains –L
列出所有的防火墻規(guī)則。用來檢查你的防火墻設(shè)置是否工作。
iptables –L
Linux內(nèi)核2.4.x使用新的防火墻”iptables”(IP列表)。上面的例子列出防火墻規(guī)則。
firewall-config
(以root用戶運(yùn)行,在X終端上)建立你的自定義防火墻的GUI工具。
ifconfig
(以root用戶運(yùn)行)顯示當(dāng)前激活的網(wǎng)絡(luò)接口(ethernet,ppp,等等)。你的第一塊網(wǎng)卡顯示為
eth0,第二塊網(wǎng)卡為eth1,等。通過調(diào)制解調(diào)器的第一個(gè)端口為ppp0,第二個(gè)端口為ppp1,等等。“lo”是“loopback only”接口,它總是處于激活狀態(tài)。使用選項(xiàng)(詳見ifconfig --help)來設(shè)置接口。
ifup interface_name
(以普通用戶運(yùn)行/sbin/ifup)啟動(dòng)一個(gè)網(wǎng)絡(luò)接口,例如:
ifup eth0
ifup ppp0
ifup ppp1
只有當(dāng)在ppp設(shè)置中授予權(quán)限(使用netconfig)時(shí),用戶才能啟動(dòng)或關(guān)閉ppp接口。要啟動(dòng)一個(gè)ppp接口(撥號連接),我一般使用KDE“K”菜單中的kppp(或在X終端上輸入 kppp)。
/etc/rc.d/init.d/network restart
使用正常初始化腳本重新啟動(dòng)網(wǎng)絡(luò)(與系統(tǒng)引導(dǎo)過程中的一樣)。這對于你只是手工修改了網(wǎng)絡(luò)設(shè)置是很有用的。Init.d中列出的其他的服務(wù)也可以相似方法停止、啟動(dòng)或重啟動(dòng)(用stop,start或restart選項(xiàng)調(diào)用腳本)。
ifdown interface_name
(以普通用戶運(yùn)行/sbin/ifdown)。關(guān)閉網(wǎng)絡(luò)接口,如:ifdown ppp0。也可參見前面的命令。
顯示關(guān)于你的網(wǎng)絡(luò)狀態(tài)的信息。
(以用戶運(yùn)行,如果你希望在X終端上使用基于的界面)。結(jié)合了traceroute和ping的功能的網(wǎng)絡(luò)診斷工具。在RH 7.0版本中。
nmap ip_number
顯示ip_number機(jī)器上的端口映射。對于建立你的網(wǎng)絡(luò)設(shè)置的安全真的十分有用,因?yàn)槟憧梢钥吹介_放的端口。nmap包括在RH7.0“Linux PowerTools”CD上,是一個(gè)非常方便的GUI前端,“nmapfe”。namp還能做操作系統(tǒng)的“指紋”。一般情況下,人們(和他們的ISPs)不喜歡他們的計(jì)算機(jī)端口被掃描(他們視它為可能是攻擊前的搜索)。所以他們一發(fā)覺就會抱怨,如果你在你自己的計(jì)算機(jī)上練習(xí)怎樣使用nmap,你的ISP(一般都找他們抱怨)可能很快就會找你的。我是怎么知道的?
ethereal
(在X終端上,以root用戶運(yùn)行)網(wǎng)絡(luò)分析工具――查看通過你的計(jì)算機(jī)的網(wǎng)絡(luò)流量。包括在RH7.0“Linux PowerTools”CD上,在某些場合使用ethereal可能是違反規(guī)定的,在工作場合非授權(quán)使用可能會導(dǎo)致被解雇。
tcpdump –i ppp0 –a -x
(以root用戶運(yùn)行)以ASCII碼和十六進(jìn)制顯示所有通過第一個(gè)電話撥號接口的網(wǎng)絡(luò)流量。可能會顯示很多。是一個(gè)相當(dāng)原始的工具,但它很實(shí)用,可以用來建造你所需要的自定義的監(jiān)聽和日志工具。
5.18 與音樂有關(guān)的命令
cdplay play 1
播放音頻CD的第一首曲目。使用cdplay播放整個(gè)CD。當(dāng)你聽夠了的時(shí)候,使用cdplay stop。
eject
得到一個(gè)免費(fèi)的咖啡杯托盤。:)))。(彈出CDROM托架)。這個(gè)命令對是缺省的,但也能用來從指定的安裝點(diǎn)或設(shè)備來彈出可移除的介質(zhì)。如:我可以從一個(gè)并口(外置)的zipdrive彈出
zipdisk(以root用戶運(yùn)行),使用:eject /dev/sda4
play my_file.wav
播放一個(gè)wav音頻文件。
rec my_file.wav
從麥克風(fēng)錄制一個(gè)wav音頻文件。
mpg123 myfile.mp3
播放一個(gè)mp3文件。
mpg123 –w my_file.wav my_file.mp3
從一個(gè)mp3音頻文件生成一個(gè)wave音頻文件。如果你想把一些mp3文件寫到一個(gè)正常的音頻CD上,這個(gè)命令非常有用――你首先要把mp3文件轉(zhuǎn)為 *.wav格式。不要驚訝轉(zhuǎn)換速非常之慢――解壓 mp3文件是需要高強(qiáng)度的CPU運(yùn)算的。
xmms &
(在X終端上)非常好的GUI mp3播放器。
freeamp &
(在X終端上)另一個(gè)非常好的GUI mp3播放器。
lame input_file output_file
MP3 編碼器。你可能需要自己下載和安裝這個(gè)程序(Linux標(biāo)準(zhǔn)發(fā)行版本不提供這個(gè)程序,是因?yàn)橛嘘P(guān)MP3壓縮技術(shù)的專利的無妨爭議)。
knapster
(在X終端上)啟動(dòng)程序下載MP3文件,這些文件是其他napster用戶共享出以供下載的。你可以將你的MP3文件共享出來。當(dāng)使用它時(shí),感覺相當(dāng)cool。Gnutella和FreeNet將很快取代它們->那種感覺更c(diǎn)ool。
cdparanoia –B “1-“
(CD抓軌工具)讀出一個(gè)音頻CD的內(nèi)容,將其轉(zhuǎn)存成當(dāng)前目錄的wave音頻文件,每個(gè)文件一首曲目。“1-”選項(xiàng)代表“從第一首曲目到最后一首”。-B選項(xiàng)強(qiáng)制將每首曲目放到一個(gè)單獨(dú)的文件。
grip&
(在X終端上)一個(gè)GUI界面的抓軌工具(見前面一個(gè)命令)。
playmidi my_file.mid
播放一個(gè)MIDI文件。playmidi –r my_file.mid將在屏幕上顯示文本模式的效果。
sox audio_file another_format_audio_file
=Sound exchange man sox sox
kscd
(在X終端上)CD播放器。
kmidi
(在X終端上)MIDI播放器。
kmid
(在X終端上)MIDI/卡拉OK播放器。
kmix
(在X終端上)聲音混響器。
studio&
(在X終端上)音效工作室――編輯聲音文件,增加效果,等等。你可以從RH 7.x的PowerTools CD上得到。
extace&
(在X終端上)聲音可視化工具。
festival –tts my_file.txt
讀文件my_file.txt的內(nèi)容(ASCII碼文本)。“festival”是一個(gè)語音合成器,發(fā)行在RedHat 7.0 “Linux PowerTools” CD中。要從命令行讀出一些東西,你需要啟動(dòng)“festival”,然后在“festival>”提示符處,輸入適當(dāng)?shù)拿睿?#8220;scheme”語言解釋器),如在這個(gè)例子中(黑體代表提示符):
festival
festival>(SayText “good dog, really good dog”)
festival>(quit)
5.19 與圖形相關(guān)的命令
kghostview my_file.ps
(在X終端上)在屏幕上顯示一個(gè)postscript(或pdf)文件。我也能用看起來比較舊的ghostview 或gv來達(dá)到同樣的效果。我也能夠從視窗中打印postscript文件。
xpdf my_file.pdf
(在X終端上)查看一個(gè)pdf文件。要查看pdf文件,我更愿意使用Adobe Acrobat Reader的 Linux版本(會快一些)。
acroread my_file.pdf
你可以從http://www.adobe.com/products/acrobat/readstep2.html下載它。
enscript my_file.txt –U 2
將一個(gè)文本文件轉(zhuǎn)換為postscript格式并在缺省打印機(jī)上打印出來。我還能將輸出發(fā)送到一個(gè) postscript文件。
enscript my_file.txt –U 2 –o my_file.ps
選項(xiàng)-U 2使enscript在一張紙當(dāng)打印2頁邏輯頁面,這樣可以節(jié)省紙張,并帶來方便,壓縮打印輸出。你還可以選擇每頁紙4頁邏輯頁,一頁紙上打印得越多,就越難認(rèn)。 Enscript真的很靈活,詳見man enscript,在許多格式選項(xiàng)中進(jìn)行選擇。
ps2pdf my_file.ps my_file.pdf
從一個(gè)postscript文件生成一個(gè)pdf(Adobe portable document format)文件。
mpage –2 my_file.ps > new_file.ps
打印postscript文件my_file.ps,在一個(gè)物理頁上輸出兩個(gè)邏輯頁。將輸出結(jié)果保存在文件new_file.ps中。
ps2ps file.ps new_file.ps
psnup –nup 2 –pletter new_file.ps new_file2.ps
生成一個(gè)物理頁上包含兩個(gè)邏輯頁的文件的另一種方法。首先,我用“postscript distiller”將一個(gè)postscript文件簡化(代價(jià)是文件變得大一點(diǎn))。然后,我用psnup工具產(chǎn)生new_file2.ps文件,它每一個(gè)物理頁包含兩個(gè)邏輯頁。我也可以將四或八個(gè)邏輯頁放到一個(gè)物理頁上。
gimp
(在X終端上)一個(gè)看起來不怎么樣但功能非常強(qiáng)大的圖像處理器。要學(xué)習(xí)一段時(shí)間才能使用,但它對藝術(shù)家來說真是太好了,幾乎沒有什么不能處理的。用你的鼠標(biāo)右鍵調(diào)出本地菜單,學(xué)習(xí)怎樣使用圖層。將你的文件保存為本地的gimp文件格式*.xcf(保存圖層,供以后編輯),只有將其平面化(flatten)并保存為png格式(或其他什么格式),你才可以使用。“學(xué)會如何做出正確的選擇是關(guān)鍵。”
gphoto
(在X終端上)強(qiáng)大的照片編輯器和相機(jī)圖像檢測程序。
kpaint
(在X終端上)簡單的位圖畫圖程序(“畫筆”類型)。
xfig
(在X終端上)一個(gè)簡單的畫圖程序。對于制作基本的草圖或流程圖非常有用。
dia
(在X終端上)一個(gè)用預(yù)制組件畫流程圖的工具。
display my_picture
(在X終端上)顯示一幅圖片,只能瀏覽。你還可以輸入display &,然后從菜單中選擇文件睞查看圖像,旋轉(zhuǎn),改變顏色,采用特定效果,等等。 Display是ImageMagick軟件包的一部分,在一起的還有下面描述的幾個(gè)實(shí)用工具。
identify –verbose my_picture
給出關(guān)于圖像文件my_picture的描述:格式、類型、分類、大?。ㄒ韵袼貫閱挝唬?、顏色數(shù)量、大小(以字節(jié)為單位)、等等。
convert –geometry 60x80 mypicture.gif out_small_picture.gif
將一個(gè)圖片轉(zhuǎn)換為60x80像素尺寸。下面有一個(gè)關(guān)于如何在不同圖形文件格式進(jìn)行轉(zhuǎn)換的例子。
animate –delay 6x5 pic1 pic2 pic3
連續(xù)顯示兩個(gè)或多個(gè)圖片。在示例中,圖片文件名為pic1,pic2,pic3,圖片的間隔時(shí)間為0.06秒,整個(gè)展示過程在5秒中之內(nèi)反復(fù)進(jìn)行。
combin pic1 pic2 combined_pic.miff
將兩個(gè)或多個(gè)圖像加到另一個(gè)圖像中。例如你可以將一個(gè)圖標(biāo)加到每個(gè)圖像中。
montage –geometry 800x600+0+0 my_picture montage.niff
從my_picture文件生成一個(gè)平鋪的圖像上,尺寸為800x600,邊框?yàn)?x0。輸出結(jié)果送到 montage.miff。
zgv my_picture
在一個(gè)vga屏幕上顯示一個(gè)圖片以供瀏覽。
giftopnm my_file.giff > my_file.png
pnmtopng my_file.pnm > my_file.png
將一個(gè)有版權(quán)的圖形文件轉(zhuǎn)換為一個(gè)原始的、方便的pnm文件。然后將pnm文件轉(zhuǎn)換為png文件,png文件是Internet圖片的更新更好的標(biāo)準(zhǔn)(技術(shù)上更好,再加上沒有被giff專利擁有者控告的危險(xiǎn))。
xwd –out my_cupture_screen_file.xwd
(在X終端上)捕捉X-windows屏幕上的內(nèi)容,并保存到X-windows“轉(zhuǎn)存”圖像文件(*.xwd)。以后你可以使用轉(zhuǎn)換工具將xwd文件轉(zhuǎn)換為你喜歡的格式。在KDE環(huán)境下,你可以使用鍵盤快捷鍵<Alt><PrintScreen>或<Ctrl><Alt><PrintScreen>來復(fù)制當(dāng)前窗口工將整個(gè)桌面送到剪貼板。
convert my_capture_screen_file.xwd my_capture_screen.jpg
將X-windows屏幕轉(zhuǎn)存文件*.xwd轉(zhuǎn)換為*.jpg格式文件。這個(gè)轉(zhuǎn)換工具能夠?qū)芏辔募袷竭M(jìn)行轉(zhuǎn)換。
import –display 192.5.100.10:0 –window root my_file.jpeg
從192.5.100.10服務(wù)器上顯示端口0上運(yùn)行的X-windows上捕捉root屏幕的內(nèi)容。輸出文件是my_file.jpeg(可以根據(jù)所給出的文件擴(kuò)展名改變文件格式)。為了能夠捕捉屏幕的內(nèi)容,你必須有對屏幕寫的權(quán)限(在X-終端上運(yùn)行命令xhost + 可以將這一權(quán)限賦予任何用戶)。選項(xiàng)見man important。
ksnapshot
(在X終端上)基于GUI的捕捉屏幕內(nèi)容的工具。
xine Frankenstein.avi &
(在X終端上)。從文件“frankenstein.avi”看電影??雌饋砟汶娨暋?/p>
5.20 幾個(gè)小游戲
你的系統(tǒng)上很可能安裝了許多小游戲。這個(gè)只是從我的標(biāo)準(zhǔn)Linux發(fā)行版CD上的一個(gè)例子。
kpat
(在X終端上)單人紙牌游戲。sol(快)和pysol(慢但是?)是另外的兩個(gè)選擇。我喜歡:sol –variation=freecell&
xboing
(在X終端上)非常好的彈球游戲。
xboard
(在X終端上)國際象棋。對于我來說很好玩。
koquest &
(在X終端上)和你的兒子進(jìn)行一場權(quán)力的角逐。非常好的板上游戲。
kmines
(在X終端上)掃雷。
civserver
civclient
(在X終端上)(在X終端上)為FreeCivization游戲啟動(dòng)一個(gè)服務(wù)器(第一個(gè)命令)。然后,當(dāng)服務(wù)器運(yùn)行正常后,啟動(dòng)一個(gè)客戶端(第二個(gè)命令)。有些人也啟動(dòng)其他的客戶端程序和你玩。FreeCiv在RH7.0 CD上。
fgfs
“Flight Gear”飛行模擬器。
=======================================
/bin 所有用戶都可以使用的系統(tǒng)程序
/sbin 超級用戶可以使用的系統(tǒng)程序
/usr/bin 所用用記都可以使用的應(yīng)用程序
/usr/sbin 超級用戶才可以使用的應(yīng)用程序
/usr/local/bin 所有用戶都可以使用的與本地機(jī)器有關(guān)的程序
/usr/local/sbin 超級用戶可以使用的與本地機(jī)器有關(guān)的程序