Linux的檔案型別和檔案屬性等

2021-09-12 18:22:50 字數 1498 閱讀 4424

檔案型別:

linux中的檔案型別和windows有明顯的區別,最大的就在於,linux把目錄和裝置都當做檔案來進行處理,這樣就簡化了對各種不同型別裝置的處理,提高了效率。linux的檔案,分為四類:普通檔案、目錄檔案、鏈結檔案和裝置檔案。

目錄檔案:

在linux裡,目錄檔案也是檔案。他們包含檔名和子目錄名以及指向那些檔案和子目錄的指標。當檔案和目錄相對應起來,就是用指標將其鏈結起來之後,就構成了目錄檔案。

linux中,幾個檔名可以和乙個 i 結點相關聯(這幾個就是乙個是普通檔案,其餘是硬鏈結檔案了)。i 結點含有乙個字段,其中含有與檔案的關聯數目。要增加乙個鏈結,只需要簡單地建立乙個目錄項(應該是linux核心或者哪個地方,有一塊檔案目錄表,記錄著所有的檔案–結點資訊),該目錄項的 i 結點號指向該 i 結點,並增加該 i 結點的鏈結個數即可。但如果是刪除乙個鏈結,或者刪除原檔案,在核心上並不是刪除鏈結或者檔案,而是遞減 i 結點的鏈結計數值。當計數值為0時,才釋放結點,所以檔案或者鏈結才徹底消失。這種鏈結,稱為 硬鏈結(hard link)

而還有一種是軟鏈結(符號鏈結symbolic link)。符號鏈結是沒有指向那個 i 結點的,是需要另外的磁碟空間。當linux從路徑名到 i 結點的轉換中,當核心遇到乙個符號鏈結時,就用該鏈結對應的檔案替換,並繼續路徑名的翻譯工作(檔案架構,是通過 結點的形式實現的。所以說,越研究linux的底層設計,越覺得真是巧妙)。 在使用者使用的角度來看,它就相當於windows下的快捷方式了。

由於符號鏈結沒有指向 i 結點,所以它可以指向任意型別的檔案,甚至是乙個不存在的檔案(刪除原檔案後,符號鏈結就是指向不存在的檔案)。它可以實現,對不同目錄。檔案系統、甚至是不同機器上的檔案的直接訪問,這是windows的快捷方式所達不到的。

在使用上,就是:

——軟鏈結沒有與硬鏈結發生聯絡,中間需要通過檔案相連

——修改硬鏈結或者軟鏈結的內容,都會同時修改所有的被鏈結的檔案

——刪除原檔案後,軟鏈結失效,但是硬鏈結可以繼續使用,直到 i 結點計數值為0

——為了避免造成目錄樹的迴圈,對於目錄檔案,不能使用硬鏈結

linux為了遮蔽使用者對裝置訪問的複雜性,採用了裝置檔案。裝置檔案,包括硬碟、光碟機、印表機等。存在兩類裝置特殊檔案:字元和塊裝置特殊檔案。前者(如鍵盤)允許通過字元模式進行 io 操作。後者(如磁碟)需要通過高速緩衝功能以塊模式寫資料方式操作。所有的裝置檔案,都放在 /dev 目錄下。

檔案屬性:

linux中,乙個檔案能否執行,與字尾無關,而是檔案屬性有關。

檔案屬性如下:

rwx r-x r-x (檔案擁有者許可權(u) 檔案所有組許可權(g) 系統其它使用者許可權(o))

其中,r: 可讀

w:可寫

x :可執行

-:沒有許可權

可用八進位制數來表示檔案屬性,上面那個表示為:

rwx :7 r-x :5 r-x:5 ,即0755(八進位制前面一定要加0作為區分)

Linux中的檔案型別以及檔案屬性

linux中主要檔案型別分為四種 普通檔案 鏈結檔案 目錄檔案 裝置檔案 一 普通檔案 普通檔案僅僅是位元組序列,linux沒有對其內容規定任何結構。可以是程式源 可執行檔案 聲音等。在linux終端使用以下命令來檢視某個檔案的屬性 root jluzh root ls 1 install.log ...

列出目錄和檔案屬性(linux)

練習命令列常用快捷鍵 tab ctrl l esc ctrl c 檢視根目錄 下有哪些文件或子目錄 以長格式顯示結果,對比 bin usr bin 目錄詳細屬性 列出當前目錄下的所有文件 包括隱藏文件 列出 root 目錄下以 ana開頭的文件,識別文件大小 1.2 步驟 實現此案例需要按照如下步驟...

Linux檔案系統和檔案型別

檔案操作是linux日常工作最基礎的內容,所有涉及到linux相關的工作,都會用到一些shell命令來操作檔案。本篇介紹經常用到的linux檔案命令。在linux中,所有的裝置都是檔案,檔案的型別根據檔案頭部來確定,而不是檔案的尾部。linux的主要檔案結構如下 系統的根目錄,通常不會在這裡儲存檔案...