linux有哪些文件类型

linux中有七种文件类型:1、普通文件类型;2、目录文件类型;3、块设备文件类型;4、字符设备类型;5、套接字文件类型;6、管道文件类型;7、链接文件类型。

linux有哪些文件类型

本教程操作环境:linux5.9.8系统、Dell G3电脑。

Linux系统下,有七种文件类型:

  • 普通文件类型

    最常使用的一类文件,其特点是不包含有文件系统信息的结构信息。通常用户所接触到的文件,比如图形文件、数据文件、文档文件以及声音文件都属于这种文件,这种类型的文件是按照其内部结构又可分为纯文本文件(ASCII)、二进制文件(binary)、数据格式的文件(data)、各种压缩文件。

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

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

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

  • 目录文件类型

    用于存放文件名以及其相关信息的文件,是内核组织文件系统的基本节点。目录文件可以包含下一级文件目录或者普通文件,在Linux中,目录文件是一种文件。

    能用 # cd 命令进入的。

  • 块设备文件类型

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

  • 字符设备类型

    字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。

  • 套接字文件类型

    这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。

  • 管道文件类型

    是一种很特殊的文件,主要用于不同进程的信息传递。当两个进程需要进行数据或者信息传递时,可以使用通道文件,一个进程将需要传递的数据或者信息写入管道的一端,另一进程从管道的另一端取得所需要的数据或者信息,通常管道是建立在调整缓存中。

  • 链接文件类型

    是一种特殊文件,指向一个真实存在的文件链接,类似于Windows下的快捷方式,链接文件的不同,又可分为硬链接文件和符号链接文件。

查看文件类型的三种方法

ls-l/ls-ld 或者ll [ls-l —查看文件 ls-ld —查看路径 ll ----跟ls -l 一样]

 ll anaconda-ks.cfg                       //看第一个字符
-rw-------. 1 root root 2460 6月   1 23:37 anaconda-ks.cfg
[root@localhost log]# ls -ld /etc   
drwxr-xr-x. 81 root root 4096 Jan 29 03:25 /etc

file 命令

[root@localhost data]# file a.txt 
a.txt: ASCII text

stat 命令

[root@localhost data]# stat a.txt      //查看文件的详细属性(其中包括文件时间属性)
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800
Modify: 2018-01-28 20:55:27.181876154 +0800
Change: 2018-01-28 20:55:27.181876154 +0800

Linux中文件扩展名

windows里通过扩展名来区分文件类型的。linux里文件扩展名和文件类型没有关系。但为了容易区分和兼容用户使用windows的习惯,我们还是会用扩展名来表示文件类型。举例如下:
● 源码.tar、.tar.gz、.tgz、.zip、.tar.bz表示压缩文件,创建命令一般为tar,gzip,zip等。
● .sh表示shell脚本文件,通过shell语言开发的程序。
● .pl表示perl语言文件,通过perl语言开发的程序。
● .py表示python语言文件,通过python语言开发的程序。
● .html、.htm、.php、.jsp、.do表示网页语言的文件。
● .conf表示系统服务的配置文件。
● .rpm表示rpm安装包文件。

文件属性

[root@localhost /]# ls -lhi
total 90K
    12 dr-xr-xr-x.  2 root root 4.0K Jan 28 18:30 bin
     2 dr-xr-xr-x.  5 root root 1.0K Aug  7  2016 boot
     4 drwxr-xr-x. 18 root root 3.7K Jan 29 01:29 dev
652802 drwxr-xr-x. 81 root root 4.0K Jan 29 03:25 etc
130563 drwxr-xr-x.  3 root root 4.0K Jan 29 00:57 home
    13 dr-xr-xr-x. 12 root root 4.0K Jan 28 18:30 lib
391685 dr-xr-xr-x.  9 root root  12K Jan 28 18:30 lib64
    11 drwx------.  2 root root  16K Aug  7  2016 lost+found
130564 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 media
391689 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 mnt
130565 drwxr-xr-x.  3 root root 4.0K Aug  7  2016 opt
     1 dr-xr-xr-x. 97 root root    0 Jan 29  2018 proc
391682 dr-xr-x---.  2 root root 4.0K Jan 28 21:08 root
130566 dr-xr-xr-x.  2 root root  12K Jan 28 18:30 sbin
     1 drwxr-xr-x.  7 root root    0 Jan 29  2018 selinux
    15 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 srv
     1 drwxr-xr-x. 13 root root    0 Jan 29  2018 sys
522242 drwxrwxrwt.  5 root root 4.0K Jan 29 05:15 tmp
522244 drwxr-xr-x. 14 root root 4.0K Jan 28 20:04 usr
261121 drwxr-xr-x. 20 root root 4.0K Aug  7  2016 var

这里写图片描述

544365 -rw-r–r--. 1 root root 3 Jan 28 20:55 a.txt

inode 索引节点编号:544365
文件类型 :文件类型是’-’,表示这是一个普通文件
文件权限:rw-r–r-- 表示文件可读、可写、可执行,文件所归属的用户组可读可执行,其他用户可读可执行
硬链接个数 表示a.txt这个文件没有其他的硬链接,因为连接数是1,就是他本身
文件属主 表示这个文件所属的用户,这里的意思是a.txt文件被root用户拥有,是第一个root
文件属组 表示这个文件所属的用户组,这里表示a.txt文件属于root用户组,是第二个root
文件大小 文件大小是3个字节
文件修改时间 这里的时间是该文件最后被更新(包括文件创建、内容更新、文件名更新等)的时间可用如下命令查看文件的修改、访问、创建时间

[root@localhost data]# stat a.txt 
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800       ----------访问时间
Modify: 2018-01-28 20:55:27.181876154 +0800       ----------修改时间
Change: 2018-01-28 20:55:27.181876154 +0800     ----------创建时间

索引节点inode
硬盘分区,格式化、创建文件系统
被格式化的磁盘分为两部分:第一部分是Inode 第二部分是block
block是用来存储实际数据用的,例如:照片、视频等普通文件数据
inode是用来存储这些数据的属性的(也就是ls-l的结果)
inode包含的属性信息有文件大小、属主、归属的用户组、读写权限、问价类型、修改时间,还有指向文件实体指针的功能(inode节点----block的对应关系),但是唯独不包含文件名
这里写图片描述
访问一个文件【通过文件名找到inode---->block 】
这里写图片描述
查看inode 大小

[root@localhost ~]# dumpe2fs /dev/sda1|grep -i "Inode size" 
dumpe2fs 1.41.12 (17-May-2010)
Inode size:               128

相关推荐:《Linux视频教程》

以上就是linux有哪些文件类型的详细内容,更多请关注其它相关文章!