日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

文件系统之FHS

發布時間:2024/1/1 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件系统之FHS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1 什么是FHS
      • 2 根目錄(/)的內容與意義
      • 3 /usr 內容與意義
      • 4 /var 的內容與意義
      • 5 針對 FHS 各家發行版的一同,與CentOS 7的變化

1 什么是FHS

? 總所周知 Linux 是開源的,各個不同發行版本的社區、公司及個人實在是太多了,如果每個人都用自己的想法來配置文件放置的目錄,那么將造成各個系統不兼容的情況(如當初網絡協議各家私有,現在基本上統一TCP/IP),后來就有所謂的 Filesystem Hierarchy Standand 文件系統層級標準出爐。其主要目的是希望讓用戶可以了解到數據通常放置于哪個目錄下,也就是說,FHS 的重點在于規范每個特定的目錄下應該要 放置什么樣子的數據而已。

? FHS 依據文件系統使用的頻繁程度和是否允許用戶所以修改,將目錄定義成四種交互 作用的狀態:

  • 可分享的(shareable):可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據,是能夠分享給網絡上其他主機掛載用的目錄
  • 不可分享的(unshareable):自己機器上面運行的設備文件或者是與程序有關的 socket 文件等,由于僅與自身機器有關,所以不適合分享給其他主機。
  • 不變的(static):有些數據是不會經常變動的,只會隨著系統版本而變動。例如函數庫、說明文件、系統管理員所管理的主機服務配置文件等。
  • 可變動的(variable):經常修改的數據,例如日志文件、一般用戶可自行接收的新聞組等。
shareableunshareable
static/usr (軟件放置處)/etc (配置文件)
/opt (第三方輔助軟件)/boot (啟動與內核文件)
variable/var/mail (用戶郵箱)/var/run (程序相關)
/var/spool/news (新聞組)/var/lock (程序相關)

? 事實上 FHS 針對目錄樹架構僅定義出三層目錄下面應該放置什么數據而已,分別是下面這三個目錄的定義:

  • /(root,根目錄):與系統啟動有關
  • /usr(unix software resource):與軟件安裝、執行有關
  • /var(variable):與系統運行過程有關

2 根目錄(/)的內容與意義

? 根目錄是整個系統最重要的一個目錄,因為不但所有的目錄都是由根目錄衍生出來,同時根目錄也與啟動、還原、系統修復等操作有關

FHS 要求必須要存在的目錄應放置文件的內容
/bin存放基本命令二進制文件。系統有很多存放執行文件的目錄,但/bin比較特殊。因為/bin 放置的是在單人維護模式下還能夠被使用的命令。在/bin 下面的命令可以被root 與一般賬號使用,主要有:cat、chmod、chown、date、mv、mkdir、cp等常用命令
/boot存放引導加載成勛的靜態文件,包括LInux 內核文件以及啟動選項與啟動所需配置文件等。
/dev存放設備文件。在Llinux中一切皆文件,任何設備與接口設備都是以文件的形式存在于這個目錄中。通過讀取這個目錄下面的某個文件,就等于讀寫某個設備,比較重要的文件有/dev/null、/dev/zero、/dev/tty等
/etc存放系統主要的配置文件,如賬號密碼文件、各種服務的啟動文件等。一般來說這個目錄下的個文件是可以讓一般用戶看的,但只有root有權利修改。比較重要的文件有:/etc/passwd、/etc/shadow、/etc/fstab等
/lib放置啟動時會用到的函數庫,以及在/bin、/sbin下面的命令會調用的函數庫
/media放置可刪除的設備,包括軟盤、光盤、DVD等設備都暫時掛載于此(一般系統自動掛載的)
/mnt臨時掛載某些額外的設備可以放置到這個目錄中,一般用于手動掛載
/opt給第三方輔助軟件放置的目錄,如KED桌面管理系統。在以前的Linux中還是習慣放在/usr/local下
/run存放系統啟動后所產生的各種runtime信息
/sbin啟動過程中所需要的,包括了啟動、修復、還原系統所需要的命令,如fdisk、fsck、ifconfig等。其他某些服務器軟件,一般放置在/usr/sbin,本機自行安裝軟件產生的系統執行文件則放置到/usr/local/sbin
/srvsrv可視為service的縮寫,是一些網絡服務啟動后,這些服務所需要使用的數據目錄,常見的如WWW、FTP等
/tmp存放臨時文件或正在執行的程序暫時放置文件的地方
/usr第二層 FHS
/var第二層 FHS
FHS 建議可以存在的目錄應放置文件的內容
/home系統默認的用戶家目錄
/lib用來存放于/lib不同格式的二進制函數庫,如/lib64
/rootroot用戶的家目錄
除了 FHS 標準中 Linux 其他重要的目錄應放置文件的內容
/proc虛擬文件系統,數據都存放在內存中,如系統內核、進程信息、外接設備的狀態、網絡狀態等,比較重要的文件有:/proc/PID/、/proc/cupinfo、/proc/meminfo等
/sys虛擬文件系統,主要也是記錄內核與系統硬件信息的相關內容,包括已加載的內核模塊與內核檢測到的硬件設備信息等

3 /usr 內容與意義

依據 FHS 的基本定義,/usr 里面放置的數據屬于可分享與不可變動,類似于 C:\Windows\+C:\Program Files\

FHS 要求必須存在的目錄應放置文件的內容
/usr/bin所有一般用戶能夠使用的命令都放在這里。目前CentOS 7 已將全部用戶命令放置于此,使用鏈接文件的方式將 /bin 鏈接至此。另外 FHS 要求在此目錄下不應該有子目錄
/usr/lib基本上與 /lib 功能相同,所以 /lib 就是鏈接到此目錄的
/usr/sbin最常見的就是某些網絡服務器軟件的服務命令。不過基本功能與 /sbin 差不多,因此目前 /sbin 就是鏈接到此目錄的
/usr/local安裝自己下載的軟件建議安裝到此目錄,便于管理
/usr/share主要放置只讀的數據文件,也包括共享文件,在這個目錄下放置的數據幾乎不分硬件架構,因為幾乎都是文本文件

4 /var 的內容與意義

/var 目錄主要針對經常性變動的文件,包括緩存、日志文件、某些軟件運行時產生的文件等,包括程序文件(鎖文件、運行文件),或如MySQL數據庫文件等

FHS 要求必須存在的目錄應放置文件的內容
/var/cache/應用程序本身運行過程中會產生的一些緩存
/var/lib/程序本身執行過程中需要使用的數據文件放置的目錄。在此目錄下各自的軟件要有各自的目錄,如MySQL的數據庫放置到/var/lib/mysql/而rpm的數據庫放到/var/lib/rpm/中
/var/lock/放置資源鎖信息,目前此目錄已經挪到了/run/lock中
/var/log/日志文件放置的目錄,重要的文件有:/var/log/messages、/var/log/wtmp等
/var/mail/放置個人電子郵箱的目錄,不過這個目錄也被放置到/var/spool/mial/目錄中,通常這兩個目錄是互為鏈接文件
/var/run/某些程序或是服務啟動后,會將他們的PID放置在這個目錄下,與/run相同,這個目錄鏈接到/run目錄
/var/spool/這個目錄通常放置一些隊列數據,所謂隊列數據就是排隊等待其他程序使用的數據,使用后就會被刪除,如系統收到新郵件會防止到/var/spool/mail中

5 針對 FHS 各家發行版的一同,與CentOS 7的變化

? 由于 FHS 僅是定義出最上層(/)及次層(/usr與/var)的目錄內容應該要防止的文件或目錄數據,因此,在其他子目錄層級內,就可以隨開發者自行來配置。如CentOS的網絡設置數據放在/etc/sysconfig/network-scripts/ 目錄下,但 SUSE 則是將網絡放置在/etc/sysconfig/network/ 目錄下

? 此外,CentOS 7 在目錄的排列上與過去的版本不大相同,比較大的差異在于將許多原本應該在根目錄(/)里的目錄,將它的內容全部移到 /usr 里面去,然后進行鏈接(link)的設置:

  • /bin –> /usr/bin
  • /sbin –> /usr/sbin
  • /lib –> /usr/lib
  • /lib64 –> /usr/lib64
  • /var/lock –> /run/lock
  • /var/run –> /run

總結

以上是生活随笔為你收集整理的文件系统之FHS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。