Linux 的文件类型

Linux 的文件通常分为 7 大类

文件类型                                  缩写      英文名称                                                 
普通文件 - Regular file
目录文件 D Directory file
块设备文件 B Block special file
字符设备文件 C Character special file
命名管道文件 F FIFO 或 named pipe
套接字文件 S Socket
符号链接文件 l Symbolic link

普通文件

普通文件是 Linux 系统中最常见的一类文件,其特点是不包含文件系统的结构信息,可包括图形文件、数据文件、文档文件、声音文件等;按照内部结构又可分为文本文件和二进制文件两种。

  • 文本文件

  文本文件是字符(ASCII码)组成的文件,以行为基本结构的信息存储文件,它的内容是用户可以直接读到的数据,例如数字、字母等。通常来说,Linux 的系统配置文件基本上都属于这种文件类型,可以使用 cat 命令直接查看。

  • 二进制文件

  二进制文件是按信息在内存中的格式表示的文件,通常不能直接查看,而必须使用相应的软件来查看。通常来说,Linux 中的可执行文件(脚本、文本方式的批处理文件不算)基本都属于这种文件类型,可以运行。

目录文件

Linux 中的目录也是以文件存在的,称为目录文件,其是文件系统中一个目录所包含的目录项组成的文件,用户可以读取但是不能修改该目录文件的内容,只允许系统进行修改。

设备文件和块设备文件

Linux 把设备(例如硬盘、串口等)也看做文件,具有相同的操作方法,这种文件被成文设备文件,是用于操作系统与 I/O 设备提供连接的一种文件,分为字符设备文件和块设备文件,这些文件通常存放在 dev 目录中。

字符设备文件

这是一个顺序的数据流设备文件,对这种文件的读写是按字符进行的,而且这些字符是连续地形成一个数据流。字符设备不具备缓冲区,所以对这种设备的读写是实时的,如串口终端、磁带机等。

块设备文件

这是一种具有一定结构的随即存取设备文件,对这种设备的读写是按块进行的,它使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备,或从设备中一次性读出放入到缓冲区,如磁盘和文件系统等。

命名管道文件

命名管道文件又被称为先进先出文件,其主要用于在 Linux 的进程间传递数据,是 Linux 进程间的一种通信机制。管道是进程间传递数据的“媒介”,一个进程将数据写入管道的一端,另一个进程从管道另一端读取数据。通常情况下,管道是建立在高速缓存中的。采用先进先出的规定处理其中的数据。管道文件又可以分为有名管道和无名管道两种。

套接字文件

套接字(Socket)文件主要用于不同计算机进程间的通信,其是操作系统内核中的一个数据结构,它是网络中的节点进行相互通信的门户。套接字有三种类型:流式套接字、数据报套接字和原始套接字。流式套接字也就是 TCP 套接字(或称面向连接的套接字),数据报套接字也就是 UDP 套接字(或称无连接的套接字),原始套接字用 “SOCK_RAW” 表示。

  • 流式套接字定义了一种可靠的面向连接服务,实现了无差错、无重复的顺序数据传输
  • 数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的、并且不保证可靠、无差错
  • 原始套接字允许对低层协议,如 IP 或 ICMP 进行访问,主要用于对新的网络协议进行测试等

符号链接文件

又称链接文件,是一种特殊的文件,实际上是指向一个真实存在的文件链接。链接文件提供了共享文件的一种方法,在链接文件中不是通过文件名实现文件共享,而是通过链接文件所包含的指向文件的指针来实现对文件的访问。普通用户可以建立链接文件,并通过其指针访问它所指向的那个文件。使用链接文件可以访问普通文件,还可以访问目录文件和不具有普通文件形态的其它文件。也就是说,链接文件可以在不同的文件系统之间建立一种链接关系。根据链接对象的不同,可以分为硬链接文件和符号链接文件。

Linux 的文件是一个简单的字节数据序列,所以在 Linux 下对于文本文件、二进制文件的结构和访问方法都是相同的。Linux 的文件是由一系列块(block)组成,每个块可能含有 512、1024、2048 或 4096 个字节,具体由系统实现决定,在同一个文件系统中块大小是相同的。当使用较大块的时候,由于每次磁盘操作可以传输更多的数据,操作所花的事件较少,所以可以提高磁盘和内存间数据的传输率,但是相对的,由于块太大,存储的有效容量也会下降,也就是说会浪费一些存储空间。

Linux 使用文件描述符(File Descriptor)来标识一个进程正在访问的特定文件,当打开一个文件或创建一个文件时,Linux 将返回一个文件描述符,以供其它操作引用,通常来说文件描述符是一个小的非负整数。

Linux 中,每个进程都可以拥有最多 1024 个文件描述符,并且有自己的文件描述符表,其中前三项对于一般的进程是固定的,且是由系统自动打开的:

  • 文件描述符 0:标准输入文件,通常对应键盘灯输入设备
  • 文件描述符 1:标准输出文件,通常对应显示设备
  • 文件描述符 2:标准错误输出文件,通常也是对应显示设备

对于以上三个文件描述符,用户程序不用执行文件打开操作就可直接使用,其在头文件中的定义部分如下:

1 #define    STDIN_FILENO      0
2 #define    STDOUT_FILENO     1
3 #define    STDERR_FILENO     2
时间: 2024-11-05 15:50:25

Linux 的文件类型的相关文章

linux 中文件类型和颜色的区分

linux 中文件类型和颜色的区分 to be  continued linux 中文件类型和颜色的区分,布布扣,bubuko.com

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

linux 的文件类型总结文档

win中是通过扩展名,区别文件类型(jpg,jpeg,png,gif/doc,txt,pdf/avi,wmv,mp4) linux中文件类型和或者扩展名没有关联 linux的文件类型 linux中一切皆文件: f(-)    regular file 普通文件 普通文件类型: 1.纯文本文件(ASCII编码) 2.二进制文件(binary) 3.数据类格式的文件 lastlog命令显示结果 d    directory    目录文件 l    symbolic link    软连接文件:so

Linux: Linux的文件类型及查看文件类型的方法

Linux文件类型和文件的文件名所代表的意义是两个不同的概念,在linux中文件类型与文件扩展名没有关系.它不像Windows那样是依靠文件后缀名来区分文件类型的,在linux中文件名只是为了方便操作而的取得名字.Linux文件类型常见的有:普通文件.目录.字符设备文件.块设备文件.符号链接文件等. 一 常见的文件类型 1,普通文件类型 Linux中最多的一种文件类型, 包括 纯文本文件(ASCII):二进制文件(binary):数据格式的文件(data);各种压缩文件.第一个属性为 [-] .

02.学习笔记-Linux常见文件类型

Linux文件类型常见的有:普通文件(-).目录(d).字符设备文件(c).块设备文件(b).符号链接文件(l)等:需要注意的是,Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件). 1 普通文件 [[email protected] ~]# ls -lh install.log -rw-r--r

linux的文件类型和权限

Linux下使用ll或ls -l查看文件的信息 (ll和ls-l的区别:ll会显示出当前目录下的隐藏文件,而ls -l不会) 文件信息分为:文件类型.权限.链接数.所属用户.所属用户组.文件大小.最后修改时间.文件名,具体的可以见下图. 一.文件类型: d:文件夹 -:普通文件 l:链接(类似Windows的快捷方式) b:块设备文件(例如硬盘.光驱等) p:管道文件 c:字符设备文件(例如猫等串口设备) s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock

Linux的文件类型

d  目录文件.l  符号链接(指向另一个文件,类似于瘟下的快捷方式).s  套接字文件.b  块设备文件,二进制文件.c  字符设备文件.p  命名管道文件.-  普通文件,或更准确地说,不属于以上几种类型的文件. 重点注意的是普通文件,在查看文件类型的时候使用file命令和ll命令结合来查看文件的类型

Linux 不同颜色文件类型 / 权限 / 属性

Linux 的文件基本上分为三个属性:可读( r ),可写( w ),可执行( x ) (以 -rwxr-xr-x 为例):   rwx(Owner)r-x(Group)r-x(Other) 表示的权限是:使用者自己可读,可写,可执行:同一组的用户可读,不可写,可执行:其它用户可读,不可写,可执行. chmod [-R] xyz 文件或目录 xyz 为三組 rwx 属性数值的相加 同一组的数字是相加!如属性为 [ -rwxrwx— ] ,则: owner  = rwx  = 4+2+1 = 7 

Linux:文件类型和权限

一个目录要同时具有读权限和执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件.