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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux FHS结构

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

FHS是Filesystem Hierarchy Standard(文件系統層次化標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。

FHS_2.3標準文檔:https://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.pdf

定義

FHS定義了兩層規范。

第一層是, / 下面的各個目錄應該要放什么文件數據,例如/etc應該要放置設置文件,/bin與/sbin則應該要放置可執行文件等等。因為Linux的開發人員實在太多了,如果每個人都使用自己的目錄配置方法,那么將可能會帶來很多管理問題。你能想象,你進入一個企業之后,所接觸到的Linux目錄配置方法竟然跟你以前學的完全不同嗎?很難想象。所以,后來就有所謂的文件系統層次標準(Filesystem Hierarchy?Standard,FHS)出臺。

第二層則是針對/usr及/var這兩個目錄的子目錄來定義。例如/var/log放置系統登錄文件、/usr/share放置共享數據等等。

特點介紹

由于FHS僅是定義出最上層(/)及子層(/usr, /var)的目錄內容應該要放置的文件數據,因此,在其他子目錄層級內,就可以隨開發人員自行配置了。舉例來說,FC4的網絡設置數據放在/etc/sysconfig/network-script/目錄下,但SuSE Server 9則是將網絡放在/etc/sysconfig/network/目錄下,目錄名稱是不同的。

另外,在Linux中,所有的文件與目錄都由根目錄/ 開始。那是所有目錄與文件的源頭。然后再一個一個分支下來,有點像樹狀。因此,我們也稱這種目錄配置方式為:“目錄樹(directory tree)”。這個目錄樹主要特性有:

目錄樹的起始點為根目錄(/, root)。需要為根目錄單獨創建一個分區,即根分區(相當于C盤(系統盤))。

每一個目錄不僅能使用本地端分區的文件系統,也可以使用網絡上的文件系統。舉例來說,可以利用網絡文件系統(Network File System,NFS)服務器載入某特定目錄等。

每一個文件在此目錄樹中的文件名(包含完整路徑)都是獨一無二的。

此外,根據文件名寫法的不同,也可將路徑(path)定義為絕對路徑(absolute)與相對路徑(relative)。

絕對路徑為:由根目錄(/)開始寫起的文件名或目錄名稱,例如/home/dmtsai/.bashrc;

相對路徑為相對于當前路徑的文件名寫法。例如./home/dmtsai或../../home/dmtsai/等等。

反正開頭不是/ 就屬于相對路徑的寫法。必須要了解,相對路徑是以“當前所在路徑的相對位置”來表示的。舉例來說,當前在/home目錄下,如果想要進入/var/log目錄時,怎么寫呢?

cd /var/log(absolute)

cd ../var/log(relative)

因為在/home中,所以要回到上一層(../)之后,才能繼續向/var移動。

特別注意這兩個特殊的目錄:

.?:表示當前目錄,也可以使用./來表示。

..?:表示上一層目錄,也可以../來表示。

.與..的目錄概念很重要,你常常會看到cd ..或 ./command之類的命令方式,就是表示上一層與當前所在目錄的工作狀態。此外,針對“文件名”與“完整文件名(由/ 開始寫起的文件名)”的字符限制大小為:

單一文件或目錄的最大容許文件名為255個字符。包含完整路徑名稱及目錄(/)的完整文件名為4096個字符。

我們知道,/var/log/下面有個文件名為message,這個message文件的最大文件名可達255個字符。var與log這兩個上層目錄最長也分別可達255個字符。但總的來說, /var/log/messages這樣完整的文件名最長則可達4096個字符。

提示:root在Linux里面的意義很多。如果從“賬號”的角度來看,root指“系統管理員”身份,如果以“目錄”的角度來看,root指的是根目錄,就是/ 。要特別注意。

文件系統的目錄結構:

  • 文件和目錄被一個組織成一個單根倒置樹結構
  • 文件系統從根目錄下開始,用“/”表示
  • 根文件系統(rootfs):root filesystem
  • 標準Linux文件系統(如:ext4),文件名稱大小寫敏感
  • 以 . 開頭的文件為隱藏文件
  • 路徑用 / 分隔
  • 文件名最長255個字節
  • 包括路徑在內文件名稱最長4095個字節
  • 藍色-->目錄? ? ?綠色-->可執行文件? ? ?紅色-->壓縮文件? ??淺藍色-->鏈接文件? ? ?灰色-->其他文件
  • 除了斜杠和NUL,所有字符都有效,但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用。

  • 每個文件都有兩類相關數據:元數據:metadata,即屬性, 數據:data,即文件內容

2、默認的基本目錄結構如下:

/boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader,grub)都存放于此目錄

/bin:所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序

/sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序

/lib:啟動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)

/lib64:專用于x86_64系統上的輔助共享庫文件存放位置

/etc:配置文件目錄

/home/USERNAME:普通用戶家目錄

/root:管理員的家目錄

/media:便攜式移動設備掛載點

/mnt:臨時文件系統掛載點

/dev:設備文件及特殊文件存儲位置

? ? ? ? ? b: block device,隨機訪問

? ? ? ? ? c: character device,線性訪問

/opt:第三方應用程序的安裝位置

/srv:系統上運行的服務用到的數據

/tmp:臨時文件存儲位置

/usr: universal shared, read-only data

? ? ? ? bin: 保證系統擁有完整功能而提供的應用程序

? ? ? ? sbin:

? ? ? ? lib:32位使用

? ? ? ? lib64:只存在64位系統

? ? ? ? include: C程序的頭文件(header files)

? ? ? ? share:結構化獨立的數據,例如doc, man等

? ? ? ? local:第三方應用程序的安裝位置

? ? ? ? ? ? ? ? ? ? ? ? ? bin, sbin, lib, lib64, etc, share

/var: variable data files

? ? ? ? cache:應用程序緩存數據目錄

? ? ? ? lib:應用程序狀態信息數據

? ? ? ? local:專用于為/usr/local下的應用程序存儲可變數據

? ? ? ? lock:鎖文件

? ? ? ? log:日志目錄及文件

? ? ? ? opt:專用于為/opt下的應用程序存儲可變數據

? ? ? ? run:運行中的進程相關數據,通常用于存儲進程pid文件

? ? ? ? spool:應用程序數據池

? ? ? ? tmp:保存系統兩次重啟之間產生的臨時數據

/proc: 用于輸出內核與進程信息相關的虛擬文件系統

/sys:用于輸出當前系統上硬件設備相關信息虛擬文件系統

/selinux:security enhanced Linux,selinux相關的安全策略等信息的存儲位置

3、文件系統結構總結:

  • Linux的目錄中只有一個根目錄/
  • Linux的各個目錄存放的內容是規劃好的,不要亂放文件。
  • Linux是以文件的形式管理設備的,因此Linux系統中一切皆為文件。
  • Linux的各個文件目錄下存放什么內容,需要有一個準確的認識。

?4、文件類型

使用命令查看文件,首字母會標記該文件的文件類型,有以下幾種類型:

  • –?: 普通文件
  • d: 目錄文件
  • b:塊文件
  • c:字符文件
  • l:符號鏈接文件
  • p:管道文件pipe
  • s:套字節文件socket

?

FHS定義了兩層規范:第一層是 / ,第二層是針對 /usr 和 /var 這兩個目錄的子目錄來定義的。

/dev 設備目錄

/etc 配置文件以及服務啟動的目錄

/etc/init.d 存放系統或服務器以system v 模式啟動的腳本

/etc/sysconfig/network-scripts/ifcfg-eth0 設置網卡 /etc/init.d/network restart ; ifdown eth0;

/etc/sysconfig/network 可修改機器名及網卡啟動,網關等配置

/etc/resolv.conf 設置linux本地的客戶端DNS的文件

/etc/hosts 設定用戶IP與名字的對應表

/etc/fstab 記錄開機要mount的文件系統的一個文件

/etc/inittab 設定系統啟動時init進程將把系統設置成什么樣的runlevel及加載相關的啟動文件設置。

/etc/rc.local 存放開機自啟動程序命令的文件。(chkconfig)

/etc/exports 設定NFS網絡文件系統用的配置文件。

/etc/xinit.d 如果服務器是通過xinitd模式運行的,他的腳本存放在這里。

/etc/profile 系統全局環境變量配置路徑。

/etc/profile.d 加載系統登錄程序一個目錄,命令或文件獨立存在。

/etc/skel 存放新用戶配置文件目錄

/proc 顯示內核及進程信息虛擬文件系統

/tmp 臨時文件目錄

/home 普通用戶家目錄

/var 變化目錄,一般是日志文件目錄。

/usr 用戶程序及數據,幫助文件等目錄。

/usr/bin 應用程序

/usr/share 數據文件,幫助

/usr/local 存放用戶自己安裝的程序,相當于c:/program files ,一般編譯軟件的時候默認路徑,yum或rpm包安裝默認路徑一般不是這里。

/usr 存放unix系統商開發的程序。

/opt 存放第三方廠商開發的程序。

/etc/motd 設置警告信息

參考:Linux:FHS標準 - 幸福框架 - 博客園?

百度百科-驗證

Linux FHS結構 - Steven_shl - 博客園

百度安全驗證

總結

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

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