歡迎您光臨本站 註冊首頁

Linux入門教程系列

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

1 Linux常用命令簡介
su
su命令是最基本的命令之一,常用於不同用戶間切換。例如,如果登錄為 user1,要切換為user2,只要用如下命令:
$su user2
然後系統提示輸入user2口令,輸入正確的口令之後就可以切換到user2。完成之後就可以用exit命令返回到user1。
su命令的常見用法是變成根用戶或超級用戶。如果發出不帶用戶名的su命令 ,則系統提示輸入根口令,輸入之後則可切換為根用戶。
如果登錄為根用戶,則可以用su命令成為系統上任何用戶而不需要口令。

pwd
pwd命令也是最常用最基本的命令之一,用於顯示用戶當前所在的目錄。

cd
cd命令不僅顯示當前狀態,還改變當前狀態,它的用發跟dos下的cd命令基本一致。
cd ..可進入上一層目錄
cd -可進入上一個進入的目錄
cd ~可進入用戶的home目錄

ls
ls命令跟dos下的dir命令一樣,用於顯示當前目錄的內容。
如果想取得詳細的信息,可用ls -l命令, 這樣就可以顯示目錄內容的詳細信息。
如果目錄下的文件太多,用一屏顯示不了,可以用ls -l |more分屏顯示 。

find
find命令用於查找文件。這個命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用戶)、文件長度或文件類型進行搜索。
find命令的基本結構如下:
$find
其中指定從哪個目錄開始搜索。指定搜索條件。表示找到文件怎麼處理。一般來說,要用-print動作,顯示 整個文件路徑和名稱。如果沒有這個動作,則find命令進行所要搜索而不顯示結果,等於白費勁。
例如,要搜索系統上所有名稱為ye的文件,可用如下命令:
$find / -name ye -print
這樣就可以顯示出系統上所有名稱為ye的文件。

tar
tar最初用於建立磁帶備份系統,目前廣泛用於建立文件發布檔案。可用如下方法建立tar檔案:
$tar cvf
例如,如果要將當前目錄中所有文件存檔到ye.tar中,可用如下命令:
$tar cvf ye.tar *.*
要瀏覽檔案內容,將c選項變成t。如果要瀏覽ye.tar檔案中的內容,可用如下命令:
$tar tvf ye.tar
要取出檔案內的內容,將c選項變成x。如果要將ye.tar檔案中的內容取到當前目錄中,可用如下命令:
$tar xvf ye.tar

gzip
gzip命令用於壓縮文件。 例如,如果要將ye.txt文件壓縮,可用如下命令:
$gzip ye.txt
這樣就可以壓縮文件並在文件名後面加上gz擴展名,變成文件ye.txt.gz。
解壓縮文件可用gzip -d命令實現:
$gzip -d ye.txt.gz
這樣就可以解壓縮文件並刪除gz擴展名。除此之外還可以用gunzip命令來解 壓縮文件,效果跟用gzip -d命令一樣。
舊版的tar命令不壓縮檔案,可用gzip壓縮。例如:
$tar cvf ye.tar *.txt
$gzip ye.tar
則可建立壓縮檔案ye.tar.gz。
新版的tar可以直接訪問和建立gzip壓縮的tar檔案,只要在tar命令中加上z 選項就可以了。例如:
$tar czvf ye.tar *.txt
生成壓縮檔案ye.tar.gz,
$tar tzvf ye.tar *.txt
顯示壓縮檔案ye.tar.gz的內容,而
$tar xzvf ye.tar *.txt
取出壓縮檔案ye.tar.gz的內容。

mkdir
這個命令很簡單,跟dos的md命令用法幾乎一樣,用於建立目錄。

cp
cp命令用於複製文件或目錄。
cp命令可以一次複製多個文件,例如:
$cp *.txt *.doc *.bak /home
將當前目錄中擴展名為txt、doc和bak的文件全部複製到/home目錄中。
如果要複製整個目錄及其所有子目錄,可以用cp -R命令。

rm
rm命令用於刪除文件或目錄。
rm命令會強制刪除文件,如果想要在刪除時提示確認,可用rm -i命令。
如果要刪除目錄,可用rm -r命令。rm -r命令在刪除目錄時,每刪除一個文件或目錄都會顯示提示,如果目錄太大,響應每個提示是不現實的。這時可以用 rm -rf命令來強制刪除目錄,這樣即使用了-i標誌也當無效處理。

mv
mv命令用於移動文件和更名文件。例如:
$mv ye.txt /home
將當前目錄下的ye.txt文件移動到/home目錄下,
$mv ye.txt ye1.txt
將ye.txt文件改名為ye1.txt。
類似於跟cp命令,mv命令也可以一次移動多個文件,在此不再贅敘。

reboot
重啟命令,不必多說。

halt
關機命令,不必多說。

安裝與卸載

第一篇:


Linux下軟體的安裝與卸載

在Windows下安裝軟體時,只需運行軟體的安裝程序(setup、install等)或者用zip等解壓縮軟體解開即可安裝,運行反安裝程序(uninstall、unware、「卸載」等)就能將軟體清除乾淨,完全圖形化的*作界面,簡單到只要用滑鼠一直點擊「下一步」就可以了。而Linux好象就不一樣了,很多的初學者都抱怨在Linux下安裝和卸載軟體非常地困難,沒有像使用Windows時那麼直觀。其實在Linux下安裝和卸載軟體也非常簡單,同樣也有安裝嚮導或解壓安裝的方式,不相同的只不過是除了二進位形式的軟體分發外,還有許許多多以源代碼形式分發的軟體包,下面就來詳細地講一講這些軟體的安裝與卸載:

一、二進位分發軟體包的安裝與卸載
Linux軟體的二進位分發是指事先已經編譯好二進位形式的軟體包的發布形式,其優點是安裝使用容易,缺點則是缺乏靈活性,如果該軟體包是為特定的硬體/*作系統平台編譯的,那它就不能在另外的平台或環境下正確執行。
1、*.rpm形式的二進位軟體包
安裝:rpm -ivh *.rpm
卸載:rpm -e packgename
說明:RPM(RedHat Packge Manager)是RedHat公司出的軟體包管理器,使用它可以很容易地對rpm形式的軟體包進行安裝、升級、卸載、驗證、查詢等*作,安裝簡單,而卸載時也可以將軟體安裝在多處目錄中的文件刪除乾淨,因此推薦初學者儘可能使用rpm形式的軟體包。rpm的參數中-i是安裝,-v是校驗,-h是用散列符顯示安裝進度,*.rpm是軟體包的文件名(這裡的*.rpm特指*.src.rpm以外的以rpm為後綴的文件);參數-e是刪除軟體包,packgename是軟體包名,與軟體包的文件名有所區別,它往往是文件名中位於版本號前面的字元串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是軟體包文件名,它們的軟體包名稱分別是apache和apache-devel。更多的rpm參數請自行參看手冊頁:man rpm。
如果你不喜歡在字元界面下安裝或卸載這些軟體包,完全可以在X-Window下使用圖形界面的軟體包管理程序,如glint、xrpm這樣的圖形介面,或者是KDE的kpackge等,這樣對軟體包的安裝、升級、卸載、驗證和查詢就可以通過點擊滑鼠來輕鬆完成。
2、*.tar.gz/*.tgz、*.bz2形式的二進位軟體包
安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸載:手動刪除
說明:*.tar.gz/*.bz2形式的二進位軟體包是用tar工具來打包、用gzip/bzip2壓縮的,安裝時直接解包即可。對於解壓后只有單一目錄的軟體,卸載時用命令「rm -rf 軟體目錄名」;如果解壓後文件分散在多處目錄中,則必須一一手動刪除(稍麻煩),想知道解壓時向系統中安裝了哪些文件,可以用命令「tar ztvf *.tar.gz」/「tar ytvf *.bz2」獲取清單。tar的參數z是調用gzip解壓,x是解包,v是校驗,f是顯示結果,y是調用bzip2解壓,t是列出包的文件清單。更多的參數請參看手冊頁:man tar。
如果你更喜歡圖形界面的*作,可以在X-Window下使用KDE的ArK壓縮檔案管理工具。
3、提供安裝程序的軟體包
這類軟體包已經提供了安裝腳本或二進位的安裝嚮導程序(setup、install、install.sh等),只需運行它就可以完成軟體的安裝;而卸載時也相應地提供了反安裝的腳本或程序。例如SUN公司的StarOffice辦公軟體套件就使用名為setup的安裝程序,而且在軟體安裝后提供反安裝的功能,目前這種類型的軟體包還比較少,因其安裝與卸載的方式與Windows軟體一樣,所以就無需多講了。

二、源代碼分發軟體包的安裝與卸載
Linux軟體的源代碼分發是指提供了該軟體所有程序源代碼的發布形式,需要用戶自己編譯成可執行的二進位代碼並進行安裝,其優點是配置靈活,可以隨意去掉或保留某些功能/模塊,適應多種硬體/*作系統平台及編譯環境,缺點是難度較大,一般不適合初學者使用。
1、*.src.rpm形式的源代碼軟體包
安裝:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸載:rpm -e packgename
說明:rpm --rebuild *.src.rpm命令將源代碼編譯並在/usr/src/dist/RPMS下生成二進位的rpm包,然後再安裝該二進位包即可。packgename如前所述。
2、*.tar.gz/*.tgz、*.bz2形式的源代碼軟體包
安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解壓
然後進入解壓后的目錄:
./configure 配置
make 編譯
make install 安裝
卸載:make uninstall 或 手動刪除
說明:建議解壓后先閱讀說明文件,可以了解安裝有哪些需求,有必要時還需改動編譯配置。有些軟體包的源代碼在編譯安裝后可以用make install命令來進行卸載,如果不提供此功能,則軟體的卸載必須手動刪除。由於軟體可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,那你應該在編譯前進行配置,指定軟體將要安裝到目標路徑:./configure --prefix=目錄名,這樣可以使用「rm -rf 軟體目錄名」命令來進行乾淨徹底的卸載。與其它安裝方式相比,需要用戶自己編譯安裝是最難的,它適合於使用Linux已有一定經驗的人,一般不推薦初學者使用。

關於Linux下軟體的安裝與卸載lanche已經講了這麼多,但可能還會有人問怎麼知道一個tar.gz/bz2包是二進位文件包呢還是源代碼包?如果你用過壓縮工具就會明白,壓縮包未必就是軟體,它也可能是備份的許多圖片,也可能是打包在一起的普通資料,要分辨它到底是什麼最好的辦法就是查看包里的文件清單,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用圖形化的ArK壓縮檔案管理工具都可以,源代碼包里的文件往往會含有種種源代碼文件,頭文件*.h、c代碼源文件*.c、C++代碼源文件*.cc/*.cpp等;而二進位包里的文件則會有可執行文件(與軟體同名的往往是主執行文件),標誌是其所在路徑含有名為bin的目錄(僅有少數例外)。原來這麼簡單呀,還不快點自己試試!


第二篇:

如何安裝Linux的軟體

在windows下安裝軟體大家都覺得很容易,只要雙擊setup或是install的圖標,然後跟著嚮導一步一步的按提示做就可以了,但是在linux下安裝軟體就不像windows下那樣容易了,有時你找到的是沒有編譯過的軟體源碼,那就更加的麻煩了,這裡就介紹一下如何安裝linux的軟體啦!
linux下的軟體一般都是經過壓縮的,主要的格式有這幾種:rpm、tar、tar.gz、tgz等。所以首先拿到軟體后第一件事就是解壓縮。
一、在xwindow下以rpm格式的軟體安裝比較容易,只要在把滑鼠移到文件上單擊右鍵,在彈出的菜單里會有專門的三項(只有在右鍵單擊rpm文件才會出現)show info,upgrade和install,這三項的意思大家都很清楚了,我就不多說了。rpm格式說了,接著就是tar,tar.gz,tgz等,在xwindow下雙擊這些格式的文件就會自動解壓縮的,是解壓縮而不是像rpm那樣有install選項的,install文件會在你解壓縮后才出現,不過這裡我要先說一下,在你雙擊install前建議先好好看一下readme,因為你所要安裝這些軟體可能是沒有編譯的,所以看一下會比較好。
二、說完了xwindow下的安裝和解壓縮,接著說在文本模式下如何解壓縮和安裝,還有編譯源碼了。首先說rpm的,以root身份登陸后(用其他的身份登陸也可以但有些軟體就不能被安裝)鍵入rpm -i你所要解壓縮的文件+擴展名(當然是rpm)也不是很難吧,這裡我要說的是「-i」意思是install,如果你想要卸載或是要執行其他的指令就打rpm --help,看電腦給你的提示吧,為了照顧那些E文不太好的人我這裡就寫幾個常用的參數:-e:卸載相關的應用程序,-U(注意是大寫):升級軟體包,-pql:列出rpm軟體包的相關信息,-qf:查找指定文件屬於哪個軟體包。至於那些其他格式的軟體則可以用gunzip,gzip,tar和unzip等指令來解壓縮,然後再運行install。通過解包後會得到一些文件,然後進入剛才解壓縮後文件目錄用「ls -F -color」指令看一下所得到的文件,一般有兩種情況:第一種是文件為已經編譯好的程序(無須再編譯了)用上面的察看文件命令會以帶「*」標記的亮綠色顯示;第二種則是需要由你自己編譯的源代碼。得到的是源代碼的話,就需要我們自己編譯來得到可運行的程序。編譯源代碼聽到編譯是不是就嚇到你了呢,其實說穿了也就加上幾句話而已,對初學者是有些困難想用好的*作系統就需要學習嘛,等你學會了在MM前露一手的時候想想吧……,在編譯之前先要認真的閱讀一下readme文檔,老鳥們就不需要了吧,等你閱讀完了以後就執行
./configure
make
make install(只有Root身份才能執行此命令),編譯完成之後便會在當前目錄或src子目錄下得到軟體的可執行程序。
介紹完了,大家是不是覺的RPM的軟體安裝比較容易一點呢,但我個人意見初學者還是多選擇RPM格式以外的軟體,因為通過編譯軟體的源碼可以為你以後編譯內核打下一定的基礎。(上海 張國榮)


第三篇:

輕鬆安裝、卸載Linux軟體

Linux軟體的安裝和卸載一直是困擾許多新用戶的難題。在Windows中,我們可以使用軟體自帶的安裝卸載程序或在控制面板中的「添加/刪除程序」來實現。與其相類似,在Linux下有一個功能強大的軟體安裝卸載工具,名為RPM。它可以用來建立、安裝、查詢、更新、卸載軟體。該工具是在命令行下使用的。在Shell的提示符后輸入rpm,就可獲得該命令的幫助信息。

軟體的安裝
Linux下軟體的安裝主要有兩種不同的形式。第一種安裝文件名為xxx.tar.gz;另一種安裝文件名為xxx.i386.rpm。以第一種方式發行的軟體多為以源碼形式發送的;第二種方式則是直接以二進位形式發送的。

對於第一種,安裝方法如下:

1.首先,將安裝文件拷貝至你的目錄中。例如,如果你是以root身份登錄上的,就將軟體拷貝至/root中。

#cp xxx.tar.gz /root

2.由於該文件是被壓縮並打包的,應對其解壓縮。命令為:

#tar xvzf filename.tar.gz

3.執行該命令后,安裝文件按路徑,解壓縮在當前目錄下。用ls命令可以看到解壓縮后的文件。通常在解壓縮后產生的文件中,有「Install」的文件。該文件為純文本文件,詳細講述了該軟體包的安裝方法。

4.執行解壓縮后產生的一個名為configure的可執行腳本程序。它是用於檢查系統是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等安裝所需要的系統信息。為隨後的編譯工作做準備。命令為:#./configure。

5.檢查通過後,將生成用於編譯的MakeFile文件。此時,可以開始進行編譯了。編譯的過程視軟體的規模和計算機性能的不同,所耗費的時間也不同。命令為:#make。

6.成功編譯后,鍵入如下的命令開始安裝:

#make install

7.安裝完畢,應清除編譯過程中產生的臨時文件和配置過程中產生的文件。鍵入如下命令:

#make clean
#make distclean

至此,軟體的安裝結束。

對於第二種,其安裝方法要簡單得多。

同第一種方式一樣,將安裝文件拷貝至你的目錄中。然後使用rpm來安裝該文件。命令如下:

#rpm -i filename.i386.rpm

rpm將自動將安裝文件解包,並將軟體安裝到預設的目錄下。並將軟體的安裝信息註冊到rpm的資料庫中。參數i的作用是使rpm進入安裝模式。

軟體的卸載
1.軟體的卸載主要是使用rpm來進行的。卸載軟體首先要知道軟體包在系統中註冊的名稱。鍵入命令:

#rpm -q -a

即可查詢到當前系統中安裝的所有的軟體包。

2.確定了要卸載的軟體的名稱,就可以開始實際卸載該軟體了。鍵入如下命令即可卸載軟體:

#rpm -e [package name]

參數e的作用是使rpm進入卸載模式。對名為[package name]的軟體包進行卸載。由於系統中各個軟體包之間相互有依賴關係。如果因存在依賴關係而不能卸載,rpm將給予提示並停止卸載。你可以使用如下的命令來忽略依賴關係,直接開始卸載:

#rpm -e [package name] -nodeps

忽略依賴關係的卸載可能會導致系統中其它的一些軟體無法使用。

補充:

如果是以.bin結尾的二進位軟體,可以用以下方法安裝(以so-6_0-beta-bin-linux-zh-Tw1.bin為例):

在so-6_0-beta-bin-linux-zh-Tw1.bin所在文件夾下運行模擬終端
輸入:
./so-6_0-beta-bin-linux-zh-Tw1.bin
並按回車!

當然也可以輸入:
./so 再用[Tab]鍵補全

(./表示當前目錄,如果終端不在該軟體所在目錄下打開,則在軟體名前尚需輸入相應的路徑。)

如果在圖形界面,也可直接單擊(或雙擊,視具體的滑鼠設置而定)進行安裝!

目錄樹

/bin bin是binary的縮寫。這個目錄是對UNIX系統習慣的沿襲,存放著使用者最經常使用的命令。例如:cp,ls,cat。
/boot 這裡存放的是啟動LINUX時使用的一些核心文件。
/dev dev是device(設備)的縮寫。這個目錄下是所有LINUX的外部設備,其功能類似DOS下的.sys和Win下的.vxd。在LINUX中設備和文件是用同種方法訪問的。例如:/dev/hda代表第一個物理IDE硬碟。
/etc 這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。
/home 用戶的主目錄,比如說有個用戶叫wang,那他的主目錄就是/home/wang也可以用~wang表示,說到這裡,打個岔,你現應該明白在我們訪問一些個人網頁(如 http://www.netease.net/~zhangjia) 的時候,~zhangjia就是表示訪問www.netease.net站點中的用戶zhangjia的用戶主目錄。
如果這個網站的*作系統是LINUX,那就是表示/home/zhangjia。
/lib 這個目錄里存放著系統最基本的動態鏈接共享庫,其作用類似於Windows里的.dll文件。幾乎所有的應用程序都需要用到這些共享庫。
/lost+found 這個目錄平時是空的,當系統不正常關機后,這裡就成了一些無家可歸的文件的避難所。對了,有點類似於DOS下的.chk文件。
/mnt 這個目錄是空的,系統提供這個目錄是讓用戶臨時掛載別的文件系統。
/proc 這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。也就是說,這個目錄的內容不在硬碟上而是在內存里啊!?
/root 系統管理員,也叫作超級許可權者的用戶主目錄。當然系統的擁有者,總要有些特權啊!
/sbin s就是Super User的意思,也就是說這裡存放的是一些系統管理員使用的系統管理程序。
/tmp 這個目錄不用說,一定是用來存放一些臨時文件的地方了。
/usr 這是個最龐大的目錄,我們要用到的很多應用程序和文件幾乎都存放在這個目錄下。具體來說:
/usr/X11R6 存放X-Windows的目錄;
/usr/bin 存放著許多應用程序;
/usr/sbin 給超級用戶使用的一些管理程序就放在這;
/usr/doc 這就是LINUX文檔的大本營;
/usr/include LINUX下開發和編譯應用程序需要的頭文件,在這找;
/usr/lib 存放一些常用的動態鏈接共享庫和靜態檔案庫;
/usr/local 這是提供給一般用戶的/usr目錄,在這安裝軟體最適合;
/usr/man man是什麼,對了是幫助。這裡就是幫助文檔目錄啊!
/usr/src LINUX開放的源代碼,就存在這個目錄,愛好者們別放過哦!
/var 這個目錄中存放著那些不斷在擴充著的東西,為了保持/usr的相對穩定,那些經常被修改的目錄可以放在這個目錄下,實際上許多系統管理員都是這樣乾的。順帶說一下系統的日誌文件就在/var/log目錄中。
這裡列出了最常見的目錄,根據LINUX發行套件的不同,目錄結構也是有一定差別的。還有你自己建立的目錄,我當然不知是存什麼的。希望上面的文字能使你在大腦里留下了LINUX的全景圖,以便大家深入掌握LINUX的其它方方面面。

GRUB三步通

朋友,你裝好linux后是不是每次啟動后系統就默認進入到linux,想讓它變成windows嗎?請修改你的引導裝入器吧(當然它不止這個功能)!由於現在的linux都喜歡用GRUB來引導,LILO已越來越少用了,所以我在這裡主要給大家講講GRUB這個東東!!

##################
# GRUB的優點 #
##################
GRUB 是引導裝入器(boot loader) -- 它負責裝入內核並引導 Linux 系統。GRUB 還可以引導其它*作系統,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。儘管引導*作系統看上去是件平凡且瑣碎的任務,但它實際上很重要。如果引導裝入器不能很好地完成工作或者不具有彈性,那麼就可能鎖住系統,而無法引導計算機。另外,好的引導裝入器可以給您靈活性,讓您可以在計算機上安裝多個*作系統,而不必處理不必要的麻煩。
GRUB 是一個很棒的boot loader。它有許多功能,可以使引導過程變得非常可靠。例如,它可以直接從 FAT、minix、FFS、ext2 或 ReiserFS 分區讀取 Linux 內核。這就意味著無論怎樣它總能找到內核。另外,GRUB 有一個特殊的互動式控制台方式,可以讓您手工裝入內核並選擇引導分區。這個功能是無價的:假設 GRUB 菜單配置不正確,但仍可以引導系統。哦,對了 -- GRUB 還有一個彩色引導菜單。

更令人驚訝的是,這是一個自由軟體!!!



##################
# GRUB菜單 #
##################
先來看一個例子,這是位於/boot/grub/目錄下的menu.lst文件。
此文件將在開機是產生一個菜單,包含有Debian linux,Windows2000,RedHat linux和 Mandrake linux,共四個選擇項。我一共分了8個區,一個fat16(0x6),一個ntfs(0x7),三個ext2fs分區(0x83),一個swap分區(0x82)。ntfs用來裝win2000,三個ext2fs裝了三個linux,c盤fat16分區沒有裝任何東西。
#例子由此開始

######################
# #
# 一個GRUB configure 的例子 #
# #
######################

timeout 10
default 2


# --> Debian linux <--

title Debian linux
root (hd0,2)
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro
initrd /boot/initrd-2.2.18.gz


# --> Debian END <--

# --> Windows 菜單選項 <--

title Windows2000
root (hd0,0)
chainloader +1

# --> Winddows 結束 <--

# --> RedHat linux 菜單選項 <--

title RedHat linux
root (hd0,8)
chainloader +1 # 在硬碟主引導分區裝了lilo,所以也用了chainloader。

# --> RedHat linux 結束 <--

# --> Mandrake linux 菜單選項 <--

title Mandrake linux
root (hd0,5)
kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro
initrd /boot/initrd-2.4.3-20mdk.img

# --> Mandrake linux 結束 <--


#例子到此結束

以符號井"#"開頭的行表示被註釋掉,沒有任何意義。

timeout表示默認等待的時間,這兒是10秒鐘。超過10秒,用戶還沒有作出選擇的話,系統將自動選擇默認的*作系統。

默認的*作系統就是由default控制的。default后加一個數字n,表明是第n+1個。需要注意的是,GRUB中,計數是從0開始的,第一個硬碟是hd0,第一個軟碟機是fd0,等等。所以,default 2 表示默認的*作系統在這兒是 Redhat linux。

接下來,正如你所想象的,title表示的是「Debian linux」菜單項。root (hd0,2)表示第一個硬碟,第三個分區。這兒的root 於linux的root分區及其不同,此root非彼root也!

在 Linux 中,當談到 "root" 文件系統時,通常是指主 Linux 分區。但是,GRUB 有它自己的 root 分區定義。GRUB 的 root 分區是保存 Linux 內核的分區。這可能是您的正式 root 文件系統,也可能不是。我們討論的是 GRUB,需要指定 GRUB 的 root 分區。進入 root 分區時,GRUB 將把這個分區安裝成只讀型,這樣就可以從該分區中裝入 Linux 內核。GRUB 的一個很「酷」的功能是它可以讀取本機的 FAT、FFS、minix、ext2 和 ReiserFS 分區。

到目前為止,您可能會感到一點疑惑,因為 GRUB 所使用的硬碟/分區命名約定與 Linux 使用的命名約定不同。在 Linux 中,第一個硬碟的第五個分區稱作 "hda5"。而 GRUB 把這個分區稱作 "(hd0,4)"。GRUB 對硬碟和分區的編號都是從 0 開始計算。另外,硬碟和分區都用逗號分隔,整個表達式用括弧括起。現在,可以發現如果要引導 Linux 硬碟 hda5,應輸入 "root (hd0,4)"。

知道了內核在哪兒,還要具體指出哪個文件是內核文件,這就是kernel的工作。
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro說明/boot/vmlinuz-2.2.18 就是要載入的內核。後面的都是傳遞給內核的參數。root=/dev/hda3就是linux的硬碟分區表示法,ro是以readonly的意思。
initrd用來初始的linux image,並設置相應的參數。

是不是感覺很簡單啊!再來看一看windows的定義段吧。
這裡,我添加了一項來引導 Windows2000。要完成此*作,GRUB 使用了「鏈式裝入器」(chainloader)。鏈式裝入器從分區 (hd0,0) 的引導記錄中裝入 win2000 自己的引導裝入器,然後引導它。這就是這種技術叫做鏈式裝入的原因 -- 它創建了一個從引導裝入器到另一個的鏈。這種鏈式裝入技術可以用於引導任何版本的 DOS 或 Windows。

我的RedHat linux在硬碟主引導分區裝了lilo,所以也用了chainloader。

GRUB的配置文件要簡單就這麼簡單,如果你要更個性化一點,試一試把「color light-gray/blue 」加在default語句的下面,下一次啟動GRUB時,看看有什麼變化,再試一試「color light-blue/red",驚喜嗎? 有趣吧!

######################
# GRUB的交互性 #
######################




GRUB 最好的優點之一就是其強健的設計 -- 在不斷使用它時請別忘了這點。如果更新內核或更改它在磁碟上的位置,不必重新安裝 GRUB。事實上,如有必要,只要更新 menu.lst 文件即可,一切將保持正常。

只有少數情況下,才需要將 GRUB 引導裝入器重新安裝到引導記錄。首先,如果更改 GRUB root 分區的分區類型(例如,從 ext2 改成 ReiserFS),則需要重新安裝。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由於它們來自更新版本的 GRUB,很有可能要重新安裝引導裝入器。其它情況下,可以不必理睬!

GRUB的最大的特點就是交互性特彆強。在開機時,按一下「c」,將進入GRUB 控制台。顯示如下:

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub>

歡迎使用 GRUB 控制台。現在,再研究命令:
我將通過GRUB 控制台繞過lilo來啟動RedHat linux,

grub> root (h

現在,按一次 Tab 鍵。如果系統中有多個硬碟,GRUB 將顯示可能完成的列表,從 "hd0" 開始。如果只有一個硬碟,GRUB 將插入 "hd0,"。如果有多個硬碟,繼續進行,在 ("hd2") 中輸入名稱並在名稱后緊跟著輸入逗號,但不要按 Enter 鍵。部分完成的 root 命令看起來如下:

grub> root (hd0,

現在,繼續*作,再按一次 Tab 鍵。GRUB 將顯示特定硬碟上所有分區的列表,以及它們的文件系統類型。在我的系統中,按 Tab 鍵時得到以下列表:

grub> root (hd0, (tab,按tab一下鍵)
Possible partitions are:
Partition num: 0, Filesystem type is fat, partition type 0x6
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x7
Partition num: 5, Filesystem type is ext2fs, partition type 0x83
Partition num: 6, Filesystem type is fat, partition type 0xb
Partition num: 7, Filesystem type is fat, partition type 0xb
Partition num: 8, Filesystem type is ext2fs, partition type 0x83
Partition num: 9, Filesystem type unknown, partition type 0x82

如您所見,GRUB 的互動式硬碟和分區名稱實現功能非常有條理。這些,只需要好好理解 GRUB 新奇的硬碟和分區命名語法,然後就可以繼續*作了
grub> root (hd0,8)
現在已安裝了 root 文件系統,到裝入內核的時候了

grub> kernel /boot/vmlinuz-2.4.2 root=/dev/hda5 ro
[Linux-bzImage, setup=0x1200, size=0xe1a30]

您已經安裝了 root 文件系統並裝入了內核。現在,可以引導了。只要輸入 "boot",Linux 引導過程就將開始。是不是很cool啊,GRUB的menu.lst更像一個linux下的腳本程序。


#####################
# GRUB啟動盤 #
#####################
要製作引導盤,需執行一些簡單的步驟。首先,在新的軟盤上創建 ext2 文件系統。然後,將其安裝,並將一些 GRUB 文件複製到該文件系統,最後運行 "grub" 程序,它將負責設置軟盤的引導扇區。準備好了嗎?

將一張空盤插入 1.44MB 軟碟機,輸入:

# mke2fs /dev/fd0
創建了 ext2 文件系統后,需要安裝該文件系統:

# mount /dev/fd0 /mnt/floppy
現在,需要創建一些目錄,並將一些關鍵文件(原先安裝 GRUB 時已安裝了這些文件)複製到軟盤:

# mkdir /mnt/floppy/boot
# mkdir /mnt/floppy/boot/grub
# cp /boot/grub/stage1 /mnt/floppy/boot/grub
# cp /boot/grub/stage2 /mnt/floppy/boot/grub
再有一個步驟,就能得到可用的引導盤。

在linux bash中,從 root 用戶運行「grub」,該程序非常有趣並值得注意,因為它實際上是 GRUB 引導裝入器的半功能性版本。儘管 Linux 已經啟動並正在運行,您仍可以運行 GRUB 並執行某些任務,而且其界面與使用 GRUB 引導盤或將 GRUB 安裝到硬碟 MBR 時看到的界面(即GRUB控制台)完全相同。
在 grub> 提示符處,輸入:

grub> root (fd0)
grub> setup (fd0)
grub> quit

現在,引導盤完成了。
如果要把GRUB裝到硬碟上,也很容易。這個過程幾乎與引導盤安裝過程一樣。首先,需要決定哪個硬碟分區將成為 root GRUB 分區。在這個分區上,創建 /boot/grub 目錄,並將 stage1 和 stage2 文件複製到該目錄中,可以通過重新引導系統並使用引導盤,或者使用駐留版本的 GRUB 來執行后一步*作。在這兩種情況下,啟動 GRUB,並用 root 命令指定 root 分區。例如,如果將 stage1 和 stage2 文件複製到 hda5 的 /boot/grub 目錄中,應輸入 "root (hd0,4)"。接著,決定在哪裡安裝 GRUB -- 在硬碟的 MBR,或者如果與 GRUB 一起使用另一個「主」引導裝入器,則安裝在特定分區的引導記錄中。如果安裝到 MBR,則可以指定整個磁碟而不必指定分區,如下(對於 hda):

grub> setup (hd0)

如果要將 GRUB 安裝到 /dev/hda5 的引導記錄中,應輸入:

grub> setup (hd0,4)

現在,已安裝 GRUB。引導系統時,應該立即以 GRUB 的控制台方式結束(如果安裝到 MBR)。現在,應創建引導菜單,這樣就不必在每次引導系統時都輸入那些命令。



小結:在這裡只是介紹了 GRUB 的一部分。例如,可以使用 GRUB 來執行網路引導,引導 BSD 文件系統,或更多*作。另外,GRUB 有許多配置和安全性命令也很有用。如需所有 GRUB 功能的完整描述,請閱讀 GRUB 出色的 GNU 文檔。只要在 bash 提示中輸入 "info grub" 就可以閱讀該文檔。

[火星人 ] Linux入門教程系列已經有556次圍觀

http://coctec.com/docs/linux/show-post-137286.html