Linux下使用ll或ls -l查看文件的信息
(ll和ls-l的區別:ll會顯示出當前目錄下的隱藏文件,而ls -l不會)
文件信息分為:文件類型、權限、鏈接數、所屬用戶、所屬用戶組、文件大小、最後修改時間、文件名,具體的可以見下圖。
一、文件類型:
d:文件夾
-:普通文件
l:鏈接(類似Windows的快捷方式)
b:塊設備文件(例如硬盤、光驅等)
p:管道文件
c:字符設備文件(例如貓等串口設備)
s:套接口文件/數據接口文件(例如啟動一個MySql服務器時會產生一個mysql.sock文件)
二、文件權限
權限
對應數字
意義
r
4
可讀
w
2
可寫
x
1
可執行
-:某一位置為空時顯示-,表示不具備這個權限
權限位由9位組成,前3位表示文件擁有者的權限,中間3位表示文件所屬用戶組的權限,後3位表示其他用戶的權限。
舉例如下:
drwxr-xr-x 2 root mail 4096 1月 12 03:44 account
表示文件夾account,root是他的所屬擁有者,具有可讀可寫可執行的權限;mail是他的所屬用戶組,具有可讀、可執行的權限,不具備可寫的權限;其他用戶針對這個文件夾具有可讀、可執行的權限,不具備可寫的權限
更改權限命令:
chmod 權限 文件名
chmod有兩種用法
1.chmod 用戶+(-)權限 文件名
用戶
意義
u
所有者(user)
g
所屬群組(group)
o
其他人(other)
a
全部的人(all)
(增加權限用+,減少權限用-,直接等於的權限用=)
例:給文件test.txt的其他用戶增加可讀的權限
chmod o+r test.txt
權限其他說明:
文件都有默認權限:
類型
默認權限
文件
rw-rw-rw-
目錄
rwxrwxrwx
但是這個權限不一定是我們linux系統的默認權限,每個系統都有一個權限掩碼(unmask)
使用命令查看權限掩碼(umask查看數字掩碼;umask -S查看字符掩碼)
數字掩碼:默認掩碼減去數字掩碼代表的權限
字符掩碼:取默認淹沒和字符掩碼的交集代表權限
修改權限掩碼的命令:umask 007(或者umask u=rw,g=rwx,o=r)
2.chmod 權限數字 文件名
權限數字由3位數組成,第1位數表示所有者的權限;第2位數表示所屬群組的權限;第3位數表示其他人的權限
例:將test.txt文件變更權限為文件擁有者可讀可寫可執行,文件所屬組可讀可寫可執行;其他人可讀可執行不可寫。
chmod 775 test.txt
說明:數字是對應權限的數值和。例如7=4+2+1,所以7代表可讀可寫可執行。5=4+1,所以5代表可讀可執行不可寫。0代表不可讀不可寫不可執行
三、文件所屬的擁有者和所屬群組
1.更改文件擁有者
命令:chown 用戶名 文件
例如:chown work test.txt(將test.txt的擁有者變更為work)
2.更改文件的所屬群組
命令:chgrp 群組名稱 文件
例如:chgrp named test(將test的所屬群組變更為named)
其他:
1.chmod和chgrp、chown都有一個參數-R,可以遞歸的將目錄及它以下的子目錄一起變更權限等
2.有的ll後,發現第一段的權限後還有一個“.”或者“+”,如下圖所示:
在網上查了一下,
“.”表示有selinux的安全標簽,具有安全上下文屬性(可以用ll -LZ查看)
“+”表示文件應用了其他訪問控制的安全措施
(感興趣的大家可以自己去查詢一下,我也沒有去查詢太多的內容。)