歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux目錄結構詳解

目錄概要:

/: 根目錄,一般根目錄下只存放目錄,不要存放文件,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中。 /bin && /usr/bin: 可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等。 /sbin && /usr/sbin && /usr/local/sbin: 放置系統管理員使用的可執行命令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理員root使用的命令,一般用戶只能"查看"而不能設置和使用。 /boot: 放置linux系統啟動時用到的一些文件,如/boot/vmlinuz(linux的內核文件)、/boot/grub(linux啟動時引導)。建議單獨分區,分區大小100M即可。 /dev: 存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,常用的是掛載光驅mount /dev/cdrom /mnt。 /etc: 系統配置文件存放的目錄,不建議在此目錄下存放可執行文件。重要的配置文件如/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d等,修改配置文件之前記得備份。注:/etc/X11存放與X server有關的設置。 /home: 系統默認的用戶目錄,新增用戶時,用戶的根目錄都存放在此目錄下,~表示當前用戶的根目錄,~test表示用戶test的根目錄。建議單獨分區,並設置較大的磁盤空間,方便用戶存放數據。 /lib && /usr/lib && /usr/local/lib: 系統使用的函數庫目錄,程序在執行過程中,調用額外參數時需要函數庫的協助。比較重要的目錄為/lib/modules。 /lost+fount: 系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下。通常這個目錄會自動生成,如加載硬盤於/disk 中,此目錄下就會自動產生目錄/disk/lost+found。 /mnt: && /media: 光盤默認掛載點,通常光盤掛載於/mnt/cdrom下,也可以選擇任意位置進行掛載。 /opt: 給主機額外安裝軟件所擺放的目錄。如:FC4使用的Fedora 社群開發軟件,如果想要自行安裝新的KDE 桌面軟件,可以將該軟件安裝在該目錄下。以前的 Linux 系統中,習慣放置在 /usr/local 目錄下 /proc: 此目錄的數據都在內存中,如系統核心、外部設備、網絡狀態。由於數據都存放於內存中,所以不占用磁盤空間。比較重要的目錄有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等。 /root: 系統管理員root的根目錄,系統第一個啟動的分區為/,所以最好將/root和/放置在一個分區下。 /tmp: 一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不能放置在此目錄下。 /srv: 服務啟動之後需要訪問的數據目錄,如www服務需要訪問的網頁數據存放在/srv/www內。 /usr: 應用程序存放目錄,/usr/bin存放應用程序;/usr/share存放共享數據;/usr/lib存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件;/usr/local存放軟件升級包;/usr/share/doc系統說明文件存放目錄;/usr/share/man程序說明文件存放目錄,使用man ls時會查詢/usr/share/man/man1/ls.1.gz的內容,建議單獨分區並設置較大的磁盤空間。 /var: 放置系統執行過程中經常變化的文件,/var/log存放日志文件;/var/log/message存放所有的登錄文件;/var/spool/mail存放郵件文件;/var/run存放程序或服務啟動後對應的PID,建議單獨分區。

詳細解釋:

Linux目錄結構詳解

/dev 目錄

****dev是設備(device)的英文縮寫。/dev這個目錄對所有的用戶都十分重要,因為在這個目錄中包含了所有Linux系統中使用的外部設備。但是這裡並不是放的外部設備的驅動程序,這一點和windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口。我們可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。

Linux沿襲Unix的風格,將所有設備認成是一個文件。設備文件分為兩種:塊設備文件(b)和字符設備文件(c)。設備文件一般存放在/dev目錄下,對常見設備文件作如下說明:
/dev/hd[a-t]:IDE設備
/dev/sd[a-z]:SCSI設備
/dev/fd[0-7]:標准軟驅
/dev/md[0-31]:軟raid設備
/dev/loop[0-7]:本地回環設備
/dev/ram[0-15]:內存
/dev/null:無限數據接收設備,相當於黑洞
/dev/zero:無限零資源
/dev/tty[0-63]:虛擬終端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:並口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:隨機數設備


/dev目錄下的節點是怎麼創建的?devf或者udev會自動幫你創建的。kobject是sysfs文件系統的基礎,udev通過監測、檢測sysfs來獲取新創建的設備的。

/etc 目錄
/etc/rc && /etc/rc.d && /etc/rc*.d:啟動、或改變運行級時運行的scripts或scripts的目錄
/etc/passwd:用戶數據庫,其中的域給出了用戶名、真實姓名、根目錄、加密的口令和用戶的其他信息
/etc/fstab:啟動時mount -a命令(在/etc/rc或等效的啟動文件中)自動mount的文件系統列表,Linux下,也包括用swapon -a啟用的swap區的信息
/etc/group:類似/etc/passwd,但說明的不是用戶而是組
/etc/inittab:init的配置文件
/etc/issue:getty在登錄提示符前的輸出信息,通常包括系統的一段短說明或歡迎信息。內容由系統管理員確定
/etc/motd:Message Of The Day,成功登錄後自動輸出,內容由系統管理員確定。經常用於通告信息,如計劃關機時間的警告
/etc/mtab:當前安裝的文件系統列表,由scripts初始化,並由mount命令自動更新。需要一個當前安裝的文件系統的列表時使用,例如df命令
/etc/shadow:在安裝了影子口令軟件的系統上的影子口令文件。影子口令文件將/etc/passwd文件中的加密口令移動到/etc/shadow中,而後者只對root可讀
/etc/login.defs:login命令的配置文件
/etc/printcap:類似/etc/termcap,但針對打印機語法不同
/etc/profile && /etc/csh.login && /etc/csh.cshrc:登錄或啟動時Bourne或C shells執行的文件,這允許系統管理員為所有用戶建立全局缺省環境
/etc/securetty:確認安全終端,即哪個終端允許root登錄。一般只列出虛擬控制台,這樣就不可能(至少很困難)通過modem或網絡闖入系統並得到超級用戶特權
/etc/shells:列出可信任的shell,chsh命令允許用戶在本文件指定范圍內改變登錄shell
/etc/sysconfig:網絡配置相關目錄


/usr 目錄

/usr文件系統經常很大,因為所有程序安裝在這裡。/usr裡的所有文件一般來自Linux distribution;本地安裝的程序和其他東西在/usr/local下。這樣可能在升級新版系統或新distribution時無須重新安裝全部程序。
/usr/etc 存放設置文件
/usr/games 存放游戲和教學文件
/usr/include 存放C開發工具的頭文件
/usr/share 存放結構獨立的數據
/usr/bin 幾乎所有用戶命令.有些命令在/bin或/usr/local/bin中
/usr/sbin 根文件系統不必要的系統管理命令,例如多數服務程序
/usr/share/man && /usr/share/info && /usr/share/doc 手冊頁、GNU信息文檔和各種其他文檔文件
/usr/include C編程語言的頭文件,為了一致性這實際上應該在/usr/lib 下,但傳統上支持這個名字
/usr/lib 程序或子系統的不變的數據文件,包括一些site-wide配置文件.名字lib來源於庫(library); 編程的原始庫存在/usr/lib 裡
/usr/local 本地安裝的軟件和其他文件放在這裡
/usr/src 存放程序的源代碼


文件種類:

正規文件(regular file):就是一般類型的文件,在由 ls –al 所顯示出來的屬性方面,第一個屬性為 [ - ]。另外,依照文件的內容,又大略可以分為兩種文件種類: 純文字文件(ascii):這是 Unix 系統中最多的一種啰,幾乎只要我們可以用來做為設定的文件都屬於這一種; 二進制文件(binary):通常執行檔除了 scripts (文字型批次文件)之外,就是這一種文件格式; 目錄(directory):就是目錄!第一個屬性為 [ d ]; 連結檔(link):就是類似 Windows 底下的快捷方式啦!第一個屬性為 [ l ]; 設備檔(device):與系統周邊相關的一些文件,通常都集中在 /dev 這個目錄之下!通常又分為兩種: 區塊(block)設備檔:就是一些儲存數據,以提供系統存取的接口設備,簡單的說就是硬盤啦!例如你的一號硬盤的代碼是 /dev/hda1 等等的文件啦!第一個屬性為 [ b ]; 字符(character)設備檔:亦即是一些串行端口的接口設備,例如鍵盤、鼠標等等!第一個屬性為 [ c ]。

Copyright © Linux教程網 All Rights Reserved