[TOC]
# 文件基本屬性
Linux系統中,每個文件有10個屬性,分別如下所示:

` `
其中,第 0 位表示文件類型:
* 當為`d`則是目錄;
* 當為`-`則是文件;
* 若是`l`則表示為鏈接文檔(link file);
* 若是`b`則表示為裝置文件里面的可供儲存的接口設備(可隨機存取裝置);
* 若是`c`則表示為裝置文件里面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。
接下來的,以三個為一組,且均為`rwx`的三個參數的組合。其中,`r`代表可讀(read)、`w`代表可寫(write)、`x`代表可執行(execute)。 要注意的是,這三個權限的位置不會改變,如果沒有權限,就會出現減號`-`而已。其中,1-3 位確定 owner 對該文件的權限;4-6 位確定 group 對該文件的權限;7-9 位確定 other 對該文件的權限。
# 查看文件的屬性
`ls -l`命令顯示的前 10 位 如下所示。
~~~
? ALog git:(master) ls -l
total 112
drwxr-xr-x 11 Blankj staff 374 Dec 6 23:39 alog
-rw-r--r-- 1 Blankj staff 11336 Dec 4 17:08 LICENSE
-rw-r--r-- 1 Blankj staff 6932 Dec 6 23:44 README.md
~~~
# 更改文件屬性
## 更改文件 owner
~~~
chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名
~~~
## 更改文件 group
~~~
chgrp [-R] 屬組名 文件名
~~~
## 更改文件權限
更改文件權限有兩種方法,一種是數字法,一種是符號法。
# 數字法修改文件屬性
~~~
chmod [-R] xyz 文件或目錄
~~~
文件的基本權限就有九個,owner/group/others 每個都有各自的`rwx`權限,我們使用數字來代表各個權限,如下所示:
~~~
r: 4
w: 2
x: 1
~~~
每種身份(owner/group/others)各自的`rwx`是需要累加的,當文件權限為`rwxrwx---`,則用數字表示為:
~~~
owner = rwx = 4 + 2 + 1 = 7
group = rwx = 4 + 2 + 1 = 7
others = --- = 0 + 0 + 0 = 0
~~~
例如要開啟`alog`目錄及目錄下所有文件的所有權限,可以使用`chmod -R 777 alog`命令。
# 符號法修改文件屬性
~~~
u +(加入) r
chmod g -(除去) w 文件或目錄
o =(設定) x
a
~~~
我們就可以用`u`,`g`,`o`,`a`來代表 owner,group,others,all。
如果我們要將文件權限設置為`rwxr-xr--`,可以使用`chmod u=rwx,g=rx,o=r 文件名`命令。