Ubuntu/Linux入門介紹-Linux系統簡介(轉)

BSDLite發表於2007-08-17
Ubuntu/Linux入門介紹-Linux系統簡介(轉)[@more@]路徑
====
路徑分為絕對路徑和相對路徑。
絕對路徑的起始點為根目錄“/”,例如“/usr/local/bin”就是絕對路徑,它指向系統中的一個絕對的位置,不受任何因素影響。
而相對路徑的起始點為當前目錄,如果您現在位於“/usr”目錄,那麼相對路徑“local/bin”所指示的位置為“/usr/local/bin”。
也就是說,相對路徑所指示的位置,除了相對路徑本身,還要受到當前位置的影響。例如Linux系統中常見的目錄“/bin”、“/usr/bin”、 “/usr/local/bin”,如果只有一個相對路徑“bin”,那麼它指示的位置可能上面三個目錄中的任意一個,也可能是其它目錄。
如果我告訴您到“bin”目錄尋找一個檔案,您不可能知道我要告訴您的是哪一個目錄。只有當前位置確定,相對路徑指示的位置才能夠確定。現在我告訴您,我位於“/usr/local”目錄下,它的相對路徑“bin”中含有某個檔案。您就可以輕鬆的找到它了。

在相對路徑中 “.”表示當前目錄,“..”表示當前目錄的上一級目錄。
例如您安裝一個程式,它的主程式沒有被放置到上面三個“bin”目錄中的任何一個,或者其它系統能夠搜尋到的地方,這樣您就得告訴系統,它的可執行檔案在哪裡。
可以使用絕對路徑,例如:/home/user/bin/exe
或者定位到/home/user/bin 目錄,使用相對目錄來定位它 ./exe
如果您定位到了它的子目錄,比如/home/user/bin/gui,您可以使用“..”來表示它的上級目錄 ../exe


路徑相關命令
cd (change directory)改變目錄。
pwd (print working directory)顯示當前路徑。
ls (list)顯示當前目錄中的檔案列表。
您可以嘗試以下操作:
cd /etc 進入“/etc”目錄,這裡使用的是絕對路徑
pwd 顯示當前路徑,這個命令返回結果“/etc”
cd init.d 進入“/etc”目錄的子目錄“init.d”,這裡使用的是相對路徑
cd .. 進入上一級目錄“/etc”
cd ../home “/etc”目錄的上一級目錄為“/”,它的子目錄“home”為“/home”
cd - 回到上一次的目錄,我們在“/etc”目錄跳轉到“/home”目錄,所以這次是回到“/etc”目錄
cd ~ “~”代表當前使用者的“$HOME”目錄,也就是“/home/{使用者名稱}”目錄。
ls 在任何時候,您都可以使用“ls”命令,來了解當前目錄下都有哪些檔案。


遠端路徑:
遠端路徑的表示方法為“協議://使用者名稱:密碼@位置/路徑:埠”
大多數的遠端路徑可以使用預設埠匿名訪問,由此使用者名稱、密碼、埠通常不需要填寫。例如:


要求身份驗證的遠端路徑,您可以使用下面的方式訪問


軟體
====
Linux中沒有“登錄檔”的概念,因此安裝軟體,理論上只要複製所有相關檔案,並執行它的主程式就可以了。
按照傳統,一個軟體通常分別複製到同級目錄下的bin、etc、lib、share等資料夾。
bin目錄下為可執行檔案,我們將大部分程式的可執行檔案都放在這個目錄下,並且在環境變數中設定搜尋路徑,便不需要定位其路徑,可以直接執行命令。
etc目錄下為配置檔案,大部分系統程式的配置檔案儲存於“/etc”目錄,便於集中修改。
lib目錄下為庫檔案,庫檔案集中在一起,可以共享給不同程式使用。相較不同的軟體單獨儲存庫檔案,能夠節約一些磁碟空間。
share目錄下為程式執行所需要的其它資源,例如圖示、文字等,這部分檔案通常不能共享使用,而且目錄結構相對複雜,混放在一起會比較亂,所以單獨存放。

還有一些軟體,佔用一個單獨的目錄,所有的檔案都集中在一起,類似於Windows下的綠色軟體,不過這種方式並不推薦。
在執行時,系統找不到可執行檔案(系統搜尋所有路徑,資源開銷過大,是不現實的),需要定位其位置,像這樣/home/user/bin/exe,使用起來不夠方便。
配置程式,需要定位其目錄,如果同時配置多個系統軟體(許多系統軟體需要協作執行),切換目錄會非常繁瑣。
如果每個程式使用的庫檔案,比如圖形庫檔案,都單獨存放,那麼磁碟空間的浪費會非常嚴重。

有一些大型軟體,或者您佈署的重要應用,您可以將它們單獨安裝在一個資料夾下。(通常原始碼安裝支援這種方式,將在程式安裝部分介紹)


配置方式
========
Linux下沒有類似“登錄檔”的系統,系統和軟體選項都提供文字檔案的配置方式。
事實上,圖形介面的配置工具,通常也是以一種直觀的方式提供對配置檔案的修改。當然圖形介面配置工具只適合配置一些不太複雜的程式,如果一個軟體,有幾千個可以配置的選項,全部作成選單,您應該能夠想象那有多麼恐怖。
對於Linux系統來說,圖形介面的配置工具,只是用來編輯某一特定配置檔案的文字編輯器。您一樣可以使用通用文字編輯器來編輯這些配置檔案,比如 Nano、Gedit、Knote、Vim或者Emacs等等。不考慮您配置所佔用的時間,直接修改配置檔案甚至更迅速。
如果您只是要修改某一常用選項,而且經常需要修改,比如修改主機的IP地址,使用文字編輯器的話,您要找到相應的配置檔案,還要在配置檔案中找到相應的選項,會浪費掉您的時間和耐心。而圖形配置工具經常會受各種因素制約,比如網路伺服器中沒有安裝桌面環境,GUI介面不太穩定等等。這個時候,您可以使用命令列的配置工具來完成這些工作。
比如修改主機IP地址,可以使用ifconfig這個程式,執行下面的命令:
ifconfig eth0 192.168.0.1


Tips:在以後的章節中,如果我們提示您修改某一檔案,例如“/etc/fstab”,您可以使用您喜歡的任何文字編輯器開啟它。


隱藏檔案
========
Linux下,名稱中第一個字元為“.”的檔案或者資料夾,系統預設情況下將它們隱藏起來,
您可以嘗試以下操作:
cd ~ 進入您的使用者目錄
ls 檢視當前目錄下的檔案列表
ls -a 檢視所有檔案的檔案列表(包括隱藏檔案)。現在,您可以看到許多檔名以“.”起始的檔案或者資料夾了吧?使用“ls”命令無法顯示它們

Tips:每個目錄下都包含兩個特殊目錄“.”和“..”。您也許猜到了,“.”代表當前目錄,“..”代表上一級目錄。目錄是一種特殊型別的檔案!
如果您只想檢視隱藏檔案,而不包括這兩個特殊目錄,您可以使用“ls”命令的引數“-A” (ls -A)

檔案型別
========
Linux下,系統主要根據檔案頭資訊來判斷檔案的型別,副檔名並不是決定因素。
現在使用“ls -l”命令,檢視詳細資訊格式的檔案列表,您將會看到如下內容:
total 5
drwxr-x--- 4 user group 4096 Mar 10 00:37 a
drwxr-xr-x 21 user group 4096 Mar 10 20:16 b
-rw------- 1 user group 524 Mar 10 00:40 c
-rw-r--r-- 1 user group 24 Jun 11 2000 d
drwx------ 2 user group 4096 Mar 9 11:06 e

共顯示了七列資訊,從左至右依次為:許可權、檔案數、歸屬使用者、歸屬群組、檔案大小、建立日期、檔名稱

其中要特別留意的是第一列:
drwxr-xr-x
一共有10個位置,可以分為4組:
d rwx r-x r-x
第一組為“d”,表示這是一個資料夾;如果為空,也就是“-”,表示這是一個普通檔案;為“l”,表示這是一個符號連結;為“b”,表示它是塊裝置檔案;為“c”,表示它是字元裝置檔案。
剩下的3組分別為歸屬使用者、歸屬群組、其它使用者或群組對於該檔案的許可權。我們看它的格式
rwx “r”為可讀,“w”為可寫,“x”為可執行。它們的順便不能顛倒,某一位置為空(“-”)則表示不具有相應的許可權。


Tips:Linux下的可執行檔案並不是由其副檔名(例如“exe”)決定的,而是由其可執行許可權決定的。


許可權
====
我們已經知道了,檔案的許可權分為“r”(可讀)、“w”(可寫)、“x”(可執行)三種型別,而一個檔案可以針對歸屬使用者,歸屬群組,其它使用者使用者或群組分別設定許可權。
這種許可權管理的方式非常靈活。由於它本身非常簡單,所以穩定可靠,不會產生混亂。不過在最初的階段,您可能會不適應,因為時常需要與它打交道,而您習慣了的Windows的許可權管理卻不是這樣(非常混亂,大多數時間形同虛設,偶爾用到卻讓人傷透腦筋)。

您可以使用“chmod”命令來更改檔案的許可權,使用“chown”來更改檔案的歸屬。
例如:
chmod 755 xxx
chmod a+x xxx
上面命令中的“755”和“a+x”是兩種型別的表示式
chown user:group xxx 用來改變檔案的歸屬使用者,也可以改變其歸屬群組
chgrp group xxx 用來改變檔案的歸屬群組
我們將後面章節中詳細介紹 許可權與使用者管理


執行命令的許可權
有一些命令,普通使用者也可以執行,但是隻有root使用者才能執行成功,這是為什麼呢?
例如在系統中增加一個新使用者“useradd”
ls -l /usr/sbin/useradd 可以看到:
-rwxr-xr-x 1 root root 56156 2006-04-03 21:37 /usr/sbin/useradd
明明所有的使用者都可以執行嘛?
這是因為,“useradd”命令是修改“/etc/passwd”檔案的一個工具,來看看這個檔案:
ls -l /etc/passwd
-rw-r--r-- 1 root root 1835 2006-06-24 17:58 /etc/passwd
原來只有root使用者才能寫入修改結果,非root使用者執行“useradd”命令當然不會有結果。

執行命令的身份
預設情況下,您的命令提示符末位為“$”,這表示您將以普通使用者的身份執行命令。
您可以使用“su”(switch user)這個命令來切換其它使用者。
例如“su root”,切換到root使用者,如果“su”命令後面沒有切換目標,那麼這個命令預設切換到root使用者。
現在您執行“su”這個命令,系統會提示您輸入密碼,請輸入管理員的密碼。這個時候,您會發現命令提示符末位變成了“#”,您將以root使用者的身份執行命令。

Ubuntu系統預設會隨機設定系統的root密碼,這樣會更安全一些,這個時候您可以執行“sudo”命令,輸入當前使用者密碼後,暫時以root使用者的身份執行命令。(前提是sudoer列表中要包含您的ID。您在安裝Ubuntu系統時建立的使用者,預設具有“sudo”許可權)

Tips:如果您能夠執行“sudo”命令,那麼您也就擁有了root許可權。在後面的章節中,如果我們提到了“root許可權”,那麼您可以透過以上兩種方式來實現。

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

相關文章