查看文件類型與權限
執行ls -al
命令就可以查看當前目錄下的文件類型與權限:
[root@iz2ze42begxd9o6kpi6lu8z ~]# ls -al
總用量 18404
dr-xr-x---. 12 root root 4096 10月 16 21:29 .
dr-xr-xr-x. 18 root root 4096 8月 15 08:21 ..
-rw------- 1 root root 13549 10月 16 23:40 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r-- 1 root root 194 8月 28 2017 .bashrc
drwx------ 3 root root 4096 7月 10 2017 .cache
drwx------ 3 root root 4096 7月 28 2018 .config
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
drwxr-xr-x 13 dev dev 4096 9月 12 2017 curl-7.55.1
-rw-r--r-- 1 root root 3736406 8月 14 2017 curl-7.55.1.tar.gz
一行表示一個文件信息,每行分七列,表示文件的七種信息:
- 第一列:文件類型和權限。
- 第二列:有多少文件名連接到此節點
i-node
- 第三列:文件所有者的用戶名
- 第四列:文件所屬用戶組的組名
- 第五列:文件內容大小,默認單位
B
- 第六列:文件創建日期或者最近修改日期,這裏的時間表示法含有空格,像是三列信息,其實是一列信息
- 第七列:文件名
文件類型
第一列第1
個字母就是文件的類型,有如下幾種含義:
-
:普通文件file
,最常見的一種文件類型,存儲文件內容數據,有純文本文件、二進制文件、特定數據格式文件等d
:目錄directory
,存儲記錄着文件元數據信息,包括文件名、所數組、所屬用戶、創建時間、文件大小等信息l
:連接文件linkfile
,指向其它文件的文件,類似於windows
快捷方式b
:塊設備block device driver
,可供Linux
系統存儲數據的接口設備,也就是硬盤c
:字符設備character device drive
,串行端口設備,例如鍵盤、鼠標等s
:套接字socket
,用於網絡通信的,源地址ip
和目的地址ip
以及源端口port
和目標端口port
,組合起來就稱爲套接字p
:管道pipeline
,一種能夠傳遞數據的中間文件,就像個管道,傳遞的數據有流向,具有先進先出的數據結構特性
文件權限
第一列緊跟在文件類型字符後面的9
個字符表示文件權限。
每3
個字符劃分爲1
組,依次代表“所有者、組用戶、其他人”這三種用戶對文件分別擁有的權限。
每1
組的3
個字符又分別代表:讀權限r
、寫權限w
、執行權限x
,沒有權限-
。
權限對於普通文件的意義
- 讀權限:用戶可讀取文件內容
- 寫權限:用戶可編輯文件內容,但不包括刪除,編輯與刪除是兩個概念
- 執行權限:用戶可調用某個程序執行該文件,這類文件的內容通常都是可執行的代碼
權限對於目錄的意義
- 讀權限:用戶可讀取目錄的結構列表,也就是查看目錄下的文件列表,只針對文件元數據,不針對文件內容數據
- 寫權限:用戶可更改目錄的結構列表,可在目錄下“新建、刪除、移動”文件及子目錄。記住,目錄的寫權限就是用來操作目錄下的文件名
- 執行權限:用戶可進入該目錄使之成爲工作目錄,工作目錄就是當前所在目錄
改變文件權限可使用chmod
命令,具體有兩種方式:
- 通過數字類型改變權限
- 通過符號類型改變權限
數字類型改變權限
基本權限字符rwx-
分別用4210
的權值代替,就是r
對應4
,w
對應2
,x
對應1
,-
對應0
。
用戶擁有的權限是三個權限位上權值相加的結果,例如用戶擁有rw-
權限,那麼4+2+0=6
,我們就說用戶權限是6
。
所以,9
個權限字符就可以轉化成3
個數字,例如某個文件權限爲rwxrwx---
,那麼就可以說它的權限是770
使用方法:
chmod [-R] xyz 文件或目錄
# R是遞歸recursive的意思,即連同子目錄下的所有文件都會更改
# xyz就是轉換後的那三個權值數字
符號類型改變權限
三種用戶身份user
、group
、others
可以分別簡寫爲u
、g
、o
,此外,再定義個能表示所有用戶的身份all
,簡寫爲a
。
對權限的“添加、去除、設置”分別用三個符號表示:+
添加,-
去除,=
設置。
使用方法:
chmod u+x 文件或目錄 # 給user用戶添加x權限
chmod g-w 文件或目錄 # 去除group用戶w權限
chmod o=rx- 文件或目錄 # 設置others權限爲rx-
chmod a-x 文件或目錄 # 三種用戶都去除x權限