linux下檔案管理值得注意的地方

來源:互聯網
上載者:User


linux下檔案管理值得注意的地方 1.檔案的許可權管理     linux中,最令我感到印象深刻的是它的許可權管理,比windows系統靈活得多,也嚴格的多,對於使用者,也方便設定。利用ls -l命令我們可以查看到,當前檔案夾下的檔案屬性情況。一共是7列,分別是許可權,連結數,檔案所有者,檔案所有組,檔案的大小,檔案的修改日期,以及檔案名稱。  www.2cto.com  

      看看這兩個難理解的屬性:(1)許可權屬性,這一列代表了檔案的類型與許可權,一共有10個字元,第一個字元表示檔案的類型,-表示為普通檔案,d表示為目錄檔案,此外,還有l表示為連結檔案,b表示塊介面裝置檔案,c表示串列介面裝置檔案,例如鍵盤、滑鼠,也就是字元型裝置檔案。後9個字元代表了檔案的許可權資訊,其中以3個為一組,一共3組。r代表可讀,w代表可寫,x代表可執行,他們的位置不會改變,如果沒有響應的許可權,就用符號-表示。
        2-4字元為第一組,代表了檔案所有者的許可權,以showinfo2為例子,即對所有者cenkaijie5來講,他具有rw的許可權,而不具有x的許可權,即具有讀,寫檔案的許可權,但是不具有執行的許可權。       5-7字元為第二組,代表了檔案所有組的許可權。      8-10字元為第三組,代表了其他使用者的許可權,仍showinfo2為例,r--,即其他使用者對showinfo2檔案只具有讀許可權。
 (2)串連數屬性,這個屬性代表了 有多少個檔案與當前這個檔案是同一個檔案,對於ext2檔案來說,也就是具有相同的inode號。  對於普通檔案來說,每當你建立一個永久連結,例如,執行命令ln user user2後,user的連結數變為了2,因為user,user2都指向了同一個檔案,即具有相同的inode號。
   對於目錄來說,也是如此。但是值得注意的是,目錄的連結數至少為2。因為每當你建立一個目錄時,這個目錄下必會建立兩個目錄檔案. 與 .. , 目錄檔案 . 與你新建立的目錄具有相同的inode號,目錄檔案.. 與你新建立的目錄的上級目錄具有相同的inode號。所以,每當你建立一個目錄時,這個目錄的連結數為2,這個目錄的上級目錄 連結數為3,所以可以看出,對於目錄檔案下載來說,它的連結數為5, 可表明 它有 3個目錄檔案。

 二.下面討論一下許可權對 目錄與普通檔案的意義這個部分容易會理解出現偏差,不能簡單地把目錄與普通檔案看成等同。
 1.對於普通檔案(包括文字檔,jpg各種格式的檔案,二進位檔案等等)來說,它的資料區塊儲存的就是真正的內容,真正的人們所需要的資料,所以許可權對它來說,就是:
   r 讀許可權: 可讀取此檔案的實際內容。  www.2cto.com    w寫入權限:可以修改,編輯,新增檔案的實際內容,但是不包括 刪除該檔案的許可權。  x執行許可權: 該檔案可以被系統執行的許可權。
 2.對於目錄檔案來說,它的資料區塊data block儲存的就是 檔案名稱列表以及對應的inode號。 檔案名稱與目錄檔案有強烈的關係,因為 inode table裡面 並不包括 檔案名稱。  r讀許可權:意味著可以data block的內容,即意味著可以讀取目錄下的檔案名稱列表。
   w寫入權限: 意味著可以改寫data block的內容,即可以刪除檔案,新增檔案。  x執行許可權: 意味著可以進入到 目錄中,讓 目錄 成為 工作目錄, 讀取 檔案清單的各種屬性。  www.2cto.com    目錄只有可讀許可權的情況下,使用ls命令,如,即只能看到檔案夾下的檔案名稱,而檔案的屬性都看不到,檔案的屬性都是放在檔案的inode中,而不是目錄的data block裡

  目錄只有可執行許可權的情況下,使用ls命令,如,則根本看不到目錄data block裡的內容,也就是看不到 檔案的檔案名稱 與 inode號。

 但是 假設你知道這個目錄下的檔案名稱tv,並且有tv的讀許可權,你則可以使用cat cc/tv 來查看檔案,如下

 再舉一個例子(linux 鳥哥的私房菜)來說,如果我要讀取cat /etc/passwd這個檔案時,系統是如何讀取的?1. /的inode    通過掛載點的資訊找到/的inode號為2,且inode記錄的許可權為r-x,所以我們可以進入/目錄下。  www.2cto.com  2./的block   讀取/的data block塊,  看是否有etc的檔案。存在,在找到了etc的inode號1912423。3.etc的inode   inode記錄的許可權為r-x,所以我們進入到etc目錄下。4.etc的block   讀取etc的data block塊,  看是否有passwd的檔案。存在,在找到了passwd的inode號1914888。5.passwd的inode   inode記錄的許可權為r--,所以可以把passwd的data block內容讀取 6.passwd的block   最後data block的內容讀出。總結一下,我的理解,(1)目錄 的x許可權 是必須的,也是最重要的一個許可權。 沒有目錄x許可權,你無法進入到這個目錄中, 不能對 刪除,新增檔案,也不能修改 ,查看,執行已存在的檔案,最多你只能查詢目錄下的檔案名稱列表。 無  目錄的 x許可權 ,幾乎動彈不得。
 (2)目錄的 r許可權 是非必須的, 有了r許可權, 你可以通過ls 命令 查詢 目錄下 的檔案名稱列表哦;沒了r許可權,如果你已經知道了檔案名稱,你仍可能對檔案進行修改,查看,與執行。(3)而目錄的w許可權 ,是用來建立,刪除,重新命名檔案的,必須與x許可權 結合,否則無效。   www.2cto.com  3. 永久連結與軟連結的區別 永久連結是通過inode號串連檔案,不佔用額外的inode號,只在目錄檔案的datablock 中增加一表項。 軟連結又稱符號連結,它比永久連結更為常用,是一種特殊的檔案類型,通過 檔案路徑 來連結到 另一檔案,而不是直接連結到inode
  1.永久連結 基於inode實現,因為inode號的唯一性,而不同檔案系統的inode號不一致,所以永久連結不能跨檔案系統;而軟串連是基於路徑實現,所以可以跨檔案系統 2.在linux 中, 限制了永久連結不能串連到 目錄(除了 系統 . 與 .. 這兩個特殊的情況外) ,而軟連結則可以。 綜上來看,軟連結更為常用。 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.