Linux文件属性1——文件类型
生活随笔
收集整理的這篇文章主要介紹了
Linux文件属性1——文件类型
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
以下內(nèi)容源于朱有鵬《物聯(lián)網(wǎng)大講堂》課程的學習整理,如有侵權(quán),請告知刪除。
1、普通文件(- ??regular file)
(1)文本文件
- 由文本構(gòu)成的,文本指的是ASCII碼字符;
- 不管什么文件,本質(zhì)上都是01數(shù)字;
- 文本文件中的數(shù)字,被理解為這個數(shù)字對應的ASCII碼;
- 常見的.c文件, .h文件 ?.txt文件等都是文本文件;
- 文本文件可以被人輕松讀懂和編寫,是為人類而發(fā)明的;
(2)二進制文件
- 二進制文件中存儲的內(nèi)容本質(zhì)上也是數(shù)字,只不過這些數(shù)字并不是文字的編碼數(shù)字,而是真正的數(shù)字;
- 常見的可執(zhí)行程序文件(gcc編譯生成的a.out,arm-linux-gcc編譯連接生成的.bin)都是二進制文件;
(3)對比
- 從本質(zhì)上來看(刨除文件屬性和內(nèi)容的理解),文本文件和二進制文件并沒有任何區(qū)別,都是一個文件里面存放了數(shù)字;
- 區(qū)別是理解方式不同,如果把這些數(shù)字就當作數(shù)字處理則就是二進制文件,如果把這些數(shù)字按照某種編碼格式去解碼成文本字符,則就是文本文件。
(4)如何知道一個文件是文件文件還是二進制文件?
- 在linux系統(tǒng)層面不區(qū)分這兩個(譬如open、read、write等方法操作文本文件和二進制文件時,沒有一點區(qū)分);
- 無法從文件本身準確知道文件屬于哪種,只能本來就知道這個文件的類型,然后用這種類型的用法解讀它;
- 有時候會用一些后綴名來人為的標記文件的類型;
(5)使用文本文件時,用文本文件編輯器去打開它、編輯它
- 常見的文本文件編輯器如vim、gedit、notepad++、SourceInsight等;
- 使用這些文本文件編輯器去打開文件的時候,編輯器讀出文件二進制數(shù)字內(nèi)容,然后按照編碼格式去解碼將其還原成文字;
- 編輯器以為這個二進制文件還是文本文件,然后試圖去將其解碼成文字,但是解碼過程很多數(shù)字并不對應有意義的文字,所以成了亂碼。
- 得出的就是文本文字所對應的二進制的編碼。
2、目錄文件(d ?directory)
- 即文件夾,文件夾在linux中也是一種文件,不過是特殊文件。
- 用vi打開一個文件夾,可知文件夾里的內(nèi)容包括這個文件夾的路徑、文件夾里面的文件列表。
- linux中使用特殊的一些API讀寫文件夾。
3、字符設備文件(c ?character)
4、塊設備文件(b ?block)
- 設備文件對應的是硬件設備;
- 不是真正存在于硬盤上的一個文件,而是文件系統(tǒng)虛擬制造出來的(叫虛擬文件系統(tǒng),如/dev 、/sys、 /proc等);
- 虛擬文件系統(tǒng)中的文件,需要用一些特殊的API產(chǎn)生或者使用。
5、管道文件(p ?pipe)
6、套接字文件(s ?socket)
7、符號鏈接文件(l ?link)
總結(jié)
以上是生活随笔為你收集整理的Linux文件属性1——文件类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS中文字体如宋体/微软雅黑的英文名称
- 下一篇: abaqus如何并行计算_Abaqus软