## 一、目錄
目錄在文件類型上用d來表示,用 / 分割目錄層
Linux操作系統 都有且僅有一個起始目錄,我們用一個單獨的 /來表示,稱其為根目錄。
對每一個Shell和操作環境,都有一個當前的工作目錄。
## 二、 . 文件與 ..文件
在每一個目錄下都有一個.文件與 .. 文件。
?. 文件是對當前目錄的一個硬鏈接
?.. 文件是對上級目錄的一個硬鏈接
## 三、目錄的權限
目錄也是一種文件
目錄上的讀寫執行權限與普通文件有所不同:
讀:用戶可以讀取目錄內的文件
寫:單獨使用沒有作用。與執行權限連用可以在目錄內添加與刪除文件。
執行:用戶可以進入目錄,調用目錄內的資料
## 四、強制位于冒險位
除了讀寫執行權限以外,ext2文件系統還支持強制位(setuid和setgid)與冒險位(sticky)的特別權限。
針對u, g, o, 分別有set uid, set gid, 及 sticky
強制位與冒險位添加在執行權限的位置上。如果該位置上原已有執行權限。則強制位與冒險位以小寫字母的方式表示,否則,以大寫字母表示。
set uid與set gid在u和g的x位置上各采用一個s,sticky使用一個t
(1)set gid對目錄的作用
默認情況下用戶建立的文件屬于用戶當前所在的組。
目錄上設置了setgid,表示此目錄中,任何人建立的文件,都會屬于目錄所屬的組。

如何查看默認用戶及組呢? id 用戶名

添加強制位權限

添加強制位權限后再來在該目錄下建立文件

(2)冒險位對目錄的作用
默認情況下,如果一個目錄上有w和x權限,則任何人可以在此目錄中建立與刪除文件。
一旦目錄上設置了冒險位,則表示在此目錄中,只有文件的擁有者、目錄的擁有者與系統管理員可以刪除文件。

(3)強制位對
文件
的作用
在可執行文件上,用戶可以添加set uid 和set gid
默認情況下,用戶執行一個指令,會以該用戶的身份來運行程序。
指令文件上的強制位,可以讓用戶執行指令,以指令文件的擁有者或所屬組的身份運行進程

(4)設置強制位與冒險位
用戶可以用chmod指令來為文件設置強制位與冒險位
set uid : ? chmod u + s ?文件名
set gid : ? chmod g + s ?文件名
sticky ?: ? ?chmod o + t ?文件名
強制位與冒險位也可以通過一個數字加和,放在讀寫執行的三位數字前來指定
4(set uid)
2(set gid)
1(sticky)

注意:set uid 只能在文件上面設定、set gid能在目錄和文件上面設定、sticky只能在目錄上面設定
## 五、umask
每個用戶建立文件時,此文件都會有默認權限
默認權限的值由環境中的umask值來確定
用戶可以自主改動umask值,并在改動后建立的文件上得到體現
一般用戶的默認uask值為002,系統用戶的默認umask值為022.

如果沒有umask時文件默認權限是rw-rw-rw-、目錄默認權限是rwxrwxrwx
上面的新建文件的權限計算方法,沒有umask時默認權限減去umask值
rw-rw-rw-
6 ? 6 ? 6
0 ? 2 ? 2 ?(去掉組寫權限、和普通用戶寫權限)
6 ? 4 ? 4
rw-r--r--
由此可見,如果要去掉某個權限,則umask該位就是該權限碼

## 六、根目錄下的目錄
Linux目錄遵循FHS標準:[http://www.pathname.com/fhs/](http://www.pathname.com/fhs/)
FHS標準規范了每個目錄下應該放什么數據,如下表:

/ :根目錄,一般建議在根目錄下只有目錄,不要直接有文件。根目錄是啟動時系統第一個載入的分區,所以,所有啟動過程會用到的文件都應該放在這個分區。如:/etc ? ?/bin ? /dev ? /lib ? /sbin ?這5個子目錄都應該與根目錄連在一起,不可獨立成為某個分區。
/bin :存儲常用用戶指令
/boot :這個目錄主要目的是存放Linux系統啟動時用到的文件。啟動會用到的Linux的核心文件。這個目錄下面的文件vmlinuz就是linux的核心。如果引導程序選擇grub,這個目錄內還有 /boot/grub子目錄
/dev :在Linux系統上,任何設備都以文件類型存放在這個目錄中。訪問這個目錄下面的某個文件,就等于訪問某臺設備。設備又分為字符設備,例如鍵盤、鼠標等,塊設備,例如硬盤、光盤等。在此目錄下的文件會多出兩個屬性,分別是主設備號和輔助設備號。
/etc :存儲系統、服務的配置目錄與文件,一般這個目錄下的文件是可以讓一般用戶看的,但只有root用戶可以修改。
/home :存放個人主目錄
/ib :存放庫文件,諸如核心模塊、驅動
/lost+found :存儲fsck用的孤兒文件,系統出現異常,產生錯誤時,會將一些遺失的片段放于此目錄下,通常這個目錄會自動出現在某個分區最頂層的目錄下。
/mnt :系統加載文件系統時用的常用掛載點
/opt :第三方工具使用的安裝目錄
/proc :虛擬文件系統,包含系統訊息等資料
/root :root用戶的主目錄
/sbin :存儲系統管理用指令,這個目錄是給root用戶管理用的
/tmp :臨時文件的暫存點
/usr :存放與用戶直接相關的文件與目錄
/var :存儲在系統運行中可能會更改的數據