學習轉自:https://ecloud.10086.cn/api/query/developer/user/home.html?ticket=ST-7179-Jhem0Myd4NmqdlwEK4He-cas01.example.org#L2FwaS9xdWVyeS9kZXZlbG9wZXIvYmxvZy9ibG9nZGV0YWlsLmh0bWw/YmxvZ19pZD04NDFjODQ3YzM2YjA0MWRhOTE0MzNhNTgwZGNjNGRhMQ==
https://ecloud.10086.cn/api/query/developer/user/home.html?ticket=ST-7179-Jhem0Myd4NmqdlwEK4He-cas01.example.org#L2FwaS9xdWVyeS9kZXZlbG9wZXIvZm9ydW0vZmxvb3JsaXN0Lmh0bWw/aWQ9ZjlhZTNkNjc3N2JmNDZmMmIxNWQ1Y2EyYTM3MWZhMWUmc291cmNlPXVzZXI=
1.linux文件與目錄權限管理
linux是典型的多用戶系統,不同用戶的權限不同,所以linux對不同用戶訪問同一個文件/目錄文件的權限做了不同的規定。
以下兩個命令被用來修改文件或目錄的所屬用戶與權限:
- chown (change ownerp) : 修改所屬用戶與組。
- chmod (change mode) : 修改用戶的權限。
chown授權用戶,chmod爲用戶設置權限。
查看文件目錄詳情命令:
ll 或 ls -l
3個一組,r 代表可讀(read)、 w 代表可寫(write)、 x 代表可執行(execute), 三個權限的位置不會改變,如果沒有權限,就會出現減號 - 。
引用菜鳥聯盟的圖片可以很清晰的全是各個屬性的意義
每個文件有一個特定的所有者,就是對此文件有所有權的用戶,在linux中,用戶按組分類,一個用戶可以屬於一個或多個組,
所以分爲:文件所有者,文件所有者同組用戶和其他用戶3種來規定文件的訪問權限。但是對於root用戶來說,一般情況,文件的權限對它不起作用。
(-R表示遞歸目錄下所有文件)
更改文件屬組:
chgrp [-R] 屬組名 文件名
更改文件屬主,並同事更改文件屬組:
chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名
例子:將reset.js文件擁有者改爲app,屬組改爲app:chown app:app reset.js
更改文件權限屬性:
可以用數字,或者符號設置,文件基本權限9個如下圖1-9位
rwx二進制表示爲111,r:100=4 ,w:010=2,x:001=1
則rwx = 7,r-x = 5, r-x = 5,所以文件權限數字爲755,改成rwxrwxrwx的指令語法:chmod 777 文件或目錄名稱
符號類型改變文件權限規則:
user:u,group:g,others:o,all:a
讀寫權限:r,w,x
編輯:+加入,-除去,=設定
例子:chmod u=rwx,g=rx,o=r 文件或目錄名稱
除去全部人的r權限:chmod a-r 文件或目錄名稱
2.文件與目錄管理
linux爲樹狀目錄結構,最頂級目錄爲根目錄/
絕對路徑:由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。
相對路徑:不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法。
常用目錄處理命令:
ls(英文全拼:list files): 列出目錄及文件名
選項與參數:
-a :全部的文件,連同隱藏文件( 開頭爲 . 的文件) 一起列出來
-d :僅列出目錄本身,而不是列出目錄內的文件數據
-l :長數據串列出,包含文件的屬性與權限等等數據
例子:將home目錄下所有文件列出來(含屬性和隱藏檔):ls -al ~
cd(英文全拼:change directory):切換目錄
cd [相對路徑或絕對路徑]
pwd(英文全拼:print work directory):顯示目前的目錄
pwd [-P]
-P :顯示出確實的路徑,而非使用連結 (link) 路徑。
mkdir(英文全拼:make directory):創建一個新的目錄
mkdir [-mp] 目錄名稱
-
- -m :配置文件的權限
- -p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創建起來!
例子: mkdir -m 711 test2
rmdir(英文全拼:remove directory):刪除一個空的目錄
rmdir [-p] 目錄名稱
-
- -p :從該目錄起,一次刪除多級空目錄
cp(英文全拼:copy file): 複製文件或目錄
cp [-adfilprsu] 來源檔(source) 目標檔(destination)
例子: cp ~/.bashrc /tmp/bashrc 將文件.bashrc複製到/tmp/bashrc/路徑下
rm(英文全拼:remove): 刪除文件或目錄
rm [-fir] 文件或目錄
-
- -f :就是 force 的意思,忽略不存在的文件,不會出現警告信息;
- -i :互動模式,在刪除前會詢問使用者是否動作
- -r :遞歸刪除啊!最常用在目錄的刪除
mv(英文全拼:move file): 移動文件與目錄,或修改文件與目錄的名稱
mv [-fiu] source destination
-
- -f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
- -i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
- -u :若目標文件已經存在,且 source 比較新,纔會升級 (update)
例子:將文件list.js 移動到目錄home下: mv list.js /home