共计 4297 个字符,预计需要花费 11 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 linux 中有几种文件类型,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
linux 中有七种文件类型:1、普通文件类型;2、目录文件类型;3、块设备文件类型;4、字符设备类型;5、套接字文件类型;6、管道文件类型;7、链接文件类型。
本教程操作环境: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 中有几种文件类型”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!