[Linux應用] 文件類型與文件權限

查看文件類型與權限

執行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

一行表示一個文件信息,每行分七列,表示文件的七種信息:

  1. 第一列:文件類型和權限。
  2. 第二列:有多少文件名連接到此節點i-node
  3. 第三列:文件所有者的用戶名
  4. 第四列:文件所屬用戶組的組名
  5. 第五列:文件內容大小,默認單位B
  6. 第六列:文件創建日期或者最近修改日期,這裏的時間表示法含有空格,像是三列信息,其實是一列信息
  7. 第七列:文件名

文件類型

第一列第1個字母就是文件的類型,有如下幾種含義:

  1. -:普通文件file,最常見的一種文件類型,存儲文件內容數據,有純文本文件、二進制文件、特定數據格式文件等
  2. d:目錄directory,存儲記錄着文件元數據信息,包括文件名、所數組、所屬用戶、創建時間、文件大小等信息
  3. l:連接文件linkfile,指向其它文件的文件,類似於windows快捷方式
  4. b:塊設備block device driver,可供Linux系統存儲數據的接口設備,也就是硬盤
  5. c:字符設備character device drive,串行端口設備,例如鍵盤、鼠標等
  6. s:套接字socket,用於網絡通信的,源地址ip和目的地址ip以及源端口port和目標端口port,組合起來就稱爲套接字
  7. p:管道pipeline,一種能夠傳遞數據的中間文件,就像個管道,傳遞的數據有流向,具有先進先出的數據結構特性

文件權限

第一列緊跟在文件類型字符後面的9個字符表示文件權限。

3個字符劃分爲1組,依次代表“所有者、組用戶、其他人”這三種用戶對文件分別擁有的權限。

1組的3個字符又分別代表:讀權限r、寫權限w、執行權限x,沒有權限-

權限對於普通文件的意義

  1. 讀權限:用戶可讀取文件內容
  2. 寫權限:用戶可編輯文件內容,但不包括刪除,編輯與刪除是兩個概念
  3. 執行權限:用戶可調用某個程序執行該文件,這類文件的內容通常都是可執行的代碼

權限對於目錄的意義

  1. 讀權限:用戶可讀取目錄的結構列表,也就是查看目錄下的文件列表,只針對文件元數據,不針對文件內容數據
  2. 寫權限:用戶可更改目錄的結構列表,可在目錄下“新建、刪除、移動”文件及子目錄。記住,目錄的寫權限就是用來操作目錄下的文件名
  3. 執行權限:用戶可進入該目錄使之成爲工作目錄,工作目錄就是當前所在目錄

改變文件權限可使用chmod命令,具體有兩種方式:

  1. 通過數字類型改變權限
  2. 通過符號類型改變權限

數字類型改變權限

基本權限字符rwx-分別用4210的權值代替,就是r對應4w對應2x對應1-對應0

用戶擁有的權限是三個權限位上權值相加的結果,例如用戶擁有rw-權限,那麼4+2+0=6,我們就說用戶權限是6

所以,9個權限字符就可以轉化成3個數字,例如某個文件權限爲rwxrwx---,那麼就可以說它的權限是770

使用方法:

chmod [-R] xyz 文件或目錄
# R是遞歸recursive的意思,即連同子目錄下的所有文件都會更改
# xyz就是轉換後的那三個權值數字

符號類型改變權限

三種用戶身份usergroupothers可以分別簡寫爲ugo,此外,再定義個能表示所有用戶的身份all,簡寫爲a

對權限的“添加、去除、設置”分別用三個符號表示:+添加,-去除,=設置。

使用方法:

chmod u+x 文件或目錄    # 給user用戶添加x權限
chmod g-w 文件或目錄    # 去除group用戶w權限
chmod o=rx- 文件或目錄  # 設置others權限爲rx-
chmod a-x 文件或目錄    # 三種用戶都去除x權限
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章