最近跟一個運維人員學了點新東西,感覺以前沒怎么注意,但現在感覺很有用,特來記錄一下。
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表示
第一個7:表示==屬主==擁有==4+2+1==的權限也就是同時有==讀,寫,執行==權限
第二個7:表示==與屬主同一個組的所有用戶==擁有==4+2+1==的權限
第三個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/:表示的文件名稱,這里指的是目錄名稱