Linux 每個目錄用途說明

為什麼會有這篇文章

因為在使用apt-get purge remove openvpn之後,發現系統里依然有很多openvpn名字的目錄或者文件,比如像下面這樣

/usr/sbin/openvpn/etc/default/openvpn/etc/network/if-down.d/openvpn/etc/network/if-up.d/openvpn/etc/bash_completion.d/openvpn/etc/init.d/openvpn/run/openvpn

有強迫症+潔癖的我當然就很不爽了,挨個查看之後,就刪掉了這些,但是對於一些目錄的用戶比較感興趣,就找到了下面這篇文章,英文的,翻譯了,留在這裡,增加自己對LINUX系統的了解。

Linux和Windows的區別

的顯著區別之一就是其不同的目錄結構,並不僅僅是格式上的不同,而是不同位置上保存的東西區別很大。

在Windows中,典型的路徑可能是這樣的 D:Foldersubfolderfile.txt,而在Linux中,路徑則是這樣的 /Folder/subfolder/file.txt

斜線傾斜的方向不同,並且,在Linux中,也沒有C盤D盤的概念,Linux系統啟動之後,根分區 就」掛載」在了在了 / 的位置,並且所有的文件、文件夾、設備以及不同的硬碟光碟機之類的,也都掛載在了 /

雖然可能在下面這個例子中並不明顯,但是Linux系統對文件或者文路徑的名稱中的大小寫字元是敏感的。

比如 /Folder/subfolder/file.txt/folder/subfolder/file.txt並不是同一個文件。

Linux系統目錄說明

Unix中和Linux的目錄結構是一個統一的目錄結構,所有的目錄和文件最終都統一到」/「根文件系統下。文件系統是無論是不是掛載過來的,最終都分層排列到以」/「為起始的文件系統之下。

Linux目錄結構遵循」文件系統層次結構(Filesystem Hierarchy Structure,FHS)」,這標準是由「自由標準組織(Free Standards Group)」進行維護的,然而大多數LINUX發行版都有意或者無意的與這一規範背離。

「/「 根路徑

這是Linux系統的「根」目錄,也是所有目錄結構的最底層。在UNIX以及和它兼容的系統中,」/「是一個單獨的目錄。

/boot

這個目錄下包含系統啟動文件(boot loader),例如Grub,Lilo或者Kernel,以及initrd,system.map等配置文件。

Initrd ramdisk或者」」initrd」」是指一個臨時文件系統,它在啟動階段被Linux內核調用。initrd主要用於當「根」文件系統被掛載之前,進行準備工作。

/sys

這個目錄下包含內核、固件以及系統相關文件。

/sbin

包含系統操作和運作所必需的二進位文件以及管理工具,主要就是可執行文件。類似WINDOWS下的EXE文件。

/bin

包含單用戶模式下的二進位文件以及工具程序,比如cat,ls,cp這些命令。

/lib

包含/sbin和/bin目錄下二進位文件運行所需要的庫文件。

/dev

內含必需的系統文件和驅動器。

/etc

內含系統配置文件,其下的目錄,比如 /etc/hosts, /etc/resolv.conf, nsswitch.conf, 以及系統預設設置,網路配置文件等等。以及一些系統和應用程序的配置文件。

/home

每一個用戶的在這個目錄下,都會單獨有一個以其用戶名命令的目錄,在這裡保存著用戶的個人設置文件,尤其是以 profile結尾的文件。但是也有例外,root用戶的數據就不在這個目錄中,而是單獨在根路徑下,保存在單獨的/root文件夾下。

/media

一個給所有可移動設備比如光碟機、USB外接盤、軟盤提供的常規掛載點。

/mnt

臨時文件系統掛載點。比如,你並不想長期掛載某個驅動器,而是只是臨時掛載一會U盤烤個MP3之類的,那麼應該掛載在這個位置下。

/opt

在Linux系統中,這個目錄用到的並不多,opt是 可選系統程序包(Optional Software Packages)的簡稱。這個目錄在UNIX系統,如Sun Solaris用途要廣泛的多。

/usr

用戶數據目錄,包含了屬於用戶的實用程序和應用程序。這裡有很多重要的,但並非關鍵的文件系統掛載這個路徑下面。在這裡,你會重新找到一個 bin、sbin 和 lib目錄,其中包含非關鍵用戶和系統二進位文件以及相關的庫和共享目錄,以及一些庫文件。

/usr/sbin

包含系統中非必備和並不是特別重要的系統二進位文件以及網路應用工具。

/usr/bin

包含用戶的非必備和並不是特別重要的二進位文件。

/usr/lib

保存著/usr/sbin以及/usr/bin中二進位文件所需要的庫文件。

/usr/share

「平台無關」的共享數據目錄。

/usr/local

是/usr下的二級目錄,這裡主要保存著包含系統二進位文件以及運行庫在內的本地系統數據。

/var

這個路徑下通常保存著包括系統日誌、印表機後台文件(spool files)、定時任務(crontab)、郵件、運行進程、進程鎖文件等。這個目錄尤其需要注意進行日常的檢查和維護,因為這個目錄下文件的大小可能會增長很快,以致於很快佔滿硬碟,然後導致系統便會出現各種奇奇怪怪的問題。

/tmp

顧名思義,這是一個臨時文件夾,專門用來保存臨時文件,每次系統重啟之後,這個目錄下的」臨時」文件便會被清空。同樣,/var/tmp 也同樣保存著臨時文件。兩者唯一的不同是,後者 /var/tmp目錄保存的文件會受到系統保護,系統重啟之後這個目錄下的文件也不會被清空。

/proc

這個目錄是駐留在系統內存中的虛擬(psuedo,偽)文件系統,其中保存的都是文本格式的系統內核和進程信息。

LINUX系統目錄結構圖

Linux Directory Structure in Visual View

需要注意的是,不同LINUX發行版本的目錄結構會有一些差異,這對LINUX新手來說比較糾結,但是大體上,所以LINUX的不同發行版本,都符合上面這幅圖片中的路徑結構。


推薦閱讀:

TAG:嵌入式系統 | Linux | 樹莓派RaspberryPi |