Linux中的文件类型

在Linux中一切皆文件,并总共有7种文件类型,分别是:

1、普通文件

用'-'来表示:用于存放数据、程序等信息的一般文件,包括文本文件和二进制文件。

可以使用touch来创建一个普通文件:

touch file

2、目录文件

相当于Windows系统中的文件夹,由该目录所包含的目录项所组成的文件。

可以使用 mkdir 命令来创建一个目录文件:

mkdir directory

可以用rmdir或者rm -rf来删除一个目录文件,但是用rmdir删除时,如果该目录文件里有东西时就会显示删除失败,而用rm -rf来删除目录文件时无论该目录文件里是否含有别的文件都能删除成功。第一个字符为"d"(directory)。

3、设备文件

 Linux 中的硬件设备如硬盘、鼠标等也都被表示为文件,即为设备文件。设备文件一般存放在 /dev/ 目录下,设备文件分为两种:

①块设备文件:存取是以一个字块为单位,块设备文件支持以块(block)为单位的访问方式。在 EXT4 文件系统中,一个 block 通常为 4KB 的大小,也就是说每次可以存取 4096(或其整数倍) 个字节的数据。应用程序可以随机访问块设备文件的数据,程序可以自行确定数据的位置,硬盘、软盘等都是块设备。使用 ls -l 命令查看,块设备文件的第一个字符是 "b"(block)。

②字符设备文件:存取数据时是以单个字符为单位的。字符设备文件以字节流的方式进行访问,由字符设备驱动程序来实现这种特性,这通常要用到 open、close、read、write 等系统调用。字符终端、串口和键盘等就是字符设备。另外,由于字符设备文件是以文件流的方式进行访问的,因此可以顺序读取,但通常不支持随机存取。使用 ls -l 命令查看,字符设备文件的第一个字符是 "c"(char)。

4、链接文件

   链接文件一般指的是一个文件的软连接(或符号链接),它的功能是为某一个文件在另外一个位置建立一个同步的链接。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。(有点像window的快捷方式)

使用 ls -l 命令查看,第一个符号为  "l",链接文件还可以分为软链接文件和硬链接文件,可以使用ln来创捷一个链接文件

软链接文件
  软链接相当于给原文件创建了一个快捷方式,如果删除原文件,则对应的软链接文件也会消失。使用 ln -s file softlink 命令可以创建一个文件的软链接文件:

硬链接文件

  硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失;对其中任何一个进行更改,另一个的内容也会随之改变,因为这两个本质上是同一个文件,只是名字不同。使用 ls -i 命令查看,可以发现硬链接的两个文件的 inode 号是一样的:

  同样的,使用 ln 命令可以创建一个文件的硬链接:ln test.txt test_hardlink

5、管道文件

管道文件主要用于进程间通信,负责将一个进程的信息传递给另一个进程,从而使该进程的输出成为另一个进程的输入。使用 ls -l 命令查看,第一个字符为 "p"(pipe)。可以使用 mkfifo 命令来创建一个管道文件:

6、套接字文件

 套接字文件主要用于通信,特别是在网络上。套接字文件系统是一个用户不可见的,高度简化的,用于汇集网络套接字的内存文件系统,它没有块设备, 没有子目录,没有文件缓冲,它借用虚拟文件系统的框架来使套接字与文件描述字具有相同的用户接口。当用户用socket(family,type,protocol)创建一个网络协议族为family, 类型为type,协议为protocol的套接字时, 系统就在套接字文件系统中为其创建了一个名称为其索引节点编号的套接字文件。使用 ls -l 命令查看,第一个字符为 "s"(socket)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钜锋王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值