首頁 > 軟體

Linux命令中chmod 777 以及drwxr-xr-x分別代表什麼意思

2020-06-16 16:35:08

Linux使用==ll==命令列出列表的時候,前面總是有一堆drwxr-xr-x ,這些代表什麼意思從來還沒有去在意過,只是找到自己的目錄然後一頓操作完事。但是這次在tomcat下部署專案的時候怎麼都不能啟動,後來找來運維人員一看是因為沒有許可權,他就告訴我這些都是什麼意思,然後我也自己查了一下資料,這裡就整理一下,也方便自己記憶。

首先,這些字母表示的是許可權的意思

許可權的計算從第二位字母開始,三個符號為一組合,其中-表示沒有這個許可權,那麼先拿==drwxr-xr-x==簡單解釋一下:

  • d:這一位表示檔案型別。d是目錄檔案,l是連結檔案,-是普通檔案,p是管道
  • rwx:這三位(2-4位元)表示這個檔案的屬主擁有的許可權,r是讀,w是寫,x是執行。這裡表示這個屬主同時擁有讀、寫、執行許可權
  • r-x:這三位(5-7位)表示和這個檔案屬主所在同一個組的使用者所具有的許可權。這裡表示的是有讀和執行許可權,沒有寫許可權
  • r-x:這三位(8-10位)表示其他使用者所具有的許可權。這裡表示的是有讀和執行許可權,沒有寫許可權

其次,使用ls -l(或者ll)命令列出後每一行代表的含義

  • 第1段: 檔案屬性欄位:檔案屬性欄位總共有10個字母組成,第一個字母表示檔案型別,如果這個字母是一個減號”-”,則說明該檔案是一個普通檔案。字母”d”表示該檔案是一個目錄,字母”d”,是dirtectory(目錄)的縮寫。
    注意,一個目錄或者說一個資料夾是一個特殊檔案,這個特殊檔案存放的是其他檔案和資料夾的相關資訊。
  • 第2段:檔案硬連結數或目錄子目錄數
  • 第3段:檔案擁有者
  • 第4段:檔案擁有者所在的組
  • 第5段:檔案檔案大小(以位元組為單位)
  • 第6段:檔案建立月份
  • 第7段:檔案建立日期
  • 第8段:檔案建立時間
  • 第9段:檔名 (如果是一個符號連結,那麼會有一個 “->”箭頭符號,後面根一個它指向的檔案)

可以拿下面這個比對一下:

drwxr-xr-x 1 62323 197609       0 4月  21 14:16 bin/
drwxr-xr-x 1 62323 197609       0 4月  21 14:16 cmd/
drwxr-xr-x 1 62323 197609       0 4月  21 14:16 dev/
drwxr-xr-x 1 62323 197609       0 4月  21 14:16 etc/
-rwxr-xr-x 1 62323 197609  149784 2月  26 19:48 git-bash.exe*

最後就是賦權時數位的含義

使用chmod賦權的時候,我們通常會這樣寫:

chmod 777 test.txt

那麼上面的777 代表的含義是這樣的:

  • r:read 表示讀許可權 --數位4表示
  • w:write 表示寫許可權 --數位2表示
  • x:excute 表示執行許可權 --數位1表示
  1. 第一個7:表示==屬主==擁有==4+2+1==的許可權也就是同時有==讀,寫,執行==許可權
  2. 第二個7:表示==與屬主同一個組的所有使用者==擁有==4+2+1==的許可權
  3. 第三個7:表示==其他使用者==擁有==4+2+1==的許可權

所以這裡可以看出來這個777具有的威力(賦權一定要謹慎!)

再比如:rwxrwxr-- 774
表示此檔案(資料夾)的擁有者和同組使用者有讀寫及執行許可權,其他使用者組只有讀許可權。也就是前面三個表示所有者許可權,中間三個表示同組使用者許可權,最後一組表示其他使用者許可權(不包括root)。

最後舉個詳解案例:

    drwxr-xr-x 1 62323 197609       0   4月  21 14:16  bin/

其中:

  • d:表示==bin==是目錄
  • rwx:表示==62323==屬主擁有的許可權是==可讀(r),可寫(w)和可執行(x)==
  • r-x(5-7位):表示與==62323==這個屬主在同一個組(==197609==)的使用者的許可權是==可讀(r)和可執行(x)==
  • r-x(8-10位):表示其他使用者擁有的許可權是==可讀(r)和可執行(x)==
  • 1:檔案硬連結數或目錄子目錄數為 1
  • 62323:表示我筆記型電腦的一個使用者(是我的qq號的前幾位)
  • 197609:表示==62323==這個使用者所屬的組group
  • 0:表示檔案大小是==0位元組==
  • 4月:表示建立月份是==4月==
  • 21:建立日期是==21日==
  • 14:16:表示建立時間是下午的==14:16==
  • bin/:表示的檔名稱,這裡指的是目錄名稱

IT145.com E-mail:sddin#qq.com