600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Linux文件属性1——文件类型

Linux文件属性1——文件类型

时间:2018-07-03 11:50:45

相关推荐

Linux文件属性1——文件类型

以下内容源于朱有鹏《物联网大讲堂》课程的学习整理,如有侵权,请告知删除。

1、普通文件(- regular file)

(1)文本文件

由文本构成的,文本指的是ASCII码字符;不管什么文件,本质上都是01数字;文本文件中的数字,被理解为这个数字对应的ASCII码;常见的.c文件, .h文件 .txt文件等都是文本文件;文本文件可以被人轻松读懂和编写,是为人类而发明的;

(2)二进制文件

二进制文件中存储的内容本质上也是数字,只不过这些数字并不是文字的编码数字,而是真正的数字;常见的可执行程序文件(gcc编译生成的a.out,arm-linux-gcc编译连接生成的.bin)都是二进制文件;

(3)对比

从本质上来看(刨除文件属性和内容的理解),文本文件和二进制文件并没有任何区别,都是一个文件里面存放了数字;区别是理解方式不同,如果把这些数字就当作数字处理则就是二进制文件,如果把这些数字按照某种编码格式去解码成文本字符,则就是文本文件。

(4)如何知道一个文件是文件文件还是二进制文件?

在linux系统层面不区分这两个(譬如open、read、write等方法操作文本文件和二进制文件时,没有一点区分);无法从文件本身准确知道文件属于哪种,只能本来就知道这个文件的类型,然后用这种类型的用法解读它;有时候会用一些后缀名来人为的标记文件的类型;

(5)使用文本文件时,用文本文件编辑器去打开它、编辑它

常见的文本文件编辑器如vim、gedit、notepad++、SourceInsight等;使用这些文本文件编辑器去打开文件的时候,编辑器读出文件二进制数字内容,然后按照编码格式去解码将其还原成文字; (6)如果用文本文件编辑器去打开一个二进制文件会如何? 编辑器以为这个二进制文件还是文本文件,然后试图去将其解码成文字,但是解码过程很多数字并不对应有意义的文字,所以成了乱码。 (7)用二进制阅读工具去读取文本文件会怎么样? 得出的就是文本文字所对应的二进制的编码。

2、目录文件(d directory)

即文件夹,文件夹在linux中也是一种文件,不过是特殊文件。用vi打开一个文件夹,可知文件夹里的内容包括这个文件夹的路径、文件夹里面的文件列表。linux中使用特殊的一些API读写文件夹。

3、字符设备文件(c character)

4、块设备文件(b block)

设备文件对应的是硬件设备;不是真正存在于硬盘上的一个文件,而是文件系统虚拟制造出来的(叫虚拟文件系统,如/dev 、/sys、 /proc等);虚拟文件系统中的文件,需要用一些特殊的API产生或者使用

5、管道文件(p pipe)

6、套接字文件(s socket)

7、符号链接文件(l link)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。