1. 程式人生 > 其它 >linux檔案操作學習總結

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