在Linux系統中,目錄被組織成一個:單根倒置樹結構,文件系統從根目錄開始,用/來表示。文件名稱區分大小寫( 大小寫敏感還需要看具體的文件系統格式 ),以.開頭的為隱藏文件,路徑用/來進行分割(windows中使用\來分割),文件有兩個種類:元數據與數據本身.在操作linux系統時,通常會遵循以下的分層結構規則:
LSB (Linux Standard Base) / FHS(Filesystem Hierarchy Standard)
1.文件系統結構
/:根目錄,位於Linux文件系統目錄結構的頂層,一般根目錄下只存放目錄,不要存放文件,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中。
/bin : 提供用戶使用的基本命令, 存放二進制命令,不允許關聯到獨立分區,OS啟動會用到里面的程序。
/boot:用於存放引導文件,內核文件,引導加載器.
/sbin:管理類的基本命令,不能關聯到獨立分區,OS啟動時會用到的程序(重要的命令通常處於bin,不重要的則安裝在sbin)。
/lib:存放系統在啟動時依賴的基本共享庫文件以及內核模塊文件. 系統使用的函數庫的目錄 也存放了大量的腳本庫文件 ,程序在執行過程中,需要調用時會用到
/lib64:存放64位系統上的輔助共享庫文件.
/etc: 系統配置文件存放的目錄,該目錄存放系統的大部分配置文件和子目錄,不建議在此目錄下存放可執行文件 。
/home:普通用戶主目錄,當新建賬戶時,都會分配在此,建議單獨分區,並分配額外空間用於存儲數據。
/root: 系統管理員root的宿主目錄,系統第一個啟動的分區為/,所以最好將/root和/放置在一個分區下。
/media:便攜式移動設備掛載點目錄.
/mnt:臨時文件系統掛載點.
/dev: 設備(device)文件目錄,存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,存放連接到計算機上的設備(終端、磁盤驅動器、光驅及網卡等)的對應文件 (b 隨機訪問,c 線性訪問)
/opt:第三方應用程序的安裝位置.
/srv: 服務啟動之后需要訪問的數據目錄,存放系統上運行的服務用到的數據,如www服務需要訪問的網頁數據存放在/srv/www內。
/tmp:存儲臨時文件, 任何人都可以訪問,重要數據一定不要放在此目錄下。
/usr: 應用程序存放目錄,/usr/bin 存放保證系統擁有完整功能而提供的應用程序, /usr/share 存放共享數據,/usr/lib 存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件,_/usr/local 存放軟件升級包,第三方應用程序的安裝位置,/usr/share/doc _系統說明文件存放目錄。
/var :放置系統中經常要發生變化的文件,如日志文件。/var/log 日志目錄及文件./var/tmp:保存系統兩次重啟之間產生的臨時數據.
/proc: 用於輸出內核與進程信息相關的虛擬文件系統,目錄中的數據都在內存中,如系統核心,外部設備,網絡狀態,由於數據都存放於內存中,所以不占用磁盤空間
**/sys **: 用於輸出當前系統上硬件設備相關的虛擬文件系統.
/selinux:存放selinux相關的信息安全策略等信息.
2.Linux下的文件類型
文件類型
在Linux中,使用命令查看文件,首字母會標記該文件的文件類型,一般有以下幾種類型:
- – : 普通文件
- d: 目錄文件
- b:塊文件
- c:字符文件
- l:符號鏈接文件
- p:管道文件pipe
- s:套字節文件socket
3.文件名規則
文件名最長為255字節(字節,不是字符)。包括路徑在內的文件名稱最長為4095字節。
文件顏色顯示不同,代表了不同的文件格式。(以下為默認格式,可以自定義)
藍色 -> 文件夾。
綠色 -> 可執行文件
紅色 -> 壓縮文件
淺藍色 -> 鏈接文件
灰色 ->其他文件
在Linux中,除了斜杠和NUL字符,都是合法的。不推薦使用特殊符號來命名文件或者目錄,容易引發混淆.比如空格, -,非要創建就用””引用起來,但如果遇到用特殊字符命名的特殊文件,在該文件上加上:文件路徑后即可進行查看,創建,刪除。
.. 表示父目錄 .表示當前目錄
4.絕對路徑與相對路徑
絕對路徑 :以正斜杠開始,表示該文件從根目錄開始的完整位置路徑,必須以根開始。
相對路徑 :不以斜杠開始,指該文件相對於該目錄的路徑或某個目錄的路徑,不以根開始。可以作為一個簡短的形式來指定一個文件名。
兩個常用的小命令:
basename : 取文件本身的名稱 不帶目錄
dirname : 取文件目錄 ,不帶文件名