Linux下C編程:檔案類型和屬性

來源:互聯網
上載者:User

檔案是有名字的一組相關資訊的集合,在Linux 系統中,檔案的準確定義是不包含有任何其他結構的字元流。通俗地說,就是檔案中的字元與字元之間除了同屬於一個檔案之外,不存在任何其他的關係。檔案中字元的關係,是由使用檔案的應用程式來建立和解釋的。

每一個檔案都具有特定的屬性。Linux 系統的檔案屬性比較複雜,主要包括檔案類型和檔案許可權兩個方面。

1.檔案類型

Linux下的檔案可以分為5 種不同的類型。它們是普通檔案、目錄檔案、連結檔案、裝置檔案和管道檔案。下面給出它們的具體介紹。

(1)普通檔案

普通檔案也稱正規檔案,是最常見的一類檔案,也是最常使用到的一類檔案。其特點是不包含有檔案系統的結構資訊。通常所接觸到的檔案,包括圖形檔案、資料檔案、文檔檔案、音效檔等等都屬於普通檔案。這種類型的檔案按其內部結構又可細分為兩個檔案類型:文字檔和二進位檔案。

文字檔:文字檔是以字元(通常是ASCII 碼)表示的,是以行為基本結構的資訊儲存方式。

二進位檔案:二進位檔案是按資訊在記憶體中的格式表示的,它通常不能直接查看,而必須使用相應的軟體。

(2)目錄檔案

目錄檔案是用於存放檔案名稱及其相關資訊的檔案。是核心組織檔案系統的基本節點。目錄檔案可以包含下一級目錄檔案或普通檔案。

註:在Linux 中,目錄檔案是一種檔案。但Linux 的目錄檔案和其他動作系統中的“目錄”的概念不同,它是Linux 檔案的一種。當然,在實際使用時也可以不仔細區分這兩種說法,甚至在本書的具體敘述中,有時就將目錄檔案簡稱為目錄,但要注意它們在概念上的不同。

(3)連結檔案

連結檔案是一種特殊的檔案。它實際上是指向一個真實存在的檔案的連結。比如使用者要在一個目錄檔案中使用其他目錄檔案下的檔案時,並不需要將其複製過來,而只需在此目錄中建立一個連結檔案指向所要調用的檔案。在具體使用時,並不會感覺到它們有什麼不同。根據連結化物件的不同,連結檔案又可以細分為永久連結檔案和符號連結檔案。

(4)裝置檔案

裝置檔案是Linux 中最特殊的檔案。正是由於它的存在,使得Linux 系統可以十分方便的訪問外部裝置。Linux 系統為外部裝置提供一種標準介面,將外部裝置視為一種特殊的檔案。使用者可以像訪問普通檔案一樣訪問外部裝置。這就使Linux 系統可以很方便的適應不斷髮展的外部裝置。通常Linux 系統將裝置檔案放在/dev 目錄下。裝置檔案使用裝置的主裝置號和次裝置號來指定某外部裝置。主裝置號用於說明裝置類型,次裝置號用於說明具體裝置。例如,以IDE 硬碟為第一主盤,它的第三個分區的裝置檔案就是/dev/hda3。其中hd 是主裝置號,a3 是次裝置號。根據訪問資料方式的不同,裝置檔案又可以細分為兩種類型:塊裝置檔案和字元裝置檔案。

塊裝置檔案:塊裝置檔案是以固定長度的塊訪問資料的。

字元裝置檔案:字元裝置檔案是以指定字元(通常是一個字元)訪問資料的。

大多數外部裝置都提供兩種訪問方式。但對每一種裝置來說,都有其最佳的訪問方式。

註:在裝置檔案中有一個極其特殊的檔案/dev/null。所有放入這一裝置的資料都將不再存在。

可以將它看成是刪除操作。

(5)管道檔案

管道檔案也是一種很特殊的檔案。主要用於不同進程間的資訊傳遞。當兩個進程間需要進行資料或資訊傳遞時,可以通過管道檔案。一個進程將需傳遞的資料或資訊寫入管道的一端,另一進程則從管道的另一端取得所需的資料或資訊。通常管道是建立在快取中的。採用先進先出的規定處理其中的資料。可以細分為有名管道和無名管道兩種。

2.檔案許可權

Linux系統是一個典型的多使用者系統,不同的使用者處於不同的地位。為了保護系統的安全性,Linux 系統對不同使用者訪問同一檔案的許可權做了不同的規定。對於一個Linux 系統中的檔案來說,它的許可權可以分為三種:讀的許可權、寫的許可權和執行的許可權。分別用r、w 和x 表示。不同的使用者具有不同的讀、寫和執行許可權。對於一個檔案來說,它都有一個特定的所有者,也就是對檔案具有所有權的使用者。同時,由於在Linux 系統中,使用者是按組分類的,一個使用者屬於一個或多個組。所以檔案所有者以外的使用者又可以分為檔案所有者的同組使用者和其他使用者。因此Linux 系統按檔案所有者、檔案所有者同組使用者和其他使用者三類規定不同的檔案存取權限。

註:系統管理員root 使用者是一個非常特別的使用者,此使用者對系統具有最高的控制權。對於系統中的所有檔案root 使用者都有讀、寫以及執行的許可權。

查看全套文章:http://www.bianceng.cn/Programming/C/201212/34807.htm

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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