1、處理特殊的文件名
假設(shè)Linux系統(tǒng)中有一個(gè)文件名叫“-aaa”,如果我們想對(duì)它進(jìn)行操作,例如現(xiàn)在要?jiǎng)h除它,如果我們按照一般的刪除方法在命令行中輸入rm -aaa命令,界面將會(huì)提示我們是無(wú)效選項(xiàng)(invalid option),原來(lái)由于文件名的第一個(gè)字符為 - ,Linux把文件名當(dāng)作選項(xiàng)了,我們可以使用“--”符號(hào)來(lái)解決這個(gè)問(wèn)題,例如我們可以輸入rm -- -aaa命令來(lái)刪除-aaa文件。如果是其他特殊字符的話可以在特殊字符前加一個(gè)“”符號(hào),或者用雙引號(hào)把整個(gè)文件名括起來(lái)。
2、修復(fù)Linux下超級(jí)用戶的密碼
如果超級(jí)用戶將密碼忘記,就無(wú)法進(jìn)入系統(tǒng),也無(wú)法管理和使用系統(tǒng)。本來(lái)這種事不太可能發(fā)生,但是在一些Linux單機(jī)使用者,尤其是初學(xué)者中,卻是比較容易發(fā)生。一般的解決方法就是格式化硬盤(pán)來(lái)重新安裝系統(tǒng),但這有點(diǎn)兒小題大作了。準(zhǔn)備好bootdisk和rootdisk兩張軟盤(pán),從軟驅(qū)啟動(dòng),啟動(dòng)到root盤(pán)并出現(xiàn)shell提示符。將Linux根目錄分區(qū)mount至/mnt目錄,比如你的Linux在硬盤(pán)第一分區(qū),就在命令行中輸入mount /dev/hda1 /mnt,然后進(jìn)入mnt目錄,將其中的etc/passwd文件改名,輸入mv /mnt/etc/passwd /mnt/etc/passwd.bak就可以了;接著使用命令cp /etc/passwd /mnt/etc/passwd將軟盤(pán)上的/etc/passwd文件復(fù)制到硬盤(pán)中的etc目錄下,這樣重新由硬盤(pán)啟動(dòng),登錄時(shí)就不會(huì)詢問(wèn)超級(jí)密碼;最后使用mv/etc/passwd.bak passwd命令將passwd文件改回,再運(yùn)行passwd命令重新設(shè)定密碼就可以了。
3、直接進(jìn)行Linux的安裝工作
通常我們?cè)诎惭b某個(gè)操作系統(tǒng)軟件時(shí),需要該系統(tǒng)的引導(dǎo)盤(pán)啟動(dòng)才能安裝。但我們?cè)诎惭bLinux操作系統(tǒng)時(shí),可以利用該系統(tǒng)光盤(pán)中的一個(gè)名為loadlin.exe的DOS軟件,將Linux核心直接調(diào)入內(nèi)存,并由Linux核心代替當(dāng)前操作系統(tǒng)來(lái)接管計(jì)算機(jī),并進(jìn)入Linux的安裝界面。在安裝Linux時(shí),我們只要在運(yùn)行對(duì)話框中輸入loadlin E:imagesvmlinuz root=/dev/ram initrd=E:imagesinitrd.img這個(gè)命令就可以直接安裝Linux了;其中E是光驅(qū)盤(pán)符,E:imagesvmlinuz為L(zhǎng)inux核心名。
4、快速啟動(dòng)Linux系統(tǒng)
隨著個(gè)人計(jì)算機(jī)配置的日益提高,在自己的計(jì)算機(jī)上安裝Linux系統(tǒng)已經(jīng)不是什么新鮮的事了。假設(shè)我們的計(jì)算機(jī)上同時(shí)裝有windows和Linux兩個(gè)操作系統(tǒng),應(yīng)該如何啟動(dòng)Linux呢?是否每次都需要重啟計(jì)算機(jī),通過(guò)LiLo引導(dǎo)?其實(shí)如果我們?cè)赿os下,有一種簡(jiǎn)單快速啟動(dòng)Linux的方法,那就是load Linux。loadlin.exe是在dos下的可執(zhí)行程序,它可以在純dos環(huán)境下迅速啟動(dòng)Linux,而且無(wú)需重啟計(jì)算機(jī),通常我們可以在光盤(pán)的/kernels目錄下可以找到這個(gè)程序。如果不知這個(gè)程序被放置于安裝盤(pán)的何處,可以使用“find -name loadlin*”命令來(lái)尋找。找到之后將其復(fù)制到dos分區(qū)中,同時(shí)還需要復(fù)制一份你所使用的Linux內(nèi)核文件??梢酝ㄟ^(guò)windows直接從光盤(pán)復(fù)制,也可在Linux環(huán)境下使用mcopy命令將文件copy到dos分區(qū);接著再編寫(xiě)一個(gè)Linux.bat的批處理文件,文件內(nèi)容如下:c:loadlin c:vmlinuz root=/dev/hda1 ro
其中我們假設(shè)loadlin.exe和vmlinuz這兩個(gè)內(nèi)核文件都在c盤(pán)根目錄,而root為L(zhǎng)inux根設(shè)備,而且Linux處于硬盤(pán)第一分區(qū),所以設(shè)備名為/dev/hda1,ro意為readonly。以后在dos下要啟動(dòng)Linux時(shí),運(yùn)行Linux.bat就可以了。這樣啟動(dòng)Linux快速高效,大大的減少了系統(tǒng)自檢時(shí)等待的時(shí)間。
5、消除Xwindows下的死機(jī)現(xiàn)象
如果我們?cè)赬windows狀態(tài)下運(yùn)行Linux時(shí),由于硬件本身的問(wèn)題或者自己操作上的不當(dāng),有時(shí)侯可能會(huì)導(dǎo)致系統(tǒng)突然失去響應(yīng),也就是我們常見(jiàn)到的一種死機(jī)現(xiàn)象,其實(shí)此時(shí)系統(tǒng)并沒(méi)有死機(jī)。我們可以用兩個(gè)常用的方法來(lái)消除這種現(xiàn)象:第一,用鍵盤(pán)上的復(fù)合鍵Ctrl+Alt+Backspace來(lái)關(guān)閉當(dāng)前正在運(yùn)行的任務(wù);第二,首先按住鍵盤(pán)上的Ctrl+Alt+F2復(fù)合鍵,讓系統(tǒng)切換到另一個(gè)操作臺(tái),然后登陸到系統(tǒng),再執(zhí)行#ps -ax|grep startx命令,這將會(huì)列出你的Xserver的進(jìn)程標(biāo)識(shí)(PID),接著在命令行中輸入如下命令就能消除Xwindows下的死機(jī)現(xiàn)象:#kill -9 PID_Number,最后通過(guò)Alt+F1復(fù)合鍵返回原來(lái)的平臺(tái)。
6、快速關(guān)閉Linux系統(tǒng)
舊版本的的Linux/UNIX系統(tǒng)必須先運(yùn)行shutdown命令,然后才能關(guān)閉電源,但最新版本的Linux/UNIX系統(tǒng)已經(jīng)在這個(gè)方面作了很大的改進(jìn),再也沒(méi)有必要象以前那樣關(guān)機(jī)了。因?yàn)樾掳姹镜南到y(tǒng)借鑒了大型機(jī)的技術(shù),采用了抗掉電的日志式文件系統(tǒng),可以自動(dòng)跟蹤保存用戶數(shù)據(jù)、自動(dòng)同步刷新文件系統(tǒng),用戶完全可以隨手關(guān)閉電源,從而達(dá)到快速關(guān)閉系統(tǒng)的目的了。
7、巧妙使用rm命令
我們知道在Linux字符界面中,要?jiǎng)h除一個(gè)文件的話可以使用rm命令,刪除一個(gè)目錄可以使用rmdir命令。但由于rmdir命令只能刪除空白的目錄,假使某個(gè)目錄下面有文件,就只能先用rm命令來(lái)把目錄中的文件刪除掉才可以,所以通常需要rmdir與rm這兩個(gè)命令配合使用才能徹底刪除一個(gè)完整的目錄。但用這種方法來(lái)對(duì)付幾級(jí)子目錄還能湊合,如果一個(gè)目錄中含有若干個(gè)子目錄,而且這若干子目錄中又包含了若干級(jí)子目錄,再使用這種方法不把你累死才怪?,F(xiàn)在我們可以使用帶-r參數(shù)的rm命令來(lái)刪除一個(gè)非空目錄,例如我們?cè)诿钚兄休斎雛m -r bbb這樣的命令,表示系統(tǒng)將把bbb目錄中包含的所有文件和子目錄全部刪除掉。
8、善用虛擬操作臺(tái)
當(dāng)我們登錄進(jìn)Linux系統(tǒng)后,如果再按一下鍵盤(pán)上的Alt+F2鍵,這時(shí)我們又可以看到一個(gè)Shell提示符,其實(shí)這個(gè)就是第二個(gè)虛擬操作臺(tái)。通常,新安裝的Linux系統(tǒng)共有四個(gè)虛擬操作臺(tái),我們可以分別用復(fù)合鍵Alt+F1、Alt+F2、Alt+F3、Alt+F4來(lái)訪問(wèn)它們。使用虛擬操作臺(tái)頻率最多的地方就是,當(dāng)某一個(gè)程序出錯(cuò)鎖住輸入時(shí)或者Linux系統(tǒng)突然失去響應(yīng)時(shí),就可以切換到其他虛擬操作臺(tái)登錄進(jìn)入后殺掉這個(gè)出錯(cuò)的進(jìn)程任務(wù)。
9、增加虛擬緩存
如果計(jì)算機(jī)上的SWAP(交換空間)不夠了,只要我們的硬盤(pán)上還有空余的空間,我們就可以把這些剩余空間利用起來(lái),我們可以直接使用命令:mkswap /dev/hda(假設(shè)Linux的驅(qū)動(dòng)器是/dev/hda),swapon /dev/hda;要自動(dòng)啟動(dòng)Swap,可以把新的分區(qū)加入到etc/fstab中去,照著原來(lái)swap的寫(xiě)就行了。用"free"檢查swap的大小,Linux支持最多16個(gè)交換分區(qū),每個(gè)交換分區(qū)最大128M,沒(méi)有空閑分區(qū)的時(shí)候,可以用個(gè)大文件來(lái)建立。下面是執(zhí)行的一系列命令:
#dd if=/dev/zero of=swapfile bs=1024 count=8192
#mkswap swapfile 8192
#sync
#swapon swapfile
10、巧妙使用Tab鍵
大家知道在Linux字符界面中輸入命令時(shí),有時(shí)需要輸入很多字符,如果經(jīng)常這樣逐個(gè)逐個(gè)地輸入字符,比較煩瑣。假設(shè)鍵入的字符足以確定目錄下一個(gè)唯一的文件時(shí),我們只須按鍵盤(pán)上的 Tab 鍵就可以自動(dòng)補(bǔ)齊該文件名的剩下部分,例如要把目錄 /ccc 下的文件 ddddddd-1.2.3.tar.gz 解包時(shí),當(dāng)我們?cè)诿钚兄墟I入到tar xvfz /ccc/d時(shí),如果該文件是該目錄下唯一以d起頭的文件的話就可以直接按下鍵盤(pán)上的Tab鍵,這時(shí)命令會(huì)被自動(dòng)補(bǔ)齊為:tar xvfz /ccc/ddddddd-1.2.3.tar.gz ,從而提高了輸入效率。
11、多用拷貝與粘貼來(lái)提高操作速度
Linux系統(tǒng)安裝后,每次啟動(dòng)到字符界面時(shí)都會(huì)自動(dòng)運(yùn)行一個(gè)叫g(shù)pm的程序, 該程序運(yùn)行后就可以用鼠標(biāo)來(lái)拷貝與粘貼了。 具體做法是按住鼠標(biāo)左鍵拖動(dòng)讓要拷貝的地方突出顯示, 這時(shí)突出顯示的區(qū)域已經(jīng)被拷貝, 再按鼠標(biāo)右鍵拷貝的內(nèi)容就會(huì)被粘貼在光標(biāo)所在位置了。如果我們?cè)赬window下運(yùn)行Linux系統(tǒng),拷貝與粘貼的操作與在普通的Win9x系統(tǒng)下一樣。
12、加快Linux存取數(shù)據(jù)
如果我們想快速提高Linux下的硬盤(pán)讀取數(shù)據(jù),可以在Linux下進(jìn)行一些設(shè)置,讓Linux在32位輸入輸出方式和DMA通道方式下進(jìn)行工作。設(shè)置時(shí),在Linux命令界面中輸入命令/sbin/hdparm -cl /dev/hda來(lái)打開(kāi)32bit傳輸方式,輸入命令/sbin/hdparm -dl /dev/hda來(lái)打開(kāi)DMA傳輸方式,接著再輸入命令/sbin/hdparm -kl /dev/hda來(lái)使硬盤(pán)在Reset之后仍然保持上述的設(shè)置,通過(guò)這些設(shè)置,我們就能提高Linux的讀盤(pán)速度到1倍以上。
13、使用急救盤(pán)組進(jìn)行維護(hù)
急救盤(pán)組(也稱為boot/root盤(pán)組),是系統(tǒng)管理員必不可少的工具。用它可以獨(dú)立地啟動(dòng)和運(yùn)行一個(gè)完整的Linux系統(tǒng)。實(shí)際上,急救盤(pán)組中的第2張盤(pán)上就有一個(gè)完整的Linux系統(tǒng),包括root文件系統(tǒng);而第1張盤(pán)則存放了可啟動(dòng)的內(nèi)核。
使用急救盤(pán)組維護(hù)系統(tǒng)很簡(jiǎn)單。只需用這兩張盤(pán)啟動(dòng)系統(tǒng)后,進(jìn)入急救模式,這時(shí)使用的是root賬戶。為了能訪問(wèn)硬盤(pán)上的文件,需要手工安裝硬盤(pán)文件系統(tǒng)。例如,用下面的命令可在/mnt目錄中安裝/dev/hda2盤(pán)上的ext2fs類型的Linux文件系統(tǒng):
# monut -t ext2/dev/hda2/mnt
注:現(xiàn)在根目錄是急救盤(pán)上的根目錄。為了訪問(wèn)硬盤(pán)文件系統(tǒng)中的文件,必須先把它安裝到某個(gè)目錄下。這樣,如果將硬盤(pán)上文件系統(tǒng)安裝在/mmt目錄下,則硬盤(pán)上原來(lái)的/etc/passwd文件的路徑就是/mnt/etc/passwd。
14、文件系統(tǒng)被破壞時(shí)的處理方法
當(dāng)文件系統(tǒng)被破壞時(shí),如果使用的是ext2fs類型的文件系統(tǒng),就可從軟盤(pán)運(yùn)e2fsck命令來(lái)修正文件系統(tǒng)中被損壞的數(shù)據(jù)。對(duì)于其他類型的文件系統(tǒng),可以使用相應(yīng)的fsck命令。
當(dāng)從軟盤(pán)上檢查文件系統(tǒng)時(shí),最好不要mount安裝。
注:文件系統(tǒng)被破壞的常見(jiàn)原因是超級(jí)塊被損壞,超級(jí)塊是文件系統(tǒng)的“頭部”。它包含文件系統(tǒng)的狀態(tài)、尺寸和空閑磁盤(pán)塊等信息。如果損壞了一個(gè)文件系統(tǒng)的超級(jí)塊(例如不小心直接將數(shù)據(jù)寫(xiě)到了文件系統(tǒng)的超級(jí)塊分區(qū)中),那么系統(tǒng)可能會(huì)完全不識(shí)別該文件系統(tǒng),這樣也就不能安裝它了,即使采用e2fsck命令也不能處理這個(gè)問(wèn)題。
不過(guò),ext2fs類型的文件系統(tǒng)將超級(jí)塊的內(nèi)容進(jìn)行了備份,并存放于驅(qū)動(dòng)程序的塊組(block group)邊界??梢杂萌缦碌拿钔ㄖ猠2fsck使用超級(jí)塊的備份
# e2fsck -b 8193
是指文件系統(tǒng)所在的分區(qū),-b 8193選項(xiàng)用于顯示使用存放在文件系統(tǒng)中的8193塊的超級(jí)塊的備份數(shù)據(jù)。
15、恢復(fù)丟失的文件
如果不小心刪除了重要的文件,那么沒(méi)有辦法直接恢復(fù)。但是還可以將相應(yīng)的文件從急救盤(pán)復(fù)制到硬盤(pán)上。例如,如果刪除了文件/bin/login,此時(shí)系統(tǒng)無(wú)法正常進(jìn)到登錄界面,可以用急救盤(pán)組啟動(dòng)系統(tǒng),將硬盤(pán)文件系統(tǒng)安裝到/mnt目錄下,然后使用下述命令:
#cp -a /bin/login /mnt/bin
“-a”選項(xiàng)用于告訴cp在拷貝時(shí)保持文件的訪問(wèn)權(quán)限。 當(dāng)然如果被刪除的基本文件不在“急救盤(pán)組”中,也就不能用這種方法了。如果以前做過(guò)系統(tǒng)備份的話,那么也可以用以前的備份來(lái)恢復(fù)。
4.函數(shù)庫(kù)破壞時(shí)的處理方法
如果不小心將系統(tǒng)函數(shù)庫(kù)文件破壞了,或者破壞了/lib目錄下符號(hào)鏈接,那么將導(dǎo)致依賴這些庫(kù)的命令無(wú)法執(zhí)行。最簡(jiǎn)單的解決辦法是用急救盤(pán)組啟動(dòng)系統(tǒng),在/mnt目錄中安裝硬盤(pán)文件系統(tǒng),然后修復(fù)/mnt/lib目錄下的庫(kù)。
16、無(wú)法用root賬號(hào)登錄系統(tǒng)
由于系統(tǒng)管理員的疏忽,或者由于系統(tǒng)受到黑客的入侵,系統(tǒng)管理員可能無(wú)法用root帳號(hào)登錄系統(tǒng)。
對(duì)于第1種情況,可能是系統(tǒng)管理員忘記了root密碼,用急救盤(pán)組就可以解決問(wèn)題。
對(duì)于第2種情況,由于很可能是密碼被黑客修改了,因此系統(tǒng)管理員無(wú)法進(jìn)入系統(tǒng),也就是說(shuō),Linux系統(tǒng)完全失去了控制,因此應(yīng)盡快重新獲得系統(tǒng)的控制權(quán)。在取得 root權(quán)限后,還應(yīng)檢查系統(tǒng)被破壞的情況,以防被黑客再次入侵。
需要做的最主要的工作就是重新設(shè)置root的密碼,獲得Linux操作系統(tǒng)的控制權(quán)。首先用急救盤(pán)組啟動(dòng)系統(tǒng),然后將硬盤(pán)的文件系統(tǒng)安裝到/mnt目錄下,編輯/mnt/etc/passwd文件,將其對(duì)應(yīng)于root賬戶的一行加密口令域置空,如下所示:
root::0:0:root:/root:bin/bash
注:如果系統(tǒng)使用 shadow工具,就需要對(duì)文件/etc/shadow進(jìn)行上述的操作,使root登錄系統(tǒng)不需要口令。
這樣,root賬戶就沒(méi)有口令了。當(dāng)重新從硬盤(pán)啟動(dòng)Linux系統(tǒng)時(shí),就可以用root賬戶登錄(系統(tǒng)不會(huì)要求輸入密碼)。進(jìn)入系統(tǒng)后,再用命令passwd設(shè)置新的口令。
17、Linux系統(tǒng)不能啟動(dòng)
一般來(lái)說(shuō),如果系統(tǒng)管理員不能正常進(jìn)入系統(tǒng),就需要考慮使用急救盤(pán)組進(jìn)入急救模式排除系統(tǒng)的故障。但在沒(méi)有制作急救盤(pán)組的情況下,Linux系統(tǒng)不能啟動(dòng),該怎么辦?
在個(gè)人計(jì)算機(jī)使用 Linux系統(tǒng)時(shí),通常都是Linux和MS Windows 9x或MS Windows NT并存的。
由于重新安裝其他的操作系統(tǒng),經(jīng)常會(huì)導(dǎo)致原有的Linux不能啟動(dòng)。這主要是因?yàn)?,這些操作系統(tǒng)默認(rèn)為計(jì)算機(jī)中沒(méi)有其他的操作系統(tǒng),因而改寫(xiě)了硬盤(pán)的主引導(dǎo)記錄(MBR),沖掉了Linux的LILO系統(tǒng)引導(dǎo)程序。
如果有急救盤(pán)組,那么很簡(jiǎn)單,用第一張啟動(dòng)盤(pán)啟動(dòng)硬盤(pán)的Linux系統(tǒng),重新運(yùn)行LILO命令,就可以將LILO系統(tǒng)引導(dǎo)程序?qū)懟赜脖P(pán)的主引導(dǎo)記錄。再次開(kāi)機(jī)即可。
如果沒(méi)有系統(tǒng)啟動(dòng)盤(pán),怎樣恢復(fù)硬盤(pán)上的Linux呢?在這種情況下,如果知道Linux在硬盤(pán)上的確切安裝分區(qū),且有l(wèi)oadlin程序,就可以重新返回Linux。loadlin程序是DOS下的程序,運(yùn)行它可以從DOS下直接啟動(dòng)Linux,快速進(jìn)入Linux環(huán)境。在 Red Hat Linux 6.0光盤(pán)的 dosutil/目錄下就有這個(gè)程序。除此之外,還需要一個(gè) Linux啟動(dòng)內(nèi)核的映像文件。在 Red H
at linux 6.0光盤(pán)的 images/目錄下有這個(gè)文件——vmlinuz。
例如,在Windows 98系統(tǒng)下面,進(jìn)入DOS的單用戶模式,然后運(yùn)行下述的loadlin命令,即可重新進(jìn)入Linux系統(tǒng):
loadlin vmlinuz root=/dev/hda8
/dev/hda8是Linux的root文件系統(tǒng)所在的硬盤(pán)分區(qū)位置。命令執(zhí)行后,就引導(dǎo)Linux系統(tǒng)。用root登錄后,運(yùn)行LILO命令,則重新將LILO裝入MBR,回到以前多操作系統(tǒng)并存使用的狀態(tài)。