介紹LINUX目錄樹
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-03 09:55:15
Linux 操作系統(tǒng)是UNIX 操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991 年的10 月5 日(這是次正式向外公布的時間)。以后借助于Internet 網(wǎng)絡(luò),并經(jīng)過全世界各地計算機(jī)愛好者的共同努力下,現(xiàn)已成為今天世界上使用多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。 Linux 操作系統(tǒng)的誕生、發(fā)展和成長過程始終依賴著以下五個重要支柱:UNIX 操作系統(tǒng)、MINIX 操作系統(tǒng)、GNU 計劃、POSIX 標(biāo)準(zhǔn)和Internet 網(wǎng)絡(luò)。 下面主要根據(jù)這五個基本線索來追尋一下Linux 的開發(fā)歷程,它的醞釀過程,初的發(fā)展經(jīng)歷。首先分別介紹其中的四個基本要素(UNIX、MINIX、GNU 和POSIX,Internet 的重要性顯而易見,所以不用對其羅嗦),然后根據(jù)Linux 的創(chuàng)始人Linus Toravlds 從對計算機(jī)感興趣而自學(xué)計算機(jī)知識,到心里開始醞釀編制一個自己的操作系統(tǒng),到初Linux 內(nèi)核0.01 版公布,以及從此如何艱難地一步一個腳印地在全世界hacker 的幫助下推出比較完善的1.0 版本這段時間的發(fā)展經(jīng)過,也即對Linux 的早期發(fā)展歷史進(jìn)行詳細(xì)介紹 Linux用來支持各種體系結(jié)構(gòu)的源代碼包含大約4500個C語言程序,存放在270個左右的子目錄下,總共大約包含200萬行代碼,大概占用58MB磁盤空間。
Linux 系統(tǒng)支持十多種文件系統(tǒng)jfs,ReiserFS,ext,ext2,ext3,iso9660,xfs,minx,msdos,umsdos,Vfat,NTFS,Hpfs,Nfs,smb,sysv,proc 等.
一, ext ext 是個專門為 Linux 的文件系統(tǒng)類型,叫做擴(kuò)展文件系統(tǒng).
二, ext2 ext2 是為解決 ext 文件系統(tǒng)的缺陷而設(shè)計的可擴(kuò)展的高性能的文件系統(tǒng).又被稱為 二級擴(kuò)展文件系統(tǒng)
三, ext3 ext3 是由開放資源社區(qū)開發(fā)的日志文件系統(tǒng),. ext3 被設(shè)計成是 ext2 的升級版本。
四, jsf jsf 提供了基于日志的字節(jié)級文件系統(tǒng),該文件系統(tǒng)是為面向事務(wù)的高性能系統(tǒng)而開發(fā)的。
五,ReiserFS ReiserFS 基于平 衡樹結(jié)構(gòu)的 、ReiserFS 文件系統(tǒng)在網(wǎng)上公布.ReiserFS 3.6.x(作為 Linux 2.4 一部分 的版本),設(shè)計成員相信的文件系統(tǒng)是那些能夠有助于創(chuàng)建獨立的共享環(huán)境或者命名空間的文件系統(tǒng)。
六,Xfs xfs 是一種非常的日志文件系統(tǒng),它是 SGI 公司設(shè)計的.xfs 被稱為業(yè)界 的,可升級性的文件系統(tǒng)技術(shù).它是一個全 64 位,快速,穩(wěn)固的日志文件系統(tǒng),
目錄樹可以分為小的部分,每個部分可以在自己的磁盤或分區(qū)上。主要部分是根、/usr 、/var 和 /home 文件系統(tǒng)。每個部分有不同的目的。
每臺機(jī)器都有根文件系統(tǒng),它包含系統(tǒng)引導(dǎo)和使其他文件系統(tǒng)得以mount所必要的文件,根文件系統(tǒng)應(yīng)該有單用戶狀態(tài)所必須的足夠的內(nèi)容。還應(yīng)該包括修復(fù)損壞系統(tǒng)、恢復(fù)備份等的工具。
/usr 文件系統(tǒng)包含所有命令、庫、man頁和其他一般操作中所需的不改變的文件。 /usr 不應(yīng)該有一般使用中要修改的文件。這樣允許此文件系統(tǒng)中的文件通過網(wǎng)絡(luò)共享,這樣可以更有效,因為這樣節(jié)省了磁盤空間(/usr 很容易是數(shù)百兆),且易于管理(當(dāng)升級應(yīng)用時,只有主/usr 需要改變,而無須改變每臺機(jī)器) 即使此文件系統(tǒng)在本地盤上,也可以只讀mount,以減少系統(tǒng)崩潰時文件系統(tǒng)的損壞。
/var 文件系統(tǒng)包含會改變的文件,比如spool目錄(mail、news、打印機(jī)等用的), log文件、formatted manual pages和暫存文件。傳統(tǒng)上/var 的所有東西曾在 /usr 下的某個地方,但這樣/usr 就不可能只讀安裝了。
/home 文件系統(tǒng)包含用戶家目錄,即系統(tǒng)上的所有實際數(shù)據(jù)。一個大的/home 可能要分為若干文件系統(tǒng),需要在/home 下加名字,如/home/students 、/home/staff 等。
雖然上面將不同的部分稱為文件系統(tǒng),但它們不必是真的分離的文件系統(tǒng)。如果系統(tǒng)是小的單用戶系統(tǒng),而用戶希望簡單化,可以很容易地放在一個文件系統(tǒng)中。根據(jù)磁盤容量和不同目的所需分配的空間,目錄樹也可以分到不同的文件系統(tǒng)中。重要的是使用標(biāo)準(zhǔn)的名字,即使/var 和/usr 在同一分區(qū)上,名字/usr/lib/libc.a 和/var/adm/messages 必須能工作,例如將/var 下的文件移動到/usr/var ,并將/var 作為/usr/var 的符號連接。
Unix文件結(jié)構(gòu)根據(jù)目的來分組文件,即所有的命令在一個地方,所有的數(shù)據(jù)在另一個地方,所有的文檔又在一個地方,等等。另一個方法是根據(jù)屬于的程序分組文件,即所有Emacs文件在一個目錄中,所有TeX文件在另一個中,等等。后一種方法的問題是文件難于共享(程序目錄經(jīng)常同時包含靜態(tài)可共享的和動態(tài)不可共享的文件),有時難于查找 (例如man頁在極大數(shù)量的地方,使man程序查找它們極其困難)。
根文件系統(tǒng)一般應(yīng)該比較小,因為包括嚴(yán)格的文件和一個小的不經(jīng)常改變的文件系統(tǒng)不容易損壞。損壞的根文件系統(tǒng)一般意味著除非用特定的方法(例如從軟盤)系統(tǒng)無法引導(dǎo)。
根目錄一般不含任何文件,除了可能的標(biāo)準(zhǔn)的系統(tǒng)引導(dǎo)映象,通常叫/vmlinuz 。所有其他文件在根文件系統(tǒng)的子目錄中。
/bin 引導(dǎo)啟動所需的命令或普通用戶可能用的命令(可能在引導(dǎo)啟動后)。
/sbin 類似/bin ,但不給普通用戶使用,雖然如果必要且允許時可以使用。
/etc 特定機(jī)器的配置文件。
/root root用戶的家目錄。
/lib 根文件系統(tǒng)上的程序所需的共享庫。
/lib/modules 可加載模塊,特別是那些恢復(fù)損壞系統(tǒng)時引導(dǎo)所需的(例如網(wǎng)絡(luò)和文件系統(tǒng)驅(qū)動)。
/boot 引導(dǎo)加載器(bootstrap loader)使用的文件,如LILO。映象也經(jīng)常在這里,而不是在根目錄。如果有許多映象,這個目錄可能變得很大,這時可能使用單獨的文件系統(tǒng)更好。另一個理由是要確保映象必須在IDE硬盤的前1024柱面內(nèi)。
/mnt 系統(tǒng)管理員臨時mount的安裝點。程序并不自動支持安裝到/mnt 。 /mnt 可以分為子目錄(例如/mnt/dosa 可能是使用MSDOS文件系統(tǒng)的軟驅(qū),而/mnt/exta 可能是使用ext2文件系統(tǒng)的軟驅(qū))。
/etc 目錄包含很多文件。許多網(wǎng)絡(luò)配置文件也在/etc 中。
/etc/rc or /etc/rc.d or /etc/rc*.d 啟動、或改變運行級時運行的scripts或scripts的目錄。
/etc/passwd 用戶數(shù)據(jù)庫,其中的域給出了用戶名、真實姓名、家目錄、加密的口令和用戶的其他信息。
/etc/fdprm 軟盤參數(shù)表。說明不同的軟盤格式。用setfdprm 設(shè)置。
/etc/fstab 啟動時mount -a命令(在/etc/rc 或等效的啟動文件中)自動mount的文件系統(tǒng)列表。 Linux下,也包括用swapon -a啟用的swap區(qū)的信息。
/etc/group 類似/etc/passwd ,但說明的不是用戶而是組。
/etc/inittab init 的配置文件。
/etc/issue getty 在登錄提示符前的輸出信息。通常包括系統(tǒng)的一段短說明或歡迎信息。內(nèi)容由系統(tǒng)管理員確定。
/etc/magic file 的配置文件。包含不同文件格式的說明,file 基于它猜測文件類型。
/etc/motd Message Of The Day,成功登錄后自動輸出。內(nèi)容由系統(tǒng)管理員確定。經(jīng)常用于通告信息,如計劃關(guān)機(jī)時間的警告。
/etc/shadow 在安裝了影子口令軟件的系統(tǒng)上的影子口令文件。影子口令文件將/etc/passwd 文件中的加密口令移動到/etc/shadow 中,而后者只對root可讀。這使破譯口令更困難。
/etc/login.defs login 命令的配置文件。
/etc/printcap 類似/etc/termcap ,但針對打印機(jī)。語法不同。
/etc/profile , /etc/csh.login , /etc/csh.cshrc 登錄或啟動時Bourne或C shells執(zhí)行的文件。這允許系統(tǒng)管理員為所有用戶建立全局缺省環(huán)境。
/etc/securetty 確認(rèn)安全終端,即哪個終端允許root登錄。一般只列出虛擬控制臺,這樣就不可能(至少很困難)通過modem或網(wǎng)絡(luò)闖入系統(tǒng)并得到超級用戶特權(quán)。
/etc/shells 列出可信任的shell。chsh 命令允許用戶在本文件指定范圍內(nèi)改變登錄shell。提供一臺機(jī)器FTP服務(wù)的服務(wù)進(jìn)程ftpd 檢查用戶shell是否列在 /etc/shells 文件中,如果不是將不允許該用戶登錄。
/etc/termcap 終端性能數(shù)據(jù)庫。說明不同的終端用什么"轉(zhuǎn)義序列"控制。寫程序時不直接輸出轉(zhuǎn)義序列(這樣只能工作于特定品牌的終端),而是從/etc/termcap 中查找要做的工作的正確序列。這樣,多數(shù)的程序可以在多數(shù)終端上運行。
/dev目錄 /dev 目錄包括所有設(shè)備的設(shè)備文件。設(shè)備文件用特定的約定命名。
/usr文件系統(tǒng) /usr 文件系統(tǒng)經(jīng)常很大,因為所有程序安裝在這里。 /usr 里的所有文件一般來自Linux distribution;本地安裝的程序和其他東西在/usr/local 下。這樣可能在升級新版系統(tǒng)或新distribution時無須重新安裝全部程序。
/usr/X11R6 X Window系統(tǒng)的所有文件。為簡化X的開發(fā)和安裝,X的文件沒有集成到系統(tǒng)中。 X自己在/usr/X11R6 下類似/usr 。
/usr/X386 類似/usr/X11R6 ,但是給X11 Release 5的。
/usr/bin 幾乎所有用戶命令。有些命令在/bin 或/usr/local/bin 中。
/usr/man , /usr/info , /usr/doc 手冊頁、GNU信息文檔和各種其他文檔文件。
/usr/include C編程語言的頭文件。為了一致性這實際上應(yīng)該在/usr/lib 下,但傳統(tǒng)上支持這個名字。
/usr/lib 程序或子系統(tǒng)的不變的數(shù)據(jù)文件,包括一些site-wide配置文件。名字lib來源于庫(library); 編程的原始庫存在/usr/lib 里。
/usr/local 本地安裝的軟件和其他文件放在這里。
/var 包括系統(tǒng)一般運行時要改變的數(shù)據(jù)。每個系統(tǒng)是特定的,即不通過網(wǎng)絡(luò)與其他計算機(jī)共享。
/var/catman 當(dāng)要求格式化時的man頁的cache。man頁的源文件一般存在/usr/man/man* 中;有些man頁可能有預(yù)格式化的版本,存在/usr/man/cat* 中。而其他的man頁在次看時需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了。 (/var/catman 經(jīng)常被清除,就象清除臨時目錄一樣。
/var/lib 系統(tǒng)正常運行時要改變的文件。
/proc 文件系統(tǒng)是一個假的文件系統(tǒng)。它不存在在磁盤某個磁盤上。而是由在內(nèi)存中產(chǎn)生。用于提供關(guān)于系統(tǒng)的信息(originally about processes, hence the name)。下面說明一些重要的文件和目錄。
/proc/1 關(guān)于進(jìn)程1的信息目錄。每個進(jìn)程在/proc 下有一個名為其進(jìn)程號的目錄。
/proc/cpuinfo 處理器信息,如類型、制造商、型號和性能。
/proc/devices 當(dāng)前運行的配置的設(shè)備驅(qū)動的列表。
/proc/dma 顯示當(dāng)前使用的DMA通道。
/proc/filesystems 配置的文件系統(tǒng)。
/proc/interrupts 顯示使用的中斷,and how many of each there have been.
/proc/ioports 當(dāng)前使用的I/O端口。
/proc/kcore 系統(tǒng)物理內(nèi)存映象。與物理內(nèi)存大小完全一樣,但不實際占用這么多內(nèi)存;it is generated on the fly as programs access it. (記住:除非你把它拷貝到什么地方,/proc 下沒有任何東西占用任何磁盤空間。)
/proc/kmsg 輸出的消息。也被送到syslog 。
/proc/ksyms 符號表。
/proc/loadavg 系統(tǒng)"平均負(fù)載";3個指示器指出系統(tǒng)當(dāng)前的工作量。
/proc/meminfo 存儲器使用信息,包括物理內(nèi)存和swap。
/proc/modules 當(dāng)前加載了哪些模塊。
/proc/self 到查看/proc 的程序的進(jìn)程目錄的符號連接。當(dāng)2個進(jìn)程查看/proc 時,是不同的連接。這主要便于程序得到它自己的進(jìn)程目錄。
/proc/stat 系統(tǒng)的不同狀態(tài),such as the number of page faults since the system was booted.
/proc/uptime 系統(tǒng)啟動的時間長度。
/proc/version 版本。
Linux何以備受青睞,致使除微軟以外,國際上有名的硬、軟件廠商都毫無例外地與之結(jié)盟、捆綁。甚至連世界IT的龍頭老大“藍(lán)后巨人”IBM也要“全面擁抱Linux”呢?
首先,Linux作為自由軟件有兩個特點:一是它提供源碼,二是愛好者可以按照自己的需要自由修改、復(fù)制和發(fā)布程序的源碼,并公布在Internet上。這就吸引了世界各地的操作系統(tǒng)高手為Linux編寫各種各樣的驅(qū)動程序和應(yīng)用軟件,使得Linux成為一種不僅只是一個內(nèi)核,而且包括系統(tǒng)管理工具、完整的開發(fā)環(huán)境和開發(fā)工具、應(yīng)用軟件在內(nèi),用戶很容易獲得的操作系統(tǒng)。
由于可以得到Linux的源碼,所以操作系統(tǒng)的內(nèi)部邏輯可見,這樣就可以準(zhǔn)確地查明故障原因,及時采取相應(yīng)對策。在必要的情況下,用戶可以及時地為Linux打 “補丁”(這正是筆者前面文章中討論的集市模式開發(fā)軟件本質(zhì)的內(nèi)容),這是其它操作系統(tǒng)所沒有的優(yōu)勢。同時,這也使得用戶容易根據(jù)操作系統(tǒng)的特點構(gòu)建安全保障系統(tǒng),不會由于不了解不公開源碼的 “黑盒子”式的系統(tǒng)預(yù)留的什么 “后門”而受到意外的打擊。
第二,究其根本,Linux是一個UNIX系統(tǒng)變種,因此也就具有了Unix系統(tǒng)的一系列優(yōu)良特性,Unix上的應(yīng)用可以很方便地移植到Linux平臺上,這使得Unix用戶很容易掌握Linux。下面簡要地描述UNIX亦即Linux的一系列特色。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









