Linux有什么文件类型

Linux有什么文件类型,第1张

Linux有以下文件类型:

1、普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

2、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

3、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

4、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

目录文件(directory):就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。

连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

设备设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:

块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。

字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。

管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。

Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。

1.

普通文件

我们用

ls

-lh

来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个符号是

-

,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具...

....

cp工具等。这类文件的删除方式是用rm

命令。

2.

目录文件

当我们在某个目录下执行,看到有类似

drwxr-xr-x

,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用

mkdir

命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm

或rmdir命令。

3.

字符设备或块设备文件

区块(block)设备文件

:就是一些储存数据,

以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是啦。

你可以随机的在硬盘的不同区块读写,这种装置就是成组设备。你可以自行查一下/dev/sda看看,

会发现第一个属性为[

b

]。

字符(character)设备文件:亦即是一些串行端口的接口设备,

例如键盘、鼠标等等。这些设备的特色就是一次性读取的,不能够截断输出。

举例来说,你不可能让鼠标跳到另一个画面,而是滑动到另一个地方。第一个属性为

[

c

]。

4.

数据接口文件(sockets):

数据接口文件(或者:套接口文件),这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求,

而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为

[

s

],

最常在/var/run这个目录中看到这种文件类型了。

5.

符号链接文件:

当我们查看文件属性时,会看到有类似

lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln

-s

源文件名

新文件名创建的。这和Windows *** 作系统中的快捷方式有点相似。

在linux下,所有的设备,都是以文件的形式存在的。都存在在/dev目录下。在/dev目录下的每个文件都对应一个设备。有字符设备,块设备和网络设备等等。

这样的话,所有的设备你就都可以像访问文件一般的访问。比如你要访问串口,串口1对应的文件是"ttyS0".打开文件/dev/ttyS0。往内写,就是往串口写,从文件读,就是从串口读。

而终端x对应的文件是"/dev/ttyX",gnemo模拟的终端对应的是"dev/pts/X"。这个x是终端号。你往这些文件内写东西,就会显示到终端了。

不知道清楚了没有,若没有可以消息联系。

可以建议你做个实验:将两台机器的串口使用一根串口线连在一起。然后一端从终端读往"/dev/ttyS0"写,另一端从“/dev/ttyS0”读往终端写。就可以实现一个简单的通信.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7161816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存