Ubuntu文件系統和目錄結構php
如下爲Ubuntu目錄的主要目錄結構,您稍微瞭解它們都包含了哪些文件就能夠了,不須要記憶。html
/ 根目錄linux
│shell
├boot/ 啓動文件。全部與系統啓動有關的文件都保存在這裏數據庫
│ └grub/ Grub引導器相關的文件ubuntu
│vim
├dev/ 設備文件安全
├proc/ 內核與進程鏡像bash
│服務器
├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系統主要經過如下步驟啓動:
一、讀取MBR的信息,啓動Boot Manager
Windows使用NTLDR做爲BootManager,若是您的系統中安裝多個版本的Windows,您就須要在NTLDR中選擇您要進入的系統。
Linux一般使用功能強大,配置靈活的GRUB做爲BootManager,咱們將在啓動管理章節中向您介紹它的使用方式。
二、加載系統內核,啓動init進程
init進程是Linux的根進程,全部的系統進程都是它的子進程。
三、init進程讀取「/etc/inittab」文件中的信息,並進入預設的運行級別,按順序運行該運行級別對應文件夾下的腳本。腳本一般以「start」參數啓動,並指向一個系統中的程序。
一般狀況下,「/etc/rcS.d/」目錄下的啓動腳本首先被執行,而後是「/etc/rcN.d/」目錄。例如您設定的運行級別爲3,那麼它對應的啓動目錄爲「/etc/rc3.d/」。
四、根據「/etc/rcS.d/」文件夾中對應的腳本啓動Xwindow服務器「xorg」
Xwindow爲Linux下的圖形用戶界面系統。
五、啓動登陸管理器,等待用戶登陸
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
拉幾個以爲說的比較好的連接: