linux檔案操作學習總結
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