文件属性(一)——文件的7种类型

文件的7种类型

Linux一切皆文件,Linux文件一共分为7类分别是- d c s p l b。

普通文件(regular file -)

  1. 普通文件根据存放的内容的不同,又分为如下两种:
    1. 文本文件

      存放的都是文字编码,文本编辑器打开后,会将这些文字编码翻译为文字图形,供人识别

    2. 纯二进制文件

      比如经过编译后得到的可执行文件,里面放的是cpu执行的纯二进制机器码,由于文本编辑器只认识文字编码,所以用文本编辑器打开后,显示的内容无法是错乱的,无法识别的。

      其实不管存放的是文字编码,还是机器码,在计算机中存储时,其实都是以二进制形式存放的,只不过我们这里可刻意的把机器码这类非文字编码的数据,特意强调为了二进制数据。

  2. 以存储5为例
    1. 以'5'存储,在文件中存放的是'5'的ASCII码为53(00110101),在计算机中实际存放的是00110101。
    2. 以整数5存储:文件中实际存放的整数5(00000101),在计算机中实际存放的是00000101
      对Linux内核而言,这两种文件并无区别,至于文件中的数据如何解释,则由处理这些数据的应用程序(比如文本编辑器)来决定。
    3. 不管是文字编码数据,还是纯二进制数据,程序调用read、write读写文件时,没有任何区别。

目录文件(director file:d)

目录是一种特殊的文件,专门用于管理其他文件

字符特殊文件(character special file:c)

字符设备文件,就是字符设备驱动程序,在上层的表现形式。

当应用程序调用底层字符设备驱动程序,实现对某个字符设备进行读写时,上层就需要对接底层的字符设备驱动程序,字符设备驱动在上层,会以"字符设备文件"的形式表现出来,我们通过open、read、write去读写字符设备文件,就实现了和底层字符设备驱动程序的交互。

块设备文件(block special file:b):对应块设备文件

  1. 块设备文件,是块设备驱动程序在上层的表现形式
  2. 字符设备与块设备的区别?
    1. 字符设备
      • 以字节单位来操作数据
      • 比如:键盘、鼠标、显示器都等是字符设备。
      • 字符设备的驱动程序,就称为“字符设备驱动程序”
    2. 块设备
      • 块设备存储的数据量往往非常大,为了提高读写效率,都是以块(1024字节)为单位来操作数据。
      • 比如:电脑硬盘、移动硬盘、u盘等,凡是涉及大量数据存储的,都是以块为单位来操作数据的,都是块设备。

管道文件(FIFO:p)

管道文件,用于实现不同进程(程序)之间的通信,管道是OS提供的一种纯代码层面的通信机制。

A进程——>管道文件——>B进程

套接字文件(socket:s)

专门用于网络通信的文件。

讲到网络编程时,再来具体介绍

其实就是一种快捷图标,背后指向了另一个文件。

通过file命令查看文件属性

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值