回覆列表
  • 1 # SunnyZhang的IT世界

    home目錄在Linux稱為主目錄,在該目錄下面儲存的是每個使用者的目錄。也會是每個使用者的資料是儲存在該目錄下面的一個子目錄中。

    我們知道Linux是一個多使用者的作業系統,也就是在作業系統中可以建立多個使用者。通常在建立使用者的時候就會在home目錄下面自動建立一個同名的子目錄,也就是該使用者的主目錄。而該新建的使用者只有對該子目錄有全量的讀寫許可權。

    總結來說,home目錄是儲存每個使用者的主目錄,使用者的主目錄儲存使用者獨有的資料。

    在Linux中每個目錄都有其作用,下面我們列出主要目錄的具體作用。

    /bin – 使用者基礎二進位制檔案目錄

    目錄/bin是根目錄的一級子目錄。在該目錄中包含著最為基礎的使用者二進位制檔案,也就是應用程式。這個目錄非常像Windows下的Programs目錄。

    並非所有的應用程式都儲存在這個目錄下面,有些不是特別基礎的程式會儲存在/usr/bin目錄下面。比如Chrome瀏覽器等,或者使用者自己安裝的一些程式通常會在/usr/bin下面。而系統應用程式則通常會在該目錄下面,比如ls、mkdir和cp等等。

    如果你使用的桌面版的作業系統,可以透過GUI看到該目錄下的內容。下面這張圖是一個具體的例子。

    圖4 二進位制目錄

    /boot – 靜態啟動檔案

    在目錄/boot下面包含的檔案是用於啟動作業系統的檔案。比如GRUB boot loader檔案和作業系統核心等。但是boot loader的配置檔案並沒有在這裡,而是在/etc目錄中。

    /cdrom – 光碟安裝點

    目錄/cdrom並不是FHS標準的一部分,但是我們在絕大多數發行版中都可以看到。該目錄是光碟的臨時掛載點。

    /dev – 裝置檔案

    在Linux下面,裝置也是一個檔案,比如磁碟、優盤或者光碟等。包括無線網絡卡、攝像頭和串列埠等都是一個檔案。而通常這些檔案都是在/dev目錄下面,大家可以切換到該目錄下看看具體的內容。

    圖5 裝置目錄

    其中圖是/dev目錄的一個區域性截圖。在該目錄下面最常見的可能就是/dev/sda這種檔案,該檔案表示一個SCSI磁碟。

    處理實體裝置外,在該目錄下面還有很多偽裝置。比如/dev/random表示一個產生隨機數的裝置,/dev/loop0則是一個將本地檔案對映為磁碟的虛擬裝置。這些偽裝置有的時候非常用於,我們經常使用這些裝置做一些測試。

    圖6 GUI目錄

    /etc – 配置檔案

    作業系統和應用程式的配置檔案通常都統一儲存在一個目錄下面,這個目錄就是/etc。很多配置檔案都已文字檔案的形式儲存在這裡。我們可以透過文字編輯器修改配置項。比如網路的IP地址、Nginx的配置和系統日誌的配置等等都可以在這裡找到。

    /home –主目錄

    這個目錄稱為主目錄。在Linux作業系統下面通常每個使用者都有一個自己的目錄,該目錄就在/home下面。例如本例中有一個名為zhangsn的使用者,該使用者的主目錄在/home下如圖7所示。

    使用者的主目錄下面包含這資料檔案和使用者相關的配置檔案。通常一個使用者只能修改其目錄下的檔案,只有獲得授權的情況下才能訪問其它檔案。

    圖7 zhangsn的主目錄

    /lib – 基礎共享庫

    在/lib目錄中儲存的是/bin和/sbin中二進位制檔案(應用程式)需要的庫檔案。在/usr/bin下的應用程式依賴的庫通常在/usr/lib目錄下面。

    /lost+found – 可恢復的檔案

    每一個檔案系統都有一個lost+found目錄。如果檔案系統崩潰,在系統下次啟動的時候會進行資料檢查。在檢查的過程中如果發現有資料衝突的檔案就會將其放入該目錄中。這樣,你就可以試著手動恢復該檔案。

    /media – Removable Media

    在目錄/media下面包含的子目錄是一些可插拔裝置的掛載點。當一些可插拔裝置插入電腦時,在該目錄下會自動建立子目錄,並進行掛載。

    /mnt – 臨時掛載點目錄

    該目錄通常是空的。主要用於臨時掛載一些外部檔案系統。比如有多個數據磁碟的情況下,會將格式化的磁碟掛載到該目錄下面。mnt字元是mount的縮寫,也就是掛載的意思。

    /opt – 自選軟體包(Optional Packages)

    自行安裝的非常規軟體通常會安裝在該目錄。

    /proc – Kernel & Process Files

    該目錄也是一個虛擬目錄,也就是並不是儲存檔案資料的目錄。這個目錄中儲存的檔案通常是用來獲取作業系統核心內部資訊或者程序內部資訊的。

    圖8 proc目錄

    比如每個程序在該目錄下都有一個子目錄,而字母的名字就是程序ID。透過cat命令對該目錄下的檔案進行讀取,可以獲取程序的詳細資訊。例如我們進入目錄/proc/258下面,這個是程序ID為258的程序的資訊,透過ls命令可以看到如下內容。

    圖8 程序詳細資訊

    /root – root主目錄

    目錄/root是root使用者的主目錄。root使用者的主目錄並不是在/home下面,而是在根目錄下面。這一點需要注意。

    /run – 應用程式狀態檔案

    這個目錄是比較新的目錄,用於應用程式儲存經常變化的檔案,比如檔案鎖、程序ID或者套接字等等。

    /sbin – 系統管理二進位制檔案

    該目錄與/bin目錄類似,用於儲存二進位制檔案。與/bin目錄不同的地方是這個目錄儲存的是用於系統管理的二進位制檔案,比如磁碟格式化(mkfs)、磁碟分割槽(fdisk)和網路配置(ifconfig)等命令。

    圖9 系統命令

    /selinux – SELinux虛擬檔案系統

    如果你的Linux發行版使用SELinux作為安全管理,那麼該目錄包含著SELinux使用的相關檔案。

    /srv – 服務資料

    該目錄儲存具體服務提供的資料。通常該目錄是空的。這個目錄中的資料通常是提供給外部的,比如Web網站儲存的使用者資訊。這裡需要注意與/var和/tmp的區別,前者是提供給外部使用者的,而兩者則是應用自己使用的,而且/tmp中的資料重啟後會丟失。

    /tmp – 臨時檔案

    應用程式產生的臨時資料通常儲存在該目錄中。該目錄有一個特點,就是系統重啟後目錄中的資料將被清理。

    /usr – User Binaries & Read-Only Data

    與系統使用的應用程式和檔案不同,在/usr目錄下儲存的是使用者使用的應用程式的檔案。比如/bin下面儲存的系統二進位制檔案,而/usr/bin下面則是使用者使用的二進位制檔案。/lib下面儲存的系統庫檔案,而/usr/lib下面儲存的是用於應用程式使用的庫檔案。

    /var – 變數資料檔案

    /var目錄是/usr目錄對應的可寫目錄,在/usr目錄中的內容只讀的,而/var則是可寫的。日誌檔案和正常操作中的一些寫入操作通常會寫入/var目錄。例如,日誌檔案通常儲存在/var/log中。

  • 中秋節和大豐收的關聯?
  • 《七大罪》漫畫324話中,梅利奧達斯為弟妹格爾達擋刀,小黑傑魯會不會吃醋?