1. 程式人生 > >Linux目錄結構及其命名的規定 Linux - Filessystem Hierarchy Standard / FHS

Linux目錄結構及其命名的規定 Linux - Filessystem Hierarchy Standard / FHS

Linux目錄結構及其命名的規定 Linux Filessystem Hierarchy / LFH

  多數Linux發行版遵從FHS標準並且宣告其自身政策以維護FHS的要求。但截至2009年,包括由自由標準小組成員參與開發的版本在內的絕大多數發行版,並不完全執行建議的標準。

  在FHS中,所有的檔案和目錄都出現在根目錄"/"下,即使他們儲存在不同的物理裝置中。

 


 


 

  FHS:
  Filesystem Hierarchy Standard
    /bin:        所有使用者可用的基本命令程式檔案;
    /sbin:      供系統管理使用的工具程式;
    /boot:      引導載入器必須用到的各靜態檔案:kernel, initramfs(initrd), grub等;
    /dev:       儲存特殊檔案或裝置檔案;
             裝置有兩種型別:字元裝置(線性裝置)、塊裝置(隨機裝置);
    /etc:       系統程式的配置檔案,只能為靜態;
    /home:     普通的家目錄的集中位置;一般每個普通使用者的家目錄預設為此目錄下與使用者名稱同名的子目錄,/home/USERNAME;
    /root:        管理員的家目錄,可選;
    /lib:        為系統啟動或根檔案系統上的應用程式(/bin, /sbin等)提供共享庫,以及為核心提供核心模組
      libc.so.*:    動態連線的C庫;
      ld*:      執行時聯結器/載入器;
      modules:    用於儲存核心模組的目錄;
    /lib64:      64位系統特有的存放64位共享庫的路徑;
    /media:       行動式裝置掛載點"mount",cdrom, floppy等;
    /mnt:        其它檔案系統的臨時掛載點;
    /opt:         附加應用程式的安裝位置;可選路徑;
    /srv:         當前主機為服務提供的資料;
    /tmp:          為那些會產生臨時檔案的程式提供的用於儲存臨時檔案的目錄;可供所使用者執行寫入操作;有特殊許可權;
    /usr:         usr Hierarchy,全域性共享的只讀資料路徑;
      bin, sbin
      lib, lib64
      include:      C程式標頭檔案;
      share:      命令手冊頁和自帶文件等架構特有的檔案的儲存位置
      local:        另一個層級目錄;
      X11R6:     X-Window程式的安裝位置
      src:        程式原始碼檔案的儲存位置
    /usr/local:      Local hierarchy,讓系統管理員安裝本地應用程式;也通常用於安裝第三方程式;
    /var:          /var Hierarchy,儲存常發生變化的資料的目錄;
      cache     Application cache data
      lib        Variable state information
      local       Variable data for /usr/local
      lock        Lock files
      log       Log files and directories
      opt       Variable data for /opt
      run       Data relevant to running processes
      spool     Application spool data
      tmp       Temporary files preserved between system reboots

    /proc:      基於記憶體的虛擬檔案系統,用於為核心及程序儲存其相關資訊;它們多為核心引數,
             例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 儲存於/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;
    /sys:       sysfs虛擬檔案系統提供了一種比proc更為理想的訪問核心資料的途徑;其主要作用在於為管理Linux裝置提供一種統一模型的的介面;

        

      參考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/


 

  Linux系統上的檔案型別:
    -:常規檔案;即f;
    d: directory,目錄檔案;
    b: block device,塊裝置檔案,支援以“block”為單位進行隨機訪問
    c:character device,字元裝置檔案,支援以“character”為單位進行綫性訪問
      major number:主裝置號,用於(標識/標籤)裝置型別,進而確定要載入的驅動程式
      minor number:次裝置號,用於(標識/標籤)同一型別中的不同的裝置;
        8位二進位制:0-255
    l:symbolic link,符號連線檔案;
    p: pipe,命名管道;
    s: socket,套接字檔案;

    檔案系統:層級結構;有索引;
      /: 原初起點;
        倒置樹狀結構;

          /dev/pts/2:
            最左側/: 表示根目錄
            其它的/: 表示路徑分隔符
              Linux的路徑分隔符是/
              Windows的是\

    檔案的路徑表示:
      絶對路徑:從根開始表示出的路徑
      相對路徑:從當前位置開始表示出的路徑

    檔名使用法則:
      嚴格區分字元大小寫:file1, File1, FILE1
      目錄也是檔案,在同一路徑下,兩個檔案不能同名;
      支援使用除/以外的任意字元;
      最長不能超過255個字元;

    使用者有家目錄:home,
      使用者的起始目錄;普通使用者管理檔案的位置;
    

    工作目錄:

      /etc/sysconfig/network-scripts/ifcfg-eno16777736

        basename:最右側的檔案或目錄名;
        dirname:basename左側的路徑;

    命令:(命令及符號)
    ~]# basename /PATH/TO/SOMEFILE
      SOMEFILE
    ~]# dirname /PATH/TO/SOMEFILE
      /PATH/TO