linux中有七种文件类型:1、普通文件类型;2、目录文件类型;3、块设备文件类型;4、字符设备类型;5、套接字文件类型;6、管道文件类型;7、链接文件类型。
本教程操作环境:linux5.9.8系统、Dell G3电脑。
普通文件类型
最常使用的一类文件,其特点是不包含有文件系统信息的结构信息。通常用户所接触到的文件,比如图形文件、数据文件、文档文件以及声音文件都属于这种文件,这种类型的文件是按照其内部结构又可分为纯文本文件(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
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有哪些文件类型的详细内容。更多信息请关注PHP中文网其他相关文章!