在 Linux 下,咱們看到的是文件夾(目錄):linux
以CentOS 7爲例windows
在早期的 UNIX 系統中,各個廠家各自定義了本身的 UNIX 系統文件目錄,比較混亂。Linux 面世不久後,對文件目錄進行了標準化,於1994年對根文件目錄作了統一的規範,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系統層次結構標準。FHS 標準規定了 Linux 根目錄各文件夾的名稱及做用,統一了Linux界命名混亂的局面。網絡
不管何種版本的 Linux 發行版,桌面、應用是 Linux 的外衣,文件組織、目錄結構纔是Linux的心裏。socket
FHS
(英文:Filesystem Hierarchy Standard
中文:文件系統層次結構標準),多數 Linux 版本採用這種文件組織形式,FHS 定義了系統中每一個區域的用途、所須要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理。 FHS 定義了兩層規範,第一層是, /
下面的各個目錄應該要放什麼文件數據,例如 /etc
應該要放置設置文件,/bin
與 /sbin
則應該要放置可執行文件等等。函數
第二層則是針對 /usr
及 /var
這兩個目錄的子目錄來定義。例如 /var/log
放置系統登陸文件、/usr/share
放置共享數據等等。學習
FHS
是根據以往無數 Linux 用戶和開發者的經驗總結出來的,而且會維持更新,FHS 依據文件系統使用的頻繁與否以及是否容許用戶隨意改動(注意,不是不能,學習過程當中,不要怕這些),將目錄定義爲四種交互做用的形態,以下表所示: ui
/
:根目錄,通常根目錄下只存放目錄,不要存放件,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中 spa
/bin: /usr/bin: 可執行二進制文件的目錄,如經常使用的命令ls、tar、mv、cat等。操作系統
/boot:放置linux系統啓動時用到的一些文件。/boot/vmlinuz 爲 linux 的內核文件,以及 /boot/gurb。建議單獨分區,分區大小100M便可日誌
/dev:存放linux系統下的設備文件,訪問該目錄下某個文件,至關於訪問某個設備,經常使用的是掛載光驅 mount /dev/cdrom /mnt。
/etc:系統配置文件存放的目錄,不建議在此目錄下存放可執行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X十一、/etc/sysconfig、/etc/xinetd.d修改配置文件以前記得備份。
注:/etc/X11 存放與 x windows 有關的設置。
/home:系統默認的用戶家目錄,新增用戶帳號時,用戶的家目錄都存放在此目錄下,~表示當前用戶的家目錄,~edu 表示用戶 edu 的家目錄。建議單獨分區,並設置較大的磁盤空間,方便用戶存放數據
/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和 /放置在一個分區下。
/sbin: /usr/sbin: /usr/local/sbin:放置系統管理員使用的可執行命令,如fdisk、shutdown、mount 等。與 /bin 不一樣的是,這幾個目錄是給系統管理員 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存放在該目錄下。建議單獨分區,設置較大的磁盤空
文件分類:
1)普通文件( 數據文件 )
普通文件是用於存放數據、程序等信息的文件,通常都長期地存放在外存儲器(磁盤)中。普通文件又分爲文本文件和二進制文件。
2)目錄文件
目錄文件是文件系統中一個目錄所包含的目錄項所組成的文件。
3)設備文件
設備文件是用於爲操做系統與設備提供鏈接的一種文件。在Linux系統中將設備做爲文件來處理,操做設備就像是操做普通文件同樣。每個設備對應一個設備文件,存放在 /dev 目錄中。
5)連接文件
似於 windows 下的快捷方式,連接又能夠分爲軟連接(符號連接)和硬連接。
6)管道文件
管道文件主要用於在進程間傳遞數據的一種特殊文件。
7)套接口文件
主要用於不一樣計算機間網絡通訊的一種特殊文件。