天天看點

Linux運維三:系統目錄結構

Linux系統目錄結構官方參考:http://www.pathname.com/fhs/

1:Linux樹狀目錄結構圖

下面目錄中标紅的是必須要掌握的!

2:根目錄 

目錄 描述
/ 第一層次結構的根、整個檔案系統層次結構的根目錄。
/bin/ 需要在單使用者模式可用的必要指令(可執行檔案);面向所有使用者,例如:cat、ls、cp,和/usr/bin類似。
/boot/ 引導程式檔案,例如:kernel、initrd;時常是一個單獨的分區
/dev/ 裝置目錄。必要裝置, 例如:, /dev/null.
/etc/

系統配置及服務配置檔案,啟動指令的目錄。

特定主機,系統範圍内的配置檔案。

關于這個名稱目前有争議。在貝爾實驗室關于UNIX實作文檔的早期版本中,/etc 被稱為/etcetra 目錄,這是由于過去此目錄中存放所有不屬于别處的所有東西(然而,FHS限制/etc存放靜态配置檔案,不能包含二進制檔案)。自從早期文檔出版以來,目錄名稱已被以各種方式重新稱呼。最近的解釋包括反向縮略語如:"可編輯的文本配置"(英文 "Editable Text Configuration")或"擴充工具箱"(英文 "Extended Tool Chest")。

/etc/opt/ /opt/的配置檔案
/etc/x11/ X_Window系統(版本11)的配置檔案
/etc/sgml/ SGML的配置檔案
/etc/xml/ XML的配置檔案
/home/ 使用者的家目錄,包含儲存的檔案、個人設定等,一般為單獨的分區。
/lib/ /bin/ and /sbin/中二進制檔案必要的庫檔案。
/media/ 可移除媒體(如CD-ROM)的挂載點 (在FHS-2.3中出現)。
/lost+found/ 在ext3檔案系統中,當系統意外崩潰或機器意外關機,會産生一些檔案碎片在這裡。當系統在開機啟動的過程中fsck工具會檢查這裡,并修複已經損壞的檔案系統。當系統發生問題。可能會有檔案被移動到這個目錄中,可能需要用手工的方式來修複,或移到檔案到原來的位置上。
/mnt/ 臨時挂載的檔案系統。比如cdrom,u盤等,直接插入光驅無法使用,要先挂載後使用
/opt/ 可選應用軟體包。
/proc/

顯示核心及程序資訊的虛拟檔案系統。

虛拟檔案系統,将核心與程序狀态歸檔為文本檔案(系統資訊都存放這目錄下)。例如:uptime、 network。在Linux中,對應Procfs格式挂載。該目錄下檔案隻能看不能改(包括root)

/root/ 超級使用者的家目錄
/sbin/ 必要的系統二進制檔案,例如: init、 ip、 mount。sbin目錄下的指令,普通使用者都執行不了。
/srv/ 站點的具體資料,由系統提供。
/tmp/ 臨時檔案(參見 /var/tmp),在系統重新開機時目錄中檔案不會被保留。
/usr/

使用者程式,及資料,幫助檔案,二進制指令等的目錄。

預設軟體都會存于該目錄下。用于存儲隻讀使用者資料的第二層次;包含絕大多數的(多)使用者工具和應用程式。

/var/

變化的目錄,一般是日志檔案,cache的目錄。

變量檔案——在正常運作的系統中其内容不斷變化的檔案,如日志,脫機檔案和臨時電子郵件檔案。有時是一個單獨的分區。如果不單獨分區,有可能會把整個分區充滿。如果單獨分區,給大給小都不合适。

根目錄下的重點目錄:

/dev/  裝置目錄

/etc/  系統配置及服務配置檔案,啟動指令的目錄

/proc  顯示核心及程序資訊的虛拟檔案系統

/tmp  臨時檔案目錄,公共廁所,客廳

/home  普通使用者家目錄,大臣的家

/root  超級管理者的家目錄,皇宮

/var  變化的目錄,一般是日志檔案,cache的目錄

/usr  使用者程式,及資料,幫助檔案,二進制指令等的目錄

/bin,/sbin,/usr/sbin  使用者指令的目錄

3:/etc/目錄

/etc/rc.local

用于存放開機自啟動程式指令的檔案(chkconfig常用來管理yum/rpm安裝的程式的服務的開機自啟動)。系統開機時會把/etc/rc.local裡的内容執行一遍。

讓一個程式開機自啟動的兩種辦法:

1)chkconfig (/etc/init.d/sshd)

2)放入/etc/rc.local

一般在工作中,一台伺服器上跑了些什麼程式,會記錄在此檔案中,并且注釋!友善其他運維人員快速掌握該機器上運作的程式!

/etc/hosts

本地域名解析檔案!最好把本機的IP與本機的主機名也寫入到該檔案中!

hosts企業裡的應用:

1:開發,産品,測試等人員,用于通過正式的域名測試産品

2:伺服器之間的調用可以用域名(内部的DNS),友善遷移

/etc/sysconfig/network

主機名的配置檔案!

該檔案在啟動過程中,會被/etc/init.d/network檔案調用

更改主機名:

1:vi /etc/sysconfig/network

2:hostname 主機名

3:vi /etc/hosts

上面三個檔案同時修改

/etc/resolv.conf DNS伺服器配置!這裡注意網卡裡的DNS配置優先于此檔案的DNS配置!面試的時候注意下這個地方,工作中如果需要配置DNS,就在網卡檔案配置即可!
/etc/fstab

開機自動挂載系統,所有分區開機都會自動挂載。

生産場景的應用,檔案參數詳細解釋見:http://www.cnblogs.com/ginvip/p/6351740.html

/etc/inittab 設定系統啟動時Init程序将把系統設定成什麼樣的runlevel運作級别及加載相關的啟動檔案配置
/etc/exports 設定NFS系統用的配置檔案路徑
/etc/init.d 這個目錄用來存放系統啟動腳本
/etc/profile

系統全局環境變量永久生效的配置檔案

定義别名以及PATH變量等

使用者的環境變量:~/.bash_profile , ~/.bashrc

/etc/profile.d

加載系統登入程式的一個目錄,指令或檔案獨立存在!

以檔案的形式存在(.sh為擴充名),但要可執行

[root@Gin ~]# cat /etc/profile.d/gin.sh

#!/bin/bash

echo "welcome to Gin linux blog from /etc/profile.d"

退出目前終端,再次登入,該腳本就會自動執行,螢幕上就會顯示上面的内容

/etc/profile.d  登入後執行的腳本所在地

/etc/motd  登入後顯示的字元串

/etc/issue

記錄使用者登入前顯示的系統版本資訊

安全優化: >/etc/issue

/etc/motd 設定認證後的輸出資訊,
/etc/mtab 目前安裝的檔案系統清單.由scripts初始化,并由mount 指令自動更新.需要一個目前安裝的檔案系統的清單時使用,例如df 指令
/etc/group 類似/etc/passwd ,但要說明的不是使用者而是組.
/etc/passwd 使用者資料庫,其中的域給出了使用者名、真實姓名、家目錄、加密的密碼和使用者的其他資訊.
/etc/shadow 在安裝了影子密碼軟體的系統上的影子密碼檔案.影子密碼檔案将/etc/passwd 檔案中的加密密碼移動到/etc/shadow 中,而後者隻對root可讀.這使破譯密碼更困難.
/etc/sudoers 可以執行使用sudo指令的配置檔案
/etc/syslog.conf 系統日志參數配置
/etc/login.defs 設定使用者帳号限制的檔案
/etc/securetty 确認安全終端,即哪個終端允許root登入.一般隻列出虛拟控制台,這樣就不可能(至少很困難)通過modem或網絡闖入系統并得到超級使用者特權.
/etc/printcap 類似/etc/termcap ,但針對列印機.文法不同.
/etc/shells 列出可信任的shell.chsh 指令允許使用者在本檔案指定範圍内改變登入shell.提供一台機器FTP服務的服務程序ftpd 檢查使用者shell是否列在 /etc/shells 檔案中,如果不是将不允許該使用者登入.
/etc/xinet.d 如果伺服器是通過xinetd模式運作的,它的腳本要放在這個目錄下。有些系統沒有這個目錄,比如Slackware,有些老的版本也沒有。在Redhat Fedora中比較新的版本中存在。
/etc/skel/ 預設建立使用者時,把該目錄下的所有檔案拷貝到家目錄下
/etc/sysconfig/network-scripts/ifcfg-eth0

ifup eth0 啟動第一塊網卡

ifdown eth0 關閉第一塊網卡

ip a 或 ip add 檢視網卡ip

 該檔案的詳細内容見:http://www.cnblogs.com/ginvip/p/6351740.html

4:/usr/目錄

/usr 是系統核心所在,包含了所有的共享檔案。它是 unix 系統中最重要的目錄之一,涵蓋了二進制檔案,各種文檔,各種頭檔案,x,還有各種庫檔案;還有諸多程式,例如 ftp,telnet 等等。

/usr/games 曾經包含遊戲等檔案,現在很少用到;
/usr/doc 文檔。實際是 /usr/share/doc 的軟連結;
/usr/include 各種頭檔案,編譯檔案等時需要使用; /usr/include/’package-name’ : 程式特定的頭檔案;
/usr/etc/ 一個極少用到的配置檔案存放地;
/usr/man man 手冊,已經移至 /usr/share/man;
/usr/src linux 核心的源碼和說明文檔等; /usr/src/linux : linux 源代碼;
/usr/bin 非必要可執行檔案 (在單使用者模式中不需要);面向所有使用者。
/usr/lib 所有可執行檔案所需要的庫檔案;
/usr/sbin/ 類似 /sbin,root 可以執行。但此目錄不包含在環境變量 $PATH 中,它包含的程式類似于 chroot, useradd, in.tftpd and pppconfig;
/usr/share/  它包含了各種程式間的共享檔案,如字型,圖示,文檔等。(/usr/local 對應的目錄是  /usr/loca/share); /usr/share/doc : 類似應用程式的 man 手冊。它包含程式的說明檔案,預設配置檔案等;
/usr/X11R6 x 系統的二進制檔案,庫檔案,文檔,字型等。它不等同于 /usr 的作用,隻有 x 才能調用這些庫檔案等,其他程式不讀取或者使用。因為 linux 沒有原生圖形界面,而且 linux 大部分情況下是 for server 的,是以圖形界面沒有意義;其中 X11R6 代表 version 11 release 6; /usr/X11R6/bin : x 的二進制檔案,包含運作 x 的必須檔案;
/usr/local/ /usr 通常隻包含系統發行時自帶的程式,而 /usr/local 則是本地系統管理者用來自由添加程式的目錄;相當于windowns下的c:\Programe files目錄

5:/var/目錄

/var 包括系統一般運作時要改變的資料.每個系統是特定的,即不通過網絡與其他計算機共享.

/var/log/message 系統日志資訊,按周自動輪詢(系統硬體,軟體出故障都會記錄。另外還有一個dmesg指令記錄系統硬體故障)
/var/spool/cron/ 定時器配置檔案目錄,預設按使用者命名
/var/log/secure 安全日志資訊。記錄登陸系統存取資訊的檔案,不管認證成功還是認證失敗都會記錄(如SSH連接配接日志,有人掃描你的端口等)
/var/log/wtmp 記錄登陸者資訊的檔案,last,who,w指令資訊來源于此
/var/spool/clientmqueue 當郵件服務未開啟時,所有應發給系統管理者的郵件都将堆放在此
/var/spoo/mail/ 郵件目錄 mail -> spool/mail
/var/tmp/ 比/tmp 允許的大或需要存在較長時間的臨時檔案. (雖然系統管理者可能不允許/var/tmp 有很舊的檔案.)
/var/lib/ 系統正常運作時要改變的檔案.  
/var/local /usr/local 中安裝的程式的可變資料(即系統管理者安裝的程式).注意,如果必要,即使本地安裝的程式也會使用其他/var 目錄,例如/var/lock .  
/var/lock 鎖定檔案.許多程式遵循在/var/lock 中産生一個鎖定檔案的約定,以支援他們正在使用某個特定的裝置或檔案.其他程式注意到這個鎖定檔案,将不試圖使用這個裝置或檔案.
/var/log/ 各種程式的Log檔案,特别是login   (/var/log/wtmp log所有到系統的登入和登出) 和syslog (/var/log/messages 裡存儲所有核心和系統程式資訊. /var/log 裡的檔案經常不确定地增長,應該定期清除.  
/var/run 儲存到下次引導前有效的關于系統的資訊檔案.例如, /var/run/utmp 包含目前登入的使用者的資訊.
/var/cache/ 應用程式緩存資料。這些資料是在本地生成的一個耗時的I/O或計算結果。應用程式必須能夠再生或恢複資料。緩存的檔案可以被删除而不導緻資料丢失。

6:/proc/目錄

虛拟檔案系統,将核心與程序狀态歸檔為文本檔案(系統資訊都存放這目錄下)。

例如:uptime、 network。在Linux中,對應Procfs格式挂載。該目錄下檔案隻能看不能改(包括root)

/proc/meminfo 檢視記憶體資訊
/proc/loadavg 還記得 top 以及 uptime 吧?沒錯!上頭的三個平均數值就是記錄在此!
/proc/uptime 就是用 uptime 的時候,會出現的資訊!
/proc/cpuinto 關于處理器的資訊,如類型、廠家、型号和性能等。
/proc/cmdline 加載 kernel 時所下達的相關參數!查閱此檔案,可了解系統是如何啟動的!
/proc/filesystems 目前系統已經加載的檔案系統!
/proc/interrups 目前系統上面的 IRQ 配置設定狀态。
/proc/ioports 目前系統上面各個裝置所配置的 I/O 位址。
/proc/kcore 這個就是記憶體的大小啦!好大對吧!但是不要讀他啦!
/proc/modules 目前我們的 Linux 已經加載的子產品清單,也可以想成是驅動程式啦!
/proc/mounts 裝置的挂載資訊!與 dh -hT類似
/proc/swaps 到底系統挂加載的記憶體在哪裡?呵呵!使用掉的 partition 就記錄在此啦!
/proc/partitions 使用 fdisk -l 會出現目前所有的 partition 吧?在這個檔案當中也有紀錄喔!
/proc/pci 在 PCI 彙流排上面,每個裝置的詳細情況!可用 lspci 來查閱!
/proc/version 核心的版本,就是用 uname -a 顯示的内容啦!
/proc/bus/* 一些彙流排的裝置,還有 U盤的裝置也記錄在此喔!

7:/dev/目錄

裝置檔案分為兩種:塊裝置檔案(b)和字元裝置檔案(c)

裝置檔案一般存放在/dev目錄下,

對常見裝置檔案作如下說明:

/dev/hd[a-t] IDE裝置
/dev/sd[a-z] SCSI裝置
/dev/fd[0-7] 标準軟驅
/dev/md[0-31] 軟raid裝置
/dev/loop[0-7] 本地回環裝置
/dev/ram[0-15] 記憶體
/dev/null 無限資料接收裝置,相當于黑洞
/dev/zero 無限零資源
/dev/tty[0-63] 虛拟終端
/dev/ttyS[0-3] 序列槽
/dev/lp[0-3] 并口
/dev/console 控制台
/dev/fb[0-31] framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot
/dev/random 随機數裝置
/dev/urandom

word文檔下載下傳位址:http://wenku.baidu.com/view/60751c313868011ca300a6c30c2259010202f319

Linux運維三:系統目錄結構

繼續閱讀