/bin: where binary programs live.
/boot: the special programs that start the system when you turn the machine on.
/dev: aaaaaalll the “device” listings for hardware of every concievable flavor, along with some “imaginary” devices,
lile /dev/null and /dev/zero. When you get a random number it usually comes from /dev/random.
/etc: configuration files.
/home: the user’s directories live here.
/lib: the library files that programs need to run, if they are compiled to link against these libraries.
/lost+found: look here after a system crash/kernel panic or other extreme scenario to find “orphaned” files.
/misc: kinda reminds you of /etc, doesn’t it? Every time I see this folder on a system, it’s empty, but I ascertain that
it stands for “miscellaneous”, and I think it may be a place for users to keep their own “/etc” type files?
/mnt: “mount”, the directory that acts as a gateway to every other disk or file system. Floppies are accessed from
/mnt/floppy, your second hard drive might be /mnt/hd here, and so on.
/opt: “optional”, where programs that are installed after the initial system install sometimes end up.
/proc: running “processes”. The “everything is a file” paradigm carried to the Linux degree! This folder hosts files
which keep tabs on boring stuff like what daemons are running and the process ID of Emacs while you have
Emacs open.
/root: root’s home!
/sbin: the “system-administrator’s bin file”, which hosts programs that would be in /bin if they didn’t have “root-only”
access permissions.
/tmp: “temporary” files, of use by programs which need to throw together a data file on-the-fly in preperation for
executing some other task. This folder gets flushed on reboot.
/usr: “user”. Practically a whole other system in here, /usr/bin is still more binaries, /usr/doc and /usr/share/doc are
documentation folders, /usr/share/games/fortune is where the funny quotes come from when you log on (if
that feature is enabled). The idea is that this should be where files/programs accessible by all users should
be, and thus your desktop backgrounds come from /usr/share/wallpapers, or such. The other case is newly
installed programs sometimes end up in /usr/local/bin.
/var: “variable”. System logs in here, recording such things as the last foo commands typed at the prompt, start-up
boot messages, and such.
中文的:
/bin 二進制可執行命令 binary
/dev 設備特殊文件 device
/etc 系統管理和配置文件 1,editable text configuration 2,etcetera
/etc/rc.d 啟動的配置文件和腳本 run commands
/home 用戶主目錄的基點,
/lib 標准程序設計庫,又叫動態鏈接共享庫 library
/sbin 系統管理命令,這裡存放的是系統管理員使用的管理程序 system binary
/tmp 共用的臨時文件存儲點 temporary
/root 系統管理員的主目錄
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統 mount
/lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸“的文件就在這裡
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息 processes
/var 某些大文件的溢出區,比方說各種服務的日志文件 variable
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包括:1,user 2, Unix System Resources
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟件包的配置文件
/usr/src 源代碼,linux內核的源代碼就放在這裡
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫
其中有的文件夾的解釋有多種,以後如果能找到原始的權威的解釋就好了.
linux各文件夾的作用
linux下的文件結構,看看每個文件夾都是干嗎用的
/bin 二進制可執行命令
/dev 設備特殊文件
/etc 系統管理和配置文件
/etc/rc.d 啟動的配置文件和腳本
/home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/lib 標准程序設計庫,又叫動態鏈接共享庫,作用類似windows裡的.dll文件
/sbin 系統管理命令,這裡存放的是系統管理員使用的管理程序
/tmp 公用的臨時文件存儲點
/root 系統管理員的主目錄(呵呵,特權階級)
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統。
/lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什麼.chk)就在這裡
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。
/var 某些大文件的溢出區,比方說各種服務的日志文件
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包含:
/usr/x11r6 存放x window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟件包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux裡
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫
通常情況下,根文件系統所占空間一般應該比較小,因為其中的絕大部分文件都不需要
經常改動,而且包括嚴格的文件和一個小的不經常改變的文件系統不容易損壞。
除了可能的一個叫/ v m l i n u z標准的系統引導映像之外,根目錄一般不含任何文件。所有
其他文件在根文件系統的子目錄中。
1. /bin目錄
/ b i n目錄包含了引導啟動所需的命令或普通用戶可能用的命令(可能在引導啟動後)。這些
命令都是二進制文件的可執行程序( b i n是b i n a r y - -二進制的簡稱),多是系統中重要的系統文件。
2. /sbin目錄
/ s b i n目錄類似/bin ,也用於存儲二進制文件。因為其中的大部分文件多是系統管理員使
用的基本的系統程序,所以雖然普通用戶必要且允許時可以使用,但一般不給普通用戶使用。
3. /etc目錄
/ e t c目錄存放著各種系統配置文件,其中包括了用戶信息文件/ e t c / p a s s w d,系統初始化文
件/ e t c / r c等。l i n u x正是*這些文件才得以正常地運行。
4. /root目錄
/root 目錄是超級用戶的目錄。
5. /lib目錄
/ l i b目錄是根文件系統上的程序所需的共享庫,存放了根文件系統程序運行所需的共享文
件。這些文件包含了可被許多程序共享的代碼,以避免每個程序都包含有相同的子程序的副
本,故可以使得可執行文件變得更小,節省空間。
6. /lib/modules 目錄
/lib/modules 目錄包含系統核心可加載各種模塊,尤其是那些在恢復損壞的系統時重新引
導系統所需的模塊(例如網絡和文件系統驅動)。
7. /dev目錄
/ d e v目錄存放了設備文件,即設備驅動程序,用戶通過這些文件訪問外部設備。比如,用
戶可以通過訪問/ d e v / m o u s e來訪問鼠標的輸入,就像訪問其他文件一樣。
8. /tmp目錄
/tmp 目錄存放程序在運行時產生的信息和數據。但在引導啟動後,運行的程序最好使用
/ v a r / t m p來代替/tmp ,因為前者可能擁有一個更大的磁盤空間。
9. /boot目錄
/ b o o t目錄存放引導加載器(bootstrap loader)使用的文件,如l i l o,核心映像也經常放在這裡,
而不是放在根目錄中。但是如果有許多核心映像,這個目錄就可能變得很大,這時使用單獨的
文件系統會更好一些。還有一點要注意的是,要確保核心映像必須在i d e硬盤的前1 0 2 4柱面內。
10. /mnt目錄
/ m n t目錄是系統管理員臨時安裝( m o u n t )文件系統的安裝點。程序並不自動支持安裝到
/mnt 。/mnt 下面可以分為許多子目錄,例如/mnt/dosa 可能是使用m s d o s文件系統的軟驅,
而/mnt/exta 可能是使用e x t 2文件系統的軟驅,/mnt/cdrom 光驅等等。
11. /proc, /usr,/var,/home目錄
其他文件系統的安裝點。
下面詳細介紹;
/etc文件系統
/etc 目錄包含各種系統配置文件,下面說明其中的一些。其他的你應該知道它們屬於哪個
程序,並閱讀該程序的m a n頁。許多網絡配置文件也在/etc 中。
1. /etc/rc或/etc/rc.d或/etc/rc?.d
啟動、或改變運行級時運行的腳本或腳本的目錄。
2. /etc/passwd
用戶數據庫,其中的域給出了用戶名、真實姓名、用戶起始目錄、加密口令和用戶的其
他信息。
3. /etc/fdprm
軟盤參數表,用以說明不同的軟盤格式。可用setfdprm 進行設置。更多的信息見s e t f d p r m
的幫助頁。
4. /etc/fstab
指定啟動時需要自動安裝的文件系統列表。也包括用swapon -a啟用的s w a p區的信息。
5. /etc/group
類似/etc/passwd ,但說明的不是用戶信息而是組的信息。包括組的各種數據。
6. /etc/inittab
init 的配置文件。
7. /etc/issue
包括用戶在登錄提示符前的輸出信息。通常包括系統的一段短說明或歡迎信息。具體內
容由系統管理員確定。
8. /etc/magic
“f i l e”的配置文件。包含不同文件格式的說明,“f i l e”基於它猜測文件類型。
9. /etc/motd
m o t d是message of the day的縮寫,用戶成功登錄後自動輸出。內容由系統管理員確定。
常用於通告信息,如計劃關機時間的警告等。
10. /etc/mtab
當前安裝的文件系統列表。由腳本( s c r i t p )初始化,並由mount 命令自動更新。當需要一
個當前安裝的文件系統的列表時使用(例如df 命令)。
11. /etc/shadow
在安裝了影子( s h a d o w )口令軟件的系統上的影子口令文件。影子口令文件將/ e t c / p a s s w d
文件中的加密口令移動到/ e t c / s h a d o w中,而後者只對超級用戶( r o o t )可讀。這使破譯口令更困
難,以此增加系統的安全性。
12. /etc/login.defs
l o g i n命令的配置文件。
13. /etc/printcap
類似/etc/termcap ,但針對打印機。語法不同。
14. /etc/profile 、/ e t c / c s h . l o g i n、/etc/csh.cshrc
登錄或啟動時b o u r n e或c shells執行的文件。這允許系統管理員為所有用戶建立全局缺省環境。
15. /etc/securetty
確認安全終端,即哪個終端允許超級用戶( r o o t )登錄。一般只列出虛擬控制台,這樣就不
可能(至少很困難)通過調制解調器( m o d e m )或網絡闖入系統並得到超級用戶特權。
16. /etc/shells
列出可以使用的s h e l l。chsh 命令允許用戶在本文件指定范圍內改變登錄的s h e l l。提供一
台機器f t p服務的服務進程ftpd 檢查用戶s h e l l是否列在/etc/shells 文件中,如果不是,將不允
許該用戶登錄。
17. /etc/termcap
終端性能數據庫。說明不同的終端用什麼“轉義序列”控制。寫程序時不直接輸出轉義
序列(這樣只能工作於特定品牌的終端),而是從/etc/termcap 中查找要做的工作的正確序列。
這樣,多數的程序可以在多數終端上運行。
/dev文件系統
/dev 目錄包括所有設備的設備文件。設備文件用特定的約定命名,這在設備列表中說明。
設備文件在安裝時由系統產生,以後可以用/dev/makedev 描述。/ d e v / m a k e d e v.local 是
系統管理員為本地設備文件(或連接)寫的描述文稿(即如一些非標准設備驅動不是標准
makedev 的一部分)。下面簡要介紹/ d e v下一些常用文件。
1. /dev/console
系統控制台,也就是直接和系統連接的監視器。
2. /dev/hd
i d e硬盤驅動程序接口。如: / d e v / h d a指的是第一個硬盤, h a d 1則是指/ d e v / h d a的第一個
分區。如系統中有其他的硬盤,則依次為/ d e v / h d b、/ d e v / h d c、… …;如有多個分區則依次為
h d a 1、h d a 2 … …
3. /dev/sd
s c s i磁盤驅動程序接口。如有系統有s c s i硬盤,就不會訪問/ d e v / h a d,而會訪問/ d e v / s d a。
4. /dev/fd
軟驅設備驅動程序。如: / d e v / f d 0指系統的第一個軟盤,也就是通常所說的a:盤,
/ d e v / f d 1指第二個軟盤,… …而/ d e v / f d 1 h 1 4 4 0則表示訪問驅動器1中的4 . 5高密盤。
5. /dev/st
s c s i磁帶驅動器驅動程序。
6. /dev/tty
提供虛擬控制台支持。如: / d e v / t t y 1指的是系統的第一個虛擬控制台, / d e v / t t y 2則是系統
的第二個虛擬控制台。
7. /dev/pty
提供遠程登陸偽終端支持。在進行te l n e t登錄時就要用到/ d e v / p t y設備。
8. /dev/ttys
計算機串行接口,對於d o s來說就是“ c o m 1”口。
9. /dev/cua
計算機串行接口,與調制解調器一起使用的設備。
10. /dev/null
“黑洞”,所有寫入該設備的信息都將消失。例如:當想要將屏幕上的輸出信息隱藏起來
時,只要將輸出信息輸入到/ d e v / n u l l中即可。
/usr文件系統
/usr 是個很重要的目錄,通常這一文件系統很大,因為所有程序安裝在這裡。/usr 裡的
所有文件一般來自l i n u x發行版( d i s t r i b u t i o n );本地安裝的程序和其他東西在/usr/local 下,因為這樣可以在升級新版系統或新發行版時無須重新安裝全部程序。/usr 目錄下的許多內容是
可選的,但這些功能會使用戶使用系統更加有效。/ u s r可容納許多大型的軟件包和它們的配置
文件。下面列出一些重要的目錄(一些不太重要的目錄被省略了)。
1. /usr/x11r6
包含x wi n d o w系統的所有可執行程序、配置文件和支持文件。為簡化x的開發和安裝,
x的文件沒有集成到系統中。x wi n d o w系統是一個功能強大的圖形環境,提供了大量的圖形
工具程序。用戶如果對microsoft wi n d o w s或m a c h i n t o s h比較熟悉的話,就不會對x wi n d o w系統感到束手無策了。
2. /usr/x386
類似/ u s r / x 11r6 ,但是是專門給x 11 release 5的。
3. /usr/bin
集中了幾乎所有用戶命令,是系統的軟件庫。另有些命令在/bin 或/usr/local/bin 中。
4. /usr/sbin
包括了根文件系統不必要的系統管理命令,例如多數服務程序。
5. /usr/man、/ u s r / i n f o、/ u s r / d o c
這些目錄包含所有手冊頁、g n u信息文檔和各種其他文檔文件。每個聯機手冊的“節”
都有兩個子目錄。例如: / u s r / m a n / m a n 1中包含聯機手冊第一節的源碼(沒有格式化的原始文
件),/ u s r / m a n / c a t 1包含第一節已格式化的內容。l聯機手冊分為以下九節:內部命令、系統調
用、庫函數、設備、文件格式、游戲、宏軟件包、系統管理和核心程序。
6. /usr/include
包含了c語言的頭文件,這些文件多以. h結尾,用來描述c語言程序中用到的數據結構、
子過程和常量。為了保持一致性,這實際上應該放在/usr/lib 下,但習慣上一直沿用了這個名
字。
7. /usr/lib
包含了程序或子系統的不變的數據文件,包括一些s i t e - w i d e配置文件。名字l i b來源於庫
(library); 編程的原始庫也存在/usr/lib 裡。當編譯程序時,程序便會和其中的庫進行連接。也
有許多程序把配置文件存入其中。
8. /usr/local
本地安裝的軟件和其他文件放在這裡。這與/ u s r很相似。用戶可能會在這發現一些比較大
的軟件包,如t e x、e m a c s等。
/var文件系統
/var 包含系統一般運行時要改變的數據。通常這些數據所在的目錄的大小是要經常變化
或擴充的。原來/ v a r目錄中有些內容是在/ u s r中的,但為了保持/ u s r目錄的相對穩定,就把那
些需要經常改變的目錄放到/ v a r中了。每個系統是特定的,即不通過網絡與其他計算機共享。
下面列出一些重要的目錄(一些不太重要的目錄省略了)。
1. /var/catman
包括了格式化過的幫助( m a n )頁。幫助頁的源文件一般存在/ u s r / m a n / m a n中;有些m a n頁
可能有預格式化的版本,存在/ u s r / m a n / c a t中。而其他的m a n頁在第一次看時都需要格式化,
格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了。
(/var/catman 經常被清除,就像清除臨時目錄一樣。)
2. /var/lib
存放系統正常運行時要改變的文件。
3. /var/local
存放/usr/local 中安裝的程序的可變數據(即系統管理員安裝的程序)。注意,如果必要,
即使本地安裝的程序也會使用其他/var 目錄,例如/var/lock 。
4. /var/lock
鎖定文件。許多程序遵循在/var/lock 中產生一個鎖定文件的約定,以用來支持他們正在
使用某個特定的設備或文件。其他程序注意到這個鎖定文件時,就不會再使用這個設備或文
件。
5. /var/log
各種程序的日志( l o g )文件,尤其是login (/var/log/wtmp log紀錄所有到系統的登錄和注
銷) 和syslog (/var/log/messages 紀錄存儲所有核心和系統程序信息)。/var/log 裡的文件經常不
確定地增長,應該定期清除。
6. /var/run
保存在下一次系統引導前有效的關於系統的信息文件。例如, /var/run/utmp 包含當前登
錄的用戶的信息。
7. /var/spool
放置“假脫機( s p o o l )”程序的目錄,如m a i l、n e w s、打印隊列和其他隊列工作的目錄。每
個不同的s p o o l在/var/spool 下有自己的子目錄,例如,用戶的郵箱就存放在/var/spool/mail 中。
8. /var/tmp
比/tmp 允許更大的或需要存在較長時間的臨時文件。
注意系統管理員可能不允許/var/tmp 有很舊的文件。
/proc文件系統
/proc 文件系統是一個偽的文件系統,就是說它是一個實際上不存在的目錄,因而這是一
個非常特殊的目錄。它並不存在於某個磁盤上,而是由核心在內存中產生。這個目錄用於提
供關於系統的信息。下面說明一些最重要的文件和目錄(/proc 文件系統在proc man頁中有更詳
細的說明)。
1. /proc/x
關於進程x的信息目錄,這一x是這一進程的標識號。每個進程在/proc 下有一個名為自
己進程號的目錄。
2. /proc/cpuinfo
存放處理器( c p u )的信息,如c p u的類型、制造商、型號和性能等。
3. /proc/devices
當前運行的核心配置的設備驅動的列表。
4. /proc/dma
顯示當前使用的d m a通道。
5. /proc/filesystems
核心配置的文件系統信息。
6. /proc/interrupts
顯示被占用的中斷信息和占用者的信息,以及被占用的數量。
7. /proc/ioports
當前使用的i / o端口。
8. /proc/kcore
系統物理內存映像。與物理內存大小完全一樣,然而實際上沒有占用這麼多內存;它僅
僅是在程序訪問它時才被創建。(注意:除非你把它拷貝到什麼地方,否則/proc 下沒有任何
東西占用任何磁盤空間。)
9. /proc/kmsg
核心輸出的消息。也會被送到s y s l o g。
10. /proc/ksyms
核心符號表。
11. /proc/loadavg
系統“平均負載”; 3個沒有意義的指示器指出系統當前的工作量。
12. /proc/meminfo
各種存儲器使用信息,包括物理內存和交換分區( s w a p )。
13. /proc/modules
存放當前加載了哪些核心模塊信息。
14. /proc/net
網絡協議狀態信息。
15. /proc/self
存放到查看/proc 的程序的進程目錄的符號連接。當2個進程查看/proc 時,這將會是不同
的連接。這主要便於程序得到它自己的進程目錄。
16. /proc/stat
系統的不同狀態,例如,系統啟動後頁面發生錯誤的次數。
17. /proc/uptime
系統啟動的時間長度。
18. /proc/version
核心版本。