Linux的文件类型

Linux中一切皆文件,而文件的种类很多,有普通文件、目录文件、设备文件等等。下面将仔细看看有哪些文件类型。通过"ls -l"命令可以查看文件的属性信息,在该命令查看的结果中,排在最左边的第一个字符即为改文件的类型,比如常见的普通文件(“-”)以及目录文件(“d”)等。

0. 7种文件类型

-        普通文件
d        目录文件
l        链接文件
p        管道文件
c        字符设备文件
b        块设备文件
s        套接字文件

1. 普通文件

普通文件(regular file),简言之就是一般的文件,没有什么特殊之处,使用"ls -al"查看文件的属性时,最左边(第一个字符)表现为“-”,例如:-rwxr-xr-x,另外根据文件内容的不同,普通文件又可细分为以下几种类型;

1.1 纯文本文件

纯文本文件,顾名思义这种文件存储的内容全部是可读的数据,像数字,字母,下划线等文字相关的内容。而Linux哲学思想之一,就是配置信息存放在文本文件中,几乎所有Linux的配置配置文件都属于这一文件类型。例如:/etc/fstab,/etc/issue等,可使用cat命令查看文本文件的内容.

[root@centos7 ~]# ls -l /etc/issue
-rw-r--r--. 1 root root 23 Sep  5  2019 /etc/issue
[root@centos7 ~]# cat /etc/issue
\S
Kernel \r on an \m
1.2 二进制可执行文件

二进制可执行文件是有特殊格式的可执行程序,其文件内容表现为不可直接读懂的字符,如果用cat工具直接看,会出现乱码的现象。在Linux中有很多二进制可执行文件,比如很多的外部命令都是二进制可执行文件,就连查看文本文件内容的命令“cat”本身就是一个二进制执行文件.

[root@centos7 ~]# ls -l /bin/cat
-rwxr-xr-x. 1 root root 54080 Aug 20  2019 /bin/cat
[root@centos7 ~]# cat /bin/cat |head -n1                                                                                  ELF>D&@@K@8   @@@@@88@8@@@쮬­ H¼H¼`H¼`ֆ` 辨½`輠΁TT@T@DDP䳤´´@´@
                                                                  
                                                                 Q䳤R䳤H¼H¼`H¼`¸¸/lib64/ld-linux-x86-64.so.2GNU GNU¹|Ƶْ>!90O婞¡¯ª8Mþ鿒ii@eXӒq0 G\¾ƁT󓪒O'{,񲀒Ղ b¦ῒºʒp
1.3 数据格式文件

数据格式文件是一些程序在运行过程中需要读取的存放在某些特定格式的数据文件,比如:图片文件,压缩文件,日志文件。通常,此类文件需要使用特定的工具才能打开。例如:用户登录时,系统会将登录的信息记录在/var/log/wtmp文件中,这就是一个数据文件。数据格式文件不能使用文本查看工具来读取内容,否则可能会出现乱码。可通过last命令打开此文件查看内容.

[root@centos7 ~]# ls -l /var/log/wtmp 
-rw-rw-r--. 1 root utmp 29952 Apr  2 22:18 /var/log/wtmp
[root@centos7 ~]# cat /var/log/wtmp |head -n1
~~~reboot3.10.0-1062.el7.x86_64=ٝԮ5~~~runlevel3.10.0-1062.el7.x86_64=ٝc £$:0fu:06=ٝ|º)pts/0/0fu:0ƽٝڦ*tty2tty2*ؽٝG*tty2tty2LOGIb*tٝty6tty6fub*򾙝b*徚]W»tty6tty6b*徚]W»
               *tty5tty5*󾙝þ冟*tty5tty5LOGIN*󾙝þ磪tty4tty4¥*𾙝F¥*tty4tty4LOGIN¥*𾙝F¥*tty4tty4root¥*>ٝ¸@*tty5tty5fu*>ٝ*tty5tty5* >ٝ჆+tty5tty5+ >ٝ5ˆ+tty5tty5LOGIN+ >ٝ5+tty5tty5+b>ٝ;ڂЫtty5tty5Ыb>ٝ£¬Ыtty5tty5LOGINЫb>ٝ£¬٫tty3tty3٫f>ٝ@٫tty3tty3LOGIN٫f>ٝ@٫tty3tty3fu٫j٫ٝtty3tty3٫=ٝ,tty3tty3=,>ٝ=,tty3tty3LOGIN=,>ٝЫtty5tty5rootЫ?ٝpts/0/0fun*ٝtty2tty2*nbٝ*tty6tty6b*n¥ٝ*tty4tty4¥*nCٝЫtty5tty5ЫnCٝ=,tty3tty3=,nCٝ¥~~~shutdown3.10.0-1062.el7.x86_64sCٝ+~~~reboot3.10.0-1062.el7.x86_64焚]?~~~runlevel3.10.0-1062.el7.x86_64񄙝:0fu:0DٝR
                                                                                                                          ~~~shutdown3.10.0-1062.el7.x86_64KDٝ¯~~~reboot3.10.0-1062.el7.x86_64󟨋
                                                                   5~~~runlevel3.10.0-1062.el7.x86_64#󟌣    ~~~shutdown3.10.0-1062.el7.x86_649󝹽~~~reboot3.10.0-1062.el7.x86_64¦󟷍5~~~runlevel3.10.0-1062.el7.x86_64µ
[root@centos7 ~]# XshellXshellXshellXshellXshellXshellXshellXshellXshellXshellXshell
bash: XshellXshellXshellXshellXshellXshellXshellXshellXshellXshellXshell: command not found...
[root@centos7 ~]# last
root     pts/2        192.168.43.1     Thu Apr  2 22:18   still logged in   
root     pts/2        192.168.43.1     Thu Apr  2 22:17 - 22:18  (00:00)    
root     pts/3        192.168.43.1     Thu Apr  2 22:16 - 22:17  (00:00)    
root     pts/2        192.168.43.1     Thu Apr  2 22:07 - 22:17  (00:09)    
root     pts/1        192.168.43.1     Wed Apr  1 22:51   still logged in   
root     pts/0        :0               Wed Apr  1 22:51   still logged in   
root     :0           :0               Wed Apr  1 22:51   still logged in   
root     pts/2        192.168.43.1     Wed Apr  1 12:03 - 23:37  (11:33) 

2. 目录文件

目录文件即文件夹,通过"ls -l"查看文件属性时,第一个属性表现为"d"

[root@centos7 ~]# ls -l
total 8
-rw-------. 1 root root 1932 Nov 24 16:15 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Desktop
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Documents
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Downloads
-rw-r--r--. 1 root root 1980 Nov 24 16:19 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Music
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Pictures
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Public
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Templates
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Videos
[root@centos7 ~]# ls -l|grep "^d"
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Desktop
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Documents
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Downloads
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Music
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Pictures
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Public
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Templates
drwxr-xr-x. 2 root root    6 Mar 14 23:49 Videos

3. 链接文件

链接文件,即将两个文件建立关联关系,这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的不同文件名称。对于整个新的文件名,我们可以为之指定不同的访问路径,从未实现更为灵活的访问控制。链接文件又分为两种,软链接(Symbolic Link)和硬链接(Hard Link)。其中软链接又称为“符号链接”。简单理解,Linux中软链接文件就类似Wins系统中的“快捷方式”,是进入或读取另外一个文件的新的入口,使用"ls -l"命令查看时第一个属性表现为"l".

[root@centos7 ~]# ls -l /sbin/init
lrwxrwxrwx. 1 root root 22 Nov 24 16:06 /sbin/init -> ../lib/systemd/systemd

4. 管道文件

管道pipe文件是一种特殊的文件类型,其本质是一个伪文件(实为内核缓冲区)。其主要目的是为了实现进程间通讯(InterProcess Communication,IPC)的问题。由于管道文件是一个与进程没有“血缘关系”的、真正独立的文件,所以它可以在任意进程之间实现通信。由于管道通道不支持诸如lseek()等文件定位操作,严格遵守先进先出的原则进行传输数据,即对管道的读总是开始处返回数据,对它的写总是把数据添加到末尾,所以也叫做FIFO(first in first out)文件。在"ls -l"显示可以看到,行首第一个字符属性为"p".

管道文件有以下局限性
1)自己写的数据不能自己读
2)数据一旦被读后,便不在管道中存在,不可反复读取
3)管道采用半双工通信方式,即同一时间数据只能在一个方向上流动

[root@centos7 ~]# ls -l /run |grep "^p"
prw-------.  1 root           root              0 Apr  1 00:07 dmeventd-client
prw-------.  1 root           root              0 Apr  1 00:07 dmeventd-server

5. 字符设备文件

字符(charcater)设备文件,通常是一些串行接口设备在用户空间的体现,像键盘鼠标等。字符设备是按字符为单位进行输入输出,且按一定的顺序进行,这里打开的文件第一个属性表现为“c”即为字符设备文件。比如向我们登录到Linux主机,系统会提供一个终端文件tty供我们登录,就是字符文件.

[root@centos7 ~]# ls -l /dev/null /dev/zero /dev/tty* 
crw-rw-rw-. 1 root root    1,  3 Apr  1 00:07 /dev/null
crw-rw-rw-. 1 root tty     5,  0 Apr  1 00:07 /dev/tty
crw--w----. 1 root tty     4,  0 Apr  1 00:07 /dev/tty0
crw--w----. 1 root tty     4,  1 Apr  1 00:07 /dev/tty1
crw--w----. 1 root tty     4,  2 Apr  1 00:07 /dev/tty2
crw-rw-rw-. 1 root root    1,  5 Apr  1 00:07 /dev/zero

6. 块设备文件

块设备文件(block),就是一些以“块”为单位,如:4096个字节,访问数据,提供随机访问的接口设备,例如键盘,鼠标,U盘等。可以随机的在硬盘的不同块读写,通常块设备可利用缓存提供速度,这些块设备通常有多个,使用"ls -l"查看时表现为"b".

[root@centos7 ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8, 0 Apr  1 00:07 /dev/sda
brw-rw----. 1 root disk 8, 1 Apr  1 00:07 /dev/sda1
brw-rw----. 1 root disk 8, 2 Apr  1 00:07 /dev/sda2
brw-rw----. 1 root disk 8, 3 Apr  1 00:07 /dev/sda3
brw-rw----. 1 root disk 8, 4 Apr  1 00:07 /dev/sda4
brw-rw----. 1 root disk 8, 5 Apr  1 00:07 /dev/sda5

7. 套接字文件

套接字文件(socket),被称为数据接口文件,这种类型文件通常别用于基于网络的数据通讯使用。当两个进程在同一个主机上,但是想通过网络方式通信,可基于socket方式进行数据通信,可基于全双工方式实现,即可支持同时双向传输数据。可用"ls -l"命令,可看到第一个属性表现为"s".

[root@centos7 ~]# ls -l /run/*.sock
srw-rw-rw-. 1 root root 0 Apr  1 00:07 /run/gssproxy.sock
srw-rw-rw-. 1 root root 0 Apr  1 00:07 /run/rpcbind.sock
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容