Ubuntu文件系統和目錄結構

 
 
以下爲Ubuntu目錄的主要目錄結構,您稍微瞭解它們都包含了哪些文件就可以了,不需要記憶。
     /   根目錄
    │
    ├boot/     啓動文件。所有與系統啓動有關的文件都保存在這裏
     │    └grub/   Grub引導器相關的文件
    │
    ├dev/       設備文件
    ├proc/      內核與進程鏡像
    │
    ├mnt/      臨時掛載
    ├media/   掛載媒體設備
    │
    ├root/      root用戶的$HOME目錄
    ├home/         
    │    ├user/   普通用戶的$HOME目錄
    │    └.../
    │
    ├bin/      系統程序
    ├sbin/      管理員系統程序
    ├lib/      系統程序庫文件
    ├etc/     系統程序和大部分應用程序的全局配置文件
    │   ├init.d/  SystemV風格的啓動腳本
    │   ├rcX.d/  啓動腳本的鏈接,定義運行級別
    │   ├network/   網絡配置文件
    │   ├X11/     圖形界面配置文件
    │
    ├usr/        www.2cto.com  
    │   ├bin/     應用程序
    │   ├sbin/   管理員應用程序
    │   ├lib/     應用程序庫文件
    │   ├share/   應用程序資源文件
    │   ├src/     應用程序源代碼
    │   ├local/      
    │   │     ├soft/     用戶程序      
    │   │     └.../     通常使用單獨文件夾
    │   ├X11R6/   圖形界面系統
    │
    ├var/        動態數據
    │
    ├temp/        臨時文件
    ├lost+found/   磁盤修復文件
 
啓動流程
========
   Linux系統主要通過以下步驟啓動:
 
   1、讀取MBR的信息,啓動Boot Manager
       Windows使用NTLDR作爲BootManager,如果您的系統中安裝多個版本的Windows,您就需要在NTLDR中選擇您要進入的系統。
        Linux通常使用功能強大,配置靈活的GRUB作爲BootManager,我們將在啓動管理章節中向您介紹它的使用方式。
   2、加載系統內核,啓動init進程
       init進程是Linux的根進程,所有的系統進程都是它的子進程。
  3、init進程讀取“/etc/inittab”文件中的信息,並進入預設的運行級別,按順序運行該運行級別對應文件夾下的腳本。腳本通常以“start”參數啓動,並指向一個系統中的程序。
       通常情況下,“/etc/rcS.d/”目錄下的啓動腳本首先被執行,然後是“/etc/rcN.d/”目錄。例如您設定的運行級別爲3,那麼它對應的啓動目錄爲“/etc/rc3.d/”。
 
    4、根據“/etc/rcS.d/”文件夾中對應的腳本啓動Xwindow服務器“xorg”
        Xwindow爲Linux下的圖形用戶界面系統。
   5、啓動登錄管理器,等待用戶登錄
      Ubuntu系統默認使用GDM作爲登錄管理器,您在登錄管理器界面中輸入用戶名和密碼後,便可以登錄系統。(您可以在“/etc/rc3.d/”文件夾中找到一個名爲“S13gdm”的鏈接)
    
更改運行級別
------------
   在“/etc/inittab”文件中找到如下內容:   
       # The default runlevel.
       id:2:initdefault:
      
   這一行中的數字2,爲系統的運行級別,默認的運行級別涵義如下:
        0   關機
       1   單用戶維護模式
       2~5   多用戶模式
       6   重啓
 
服務管理  www.2cto.com  
========
 
更改啓動服務
------------
   在運行級別對應的文件夾中,您可以看到許多文件名以“S##”和“K##”起始的啓動腳本鏈接。
    例如:
       /etc/rcS.d/S35mountall.sh  掛載文件系統
       /etc/rcS.d/S40networking  啓用網絡支持
       /etc/rc2.d/S13gdm     啓動登錄管理器
       /etc/rc2.d/S20makedev  創建設備文件
       /etc/rc2.d/S23xinetd  啓動超級進程
 
  init進程將以“start”爲參數,按文件名順序執行所有以“S##”起始的腳本。腳本名稱中的數字越小,它將被越早執行。例如在“/etc /rc2.d/”文件夾中,“S13gdm”文件名中的數字小於“S23xinetd”,“S13gdm”將比“S23xinetd”先執行。
    
  如果一個腳本鏈接,以“K##”起始,表示它將以“stop”參數被執行。如果相應服務沒有啓動,則不執行該腳本。
    例如:
       /etc/rc2.d/K20powernowd  針對某種硬件的電源管理支持
 
  如果您想禁止某一服務在啓動時自動運行,您可以將相應運行級別中的腳本由“S##xxx”重命名爲“K##xxx”。
 
手動控制服務
------------
 
   您也可以手動運行帶有以下參數的啓動腳本,來控制系統服務。
    start      啓動   
   stop      停止
   restart      重啓
   例如:
   /etc/rc2.d/K20powernowd start
   
  有時您並不清楚當前運行級別,該運行級別下未必有相應腳本;而且此類腳本的前三位字符並不固定,不便於記憶。這時,您可以直接使用“/etc /init.d/”文件夾中的啓動腳本(“/etc/rcX.d/”中的啓動腳本鏈接到“/etc/init.d/”文件夾下相應腳本),這也是我們向您 推薦的方式。
   例如:
   /etc/init.d/powernowd start
 
Tips:以上命令的位置並沒有包含在環境變量的搜索路徑中,所以要輸入完整路徑。
 
常用系統服務
============
   acpi-support   高級電源管理支持
   acpid      acpi守護程序.這兩個用於電源管理,非常重要
   alsa      聲音子系統
   alsa-utils   
   anacron     cron的子系統,將系統關閉期間的計劃任務,在下一次系統運行時執行。
    apmd      acpi的擴展
   atd      類似於cron的任務調度系統。建議關閉
   binfmt-support   核心支持其他二進制的文件格式。建議開啓
   bluez-utiles   藍牙設備支持
   bootlogd   啓動日誌。開啓它
   cron      任務調度系統,建議開啓
   cupsys      打印機子系統。
   dbus      消息總線系統(message bussystem)。非常重要
   dns-clean   使用撥號連接時,清除dns信息。
   evms      企業卷管理系統(EnterpriseVolumn Management system)
   fetchmail   郵件用戶代理,用於收取郵件
   gdm      gnome登錄和桌面管理器。
   gdomap      
   gpm      終端中的鼠標支持。
   halt      別動它。
   hdparm     調整硬盤的腳本,配置文件爲“/etc/hdparm.conf”。
    hibernate   系統休眠
   hotkey-setup   筆記本功能鍵支持。支持類型包括: HP, Acer,ASUS, Sony, Dell, 和IBM。
   hotplug and hotplug-net  即插即用支持,比較複雜,建議不要動它。
   hplip         HP打印機和圖形子系統
   ifrename   網絡接口重命名腳本。如果您有十塊網卡,您應該開啓它
    inetd     在文件“/etc/inetd.conf”中,註釋掉所有你不需要的服務。如果該文件不包含任何服務,那關閉它是很安全的。  www.2cto.com  
    klogd      重要。
   linux-restricted-modules-common  受限模塊支持。“/lib/linux-restricted-modules/”文件夾中的模塊爲受限模塊。例如某些驅動程序,如果您沒有使用受限模塊,就不需要開啓它。
    lvm      邏輯卷管理系統支持。
   makedev      創建設備文件,非常重要。
   mdamd      磁盤陣列
   module-init-tools  從/etc/modules加載擴展模塊,建議開啓。
   networking  網絡支持。按“/etc/network/interfaces”文件預設激活網絡,非常重要。
    ntpdate      時間同步服務,建議關閉。
   pcmcia      pcmcia設備支持。
   powernowd   移動CPU節能支持
   ppp and ppp-dns   撥號連接
   readahead   預加載庫文件。
   reboot      別動它。
   resolvconf   自動配置DNS
   rmnologin   清除nologin
   rsync      rsync守護程序
   sendsigs   在重啓和關機期間發送信號
   single      激活單用戶模式
   ssh      ssh守護程序。建議開啓
   stop-bootlogd  在2,3,4,5運行級別中停止bootlogd服務
   sudo      檢查sudo狀態。重要
   sysklogd   系統日誌
   udev & udev-mab 用戶空間dev文件系統(userspace devfilesystem)。重要
   umountfs   卸載文件系統
   urandom      隨機數生成器
   usplash      開機畫面支持
   vbesave     顯卡BIOS配置工具。保存顯卡的狀態
   xorg-common   設置X服務ICE socket。
   adjtimex   調整核心時鐘的工具
   dirmngr     證書列表管理工具,和gnupg一起工作。
   hwtools      irqs優化工具
   libpam-devperm  系統崩潰之後,用於修理設備文件許可的守護程序。
    lm-sensors   板載傳感器支持
   mdadm-raid   磁盤陳列管理器
   screen-cleanup   清除開機屏幕的腳本
   xinetd     管理其他守護進程的一個inetd超級守護程序
 
重要配置文件
============
   !無論任何情況下,在修改配置文件之前,請您先備份它!
    建議您使用這個命令:“sudo cp xxx xxx_`date+%y%m%d_%H:%M`”。
   當然這很麻煩,您可以新建一個名爲“bak”的文件,內容如下:
       #!/bin/bash
      sudo cp $1  $1_`date+%y%m%d_%H:%M`
   把它放在您能夠記住的目錄下,比如“/home”,執行命令“sh /home/bakxxx”,就可以將當前文件夾下的文件“xxx”另存爲“xxx_yymmdd_HH:MM”的格式了
 
全局配置文件
------------
   系統初始化
   /etc/inittab      運行級別、控制檯數量
   /etc/timezone      時區
   /etc/inetd.conf      超級進程
   文件系統
   /etc/fstab      開機時掛載的文件系統
   /etc/mtab      當前掛載的文件系統
   用戶系統
   /etc/passwd      用戶信息
   /etc/shadow      用戶密碼
   /etc/group      羣組信息
   /etc/gshadow      羣組密碼
   /etc/sudoers     Sudoer列表(請使用“visudo”命令修改此文件,而不要直接編輯)
    Shell
   /etc/shell      可用Shell列表
   /etc/inputrc     ReadLine控件設定
   /etc/profile      用戶首選項
   /etc/bash.bashrc   bash配置文件
   系統環境
   /etc/environment   環境變量
   /etc/updatedb.conf   文件檢索數據庫配置信息
   /etc/issue      發行信息
   /etc/issue.net
   /etc/screenrc      屏幕設定
   網絡  www.2cto.com  
   /etc/iftab      網卡MAC地址綁定
   /etc/hosts      主機列表
   /etc/hostname      主機名
   /etc/resolv.conf   域名解析服務器地址
   /etc/network/interfaces   網卡配置文件
   
用戶配置文件
------------
  “/etc/”目錄下的所有文件,只有root用戶纔有修改權限。應用軟件的全局配置文件,普通用戶也不能夠修改,如果您想配置軟件,以適應您的需求,您可以修改它的用戶配置文件。
 
    用戶配置文件通常爲全局配置文件的同名隱藏文件,放在您的$HOME目錄下,例如:
    /etc/inputrc     /home/user/.inputrc
   /etc/vim/vimrc     /home/user/.vim/vimrc
 
   也有少數例外,通常是系統程序
   /etc/bash.bashrc  /home/user/.bashrc
 
以下爲Ubuntu目錄的主要目錄結構,您稍微瞭解它們都包含了哪些文件就可以了,不需要記憶。
     /   根目錄
    │
    ├boot/     啓動文件。所有與系統啓動有關的文件都保存在這裏
     │    └grub/   Grub引導器相關的文件
    │
    ├dev/       設備文件
    ├proc/      內核與進程鏡像
    │
    ├mnt/      臨時掛載
    ├media/   掛載媒體設備
    │
    ├root/      root用戶的$HOME目錄
    ├home/         
    │    ├user/   普通用戶的$HOME目錄
    │    └.../
    │
    ├bin/      系統程序
    ├sbin/      管理員系統程序
    ├lib/      系統程序庫文件
    ├etc/     系統程序和大部分應用程序的全局配置文件
    │   ├init.d/  SystemV風格的啓動腳本
    │   ├rcX.d/  啓動腳本的鏈接,定義運行級別
    │   ├network/   網絡配置文件
    │   ├X11/     圖形界面配置文件
    │
    ├usr/      
    │   ├bin/     應用程序
    │   ├sbin/   管理員應用程序
    │   ├lib/     應用程序庫文件
    │   ├share/   應用程序資源文件
    │   ├src/     應用程序源代碼
    │   ├local/      
    │   │     ├soft/     用戶程序      
    │   │     └.../     通常使用單獨文件夾
    │   ├X11R6/   圖形界面系統
    │
    ├var/        動態數據
    │
    ├temp/        臨時文件
    ├lost+found/   磁盤修復文件
 
啓動流程
========
   Linux系統主要通過以下步驟啓動:
   1、讀取MBR的信息,啓動Boot Manager
       Windows使用NTLDR作爲BootManager,如果您的系統中安裝多個版本的Windows,您就需要在NTLDR中選擇您要進入的系統。  www.2cto.com  
        Linux通常使用功能強大,配置靈活的GRUB作爲BootManager,我們將在啓動管理章節中向您介紹它的使用方式。
   2、加載系統內核,啓動init進程
       init進程是Linux的根進程,所有的系統進程都是它的子進程。
 
  3、init進程讀取“/etc/inittab”文件中的信息,並進入預設的運行級別,按順序運行該運行級別對應文件夾下的腳本。腳本通常以“start”參數啓動,並指向一個系統中的程序。
       通常情況下,“/etc/rcS.d/”目錄下的啓動腳本首先被執行,然後是“/etc/rcN.d/”目錄。例如您設定的運行級別爲3,那麼它對應的啓動目錄爲“/etc/rc3.d/”。
    4、根據“/etc/rcS.d/”文件夾中對應的腳本啓動Xwindow服務器“xorg”
        Xwindow爲Linux下的圖形用戶界面系統。
   5、啓動登錄管理器,等待用戶登錄
      Ubuntu系統默認使用GDM作爲登錄管理器,您在登錄管理器界面中輸入用戶名和密碼後,便可以登錄系統。(您可以在“/etc/rc3.d/”文件夾中找到一個名爲“S13gdm”的鏈接)
    
更改運行級別
------------
   在“/etc/inittab”文件中找到如下內容:   
       # The default runlevel.
       id:2:initdefault:
      
   這一行中的數字2,爲系統的運行級別,默認的運行級別涵義如下:
        0   關機
       1   單用戶維護模式
       2~5   多用戶模式
       6   重啓
 
服務管理
========
 
更改啓動服務
------------
   在運行級別對應的文件夾中,您可以看到許多文件名以“S##”和“K##”起始的啓動腳本鏈接。
    例如:
       /etc/rcS.d/S35mountall.sh  掛載文件系統
       /etc/rcS.d/S40networking  啓用網絡支持
       /etc/rc2.d/S13gdm     啓動登錄管理器
       /etc/rc2.d/S20makedev  創建設備文件
       /etc/rc2.d/S23xinetd  啓動超級進程
  init進程將以“start”爲參數,按文件名順序執行所有以“S##”起始的腳本。腳本名稱中的數字越小,它將被越早執行。例如在“/etc /rc2.d/”文件夾中,“S13gdm”文件名中的數字小於“S23xinetd”,“S13gdm”將比“S23xinetd”先執行。
    
  如果一個腳本鏈接,以“K##”起始,表示它將以“stop”參數被執行。如果相應服務沒有啓動,則不執行該腳本。
    例如:
       /etc/rc2.d/K20powernowd  針對某種硬件的電源管理支持
 
  如果您想禁止某一服務在啓動時自動運行,您可以將相應運行級別中的腳本由“S##xxx”重命名爲“K##xxx”。  www.2cto.com  
 
手動控制服務
------------
   您也可以手動運行帶有以下參數的啓動腳本,來控制系統服務。
    start      啓動   
   stop      停止
   restart      重啓
   例如:
   /etc/rc2.d/K20powernowd start
   
  有時您並不清楚當前運行級別,該運行級別下未必有相應腳本;而且此類腳本的前三位字符並不固定,不便於記憶。這時,您可以直接使用“/etc /init.d/”文件夾中的啓動腳本(“/etc/rcX.d/”中的啓動腳本鏈接到“/etc/init.d/”文件夾下相應腳本),這也是我們向您 推薦的方式。
   例如:
   /etc/init.d/powernowd start
 
Tips:以上命令的位置並沒有包含在環境變量的搜索路徑中,所以要輸入完整路徑。
 
常用系統服務
============
   acpi-support   高級電源管理支持
   acpid      acpi守護程序.這兩個用於電源管理,非常重要
   alsa      聲音子系統
   alsa-utils   
   anacron     cron的子系統,將系統關閉期間的計劃任務,在下一次系統運行時執行。
    apmd      acpi的擴展
   atd      類似於cron的任務調度系統。建議關閉
   binfmt-support   核心支持其他二進制的文件格式。建議開啓
   bluez-utiles   藍牙設備支持
   bootlogd   啓動日誌。開啓它
   cron      任務調度系統,建議開啓
   cupsys      打印機子系統。
   dbus      消息總線系統(message bussystem)。非常重要
   dns-clean   使用撥號連接時,清除dns信息。
   evms      企業卷管理系統(EnterpriseVolumn Management system)
   fetchmail   郵件用戶代理,用於收取郵件
   gdm      gnome登錄和桌面管理器。
   gdomap        www.2cto.com  
   gpm      終端中的鼠標支持。
   halt      別動它。
   hdparm     調整硬盤的腳本,配置文件爲“/etc/hdparm.conf”。
    hibernate   系統休眠
   hotkey-setup   筆記本功能鍵支持。支持類型包括: HP, Acer,ASUS, Sony, Dell, 和IBM。
   hotplug and hotplug-net  即插即用支持,比較複雜,建議不要動它。
   hplip         HP打印機和圖形子系統
   ifrename   網絡接口重命名腳本。如果您有十塊網卡,您應該開啓它
    inetd     在文件“/etc/inetd.conf”中,註釋掉所有你不需要的服務。如果該文件不包含任何服務,那關閉它是很安全的。
    klogd      重要。
   linux-restricted-modules-common  受限模塊支持。“/lib/linux-restricted-modules/”文件夾中的模塊爲受限模塊。例如某些驅動程序,如果您沒有使用受限模塊,就不需要開啓它。
    lvm      邏輯卷管理系統支持。
   makedev      創建設備文件,非常重要。
   mdamd      磁盤陣列
   module-init-tools  從/etc/modules加載擴展模塊,建議開啓。
   networking  網絡支持。按“/etc/network/interfaces”文件預設激活網絡,非常重要。
    ntpdate      時間同步服務,建議關閉。
   pcmcia      pcmcia設備支持。
   powernowd   移動CPU節能支持
   ppp and ppp-dns   撥號連接
   readahead   預加載庫文件。
   reboot      別動它。
   resolvconf   自動配置DNS
   rmnologin   清除nologin
   rsync      rsync守護程序
   sendsigs   在重啓和關機期間發送信號
   single      激活單用戶模式
   ssh      ssh守護程序。建議開啓
   stop-bootlogd  在2,3,4,5運行級別中停止bootlogd服務
   sudo      檢查sudo狀態。重要
   sysklogd   系統日誌
   udev & udev-mab 用戶空間dev文件系統(userspace devfilesystem)。重要
   umountfs   卸載文件系統
   urandom      隨機數生成器
   usplash      開機畫面支持
   vbesave     顯卡BIOS配置工具。保存顯卡的狀態
   xorg-common   設置X服務ICE socket。
   adjtimex   調整核心時鐘的工具
   dirmngr     證書列表管理工具,和gnupg一起工作。
   hwtools      irqs優化工具
   libpam-devperm  系統崩潰之後,用於修理設備文件許可的守護程序。
    lm-sensors   板載傳感器支持  www.2cto.com  
   mdadm-raid   磁盤陳列管理器
   screen-cleanup   清除開機屏幕的腳本
   xinetd     管理其他守護進程的一個inetd超級守護程序
 
重要配置文件
============
   !無論任何情況下,在修改配置文件之前,請您先備份它!
    建議您使用這個命令:“sudo cp xxx xxx_`date+%y%m%d_%H:%M`”。
   當然這很麻煩,您可以新建一個名爲“bak”的文件,內容如下:
       #!/bin/bash
      sudo cp $1  $1_`date+%y%m%d_%H:%M`
   把它放在您能夠記住的目錄下,比如“/home”,執行命令“sh /home/bakxxx”,就可以將當前文件夾下的文件“xxx”另存爲“xxx_yymmdd_HH:MM”的格式了
 
全局配置文件
------------
   系統初始化
   /etc/inittab      運行級別、控制檯數量
   /etc/timezone      時區
   /etc/inetd.conf      超級進程
   文件系統
   /etc/fstab      開機時掛載的文件系統
   /etc/mtab      當前掛載的文件系統
   用戶系統
   /etc/passwd      用戶信息
   /etc/shadow      用戶密碼
   /etc/group      羣組信息
   /etc/gshadow      羣組密碼
   /etc/sudoers     Sudoer列表(請使用“visudo”命令修改此文件,而不要直接編輯)
    Shell  www.2cto.com  
   /etc/shell      可用Shell列表
   /etc/inputrc     ReadLine控件設定
   /etc/profile      用戶首選項
   /etc/bash.bashrc   bash配置文件
   系統環境
   /etc/environment   環境變量
   /etc/updatedb.conf   文件檢索數據庫配置信息
   /etc/issue      發行信息
   /etc/issue.net
   /etc/screenrc      屏幕設定
   網絡
   /etc/iftab      網卡MAC地址綁定
   /etc/hosts      主機列表
   /etc/hostname      主機名
   /etc/resolv.conf   域名解析服務器地址
   /etc/network/interfaces   網卡配置文件
   
用戶配置文件
------------
  “/etc/”目錄下的所有文件,只有root用戶纔有修改權限。應用軟件的全局配置文件,普通用戶也不能夠修改,如果您想配置軟件,以適應您的需求,您可以修改它的用戶配置文件。
 
    用戶配置文件通常爲全局配置文件的同名隱藏文件,放在您的$HOME目錄下,例如:
    /etc/inputrc     /home/user/.inputrc
   /etc/vim/vimrc     /home/user/.vim/vimrc
 
   也有少數例外,通常是系統程序
   /etc/bash.bashrc  /home/user/.bashrc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章