在Linux下面,任何设备都是一个文件。Linux中除了有之前的普通文件和目录文件以外,还有许多常见的文件类型:
普通文件:其第一个字符为[ - ],例如:[ -rwxrwxrwx ],普通文件又可以大致分为以下几种:
- 纯文本文件:被称为纯文本文件是因为内容为我们可以直接读取到的数据,例如数字,字母等。你可以使用 cat 命令来读取文件的内容。
- 二进制文件:一般的可执行文件就是这种格式。例如上面的命令 cat 就是一个二进制文件。
- 数据格式文件:是一些带有特定格式的文件,可能加过密,例如登陆linux时会将登陆的数据记录在/var/log/wtmp 里,这就是一个数据格式文件(data file ) ,它可以通过last命令读取出来,但是使用cat命令读取时会读出乱码,因为它有特殊的格式。
目录文件:其第一个字符为[ d ]
链接文件:类似于windows下的快捷方式,第一个字符为[ l ]。
设备与设备文件:与系统外设 存储相关的一些文件,通常在/dev目录。一般分为两种:
- 块(block)文件:是一些存储数据,提供系统随机访问的接口设备,例如硬盘软盘。第一个字符为[b].
- 字符(character)设备文件:是一些串行端口的接口设备,例如键盘鼠标等,特征就是一次性持续性的读取数据,不能够截断输入。第一个字符为[c]。
套接字:数据接口文件。第一个字符为[s]
管道文件:它主要的目的是解决多个程序同时访问同一个文件所造成的错误问题,类似于数据结构中的 队列 ,先进先出。 第一个字符为[p]
还有一个重点就是linux下的文件拓展名
Linux下的文件后缀名严格意义上来说和该文件能否被执行完全没有任何关系!!!一个文件能否被执行只与它的x权限有关!!!不过要注意的是文件能不能被执行与x权限有关,但是执行是否成功就与文件自身有关了。例如fzh对一个txt文档具有x权限,那么表示这个txt文件是可执行的,但是执行是不会成功的,因为该文档根本就没有可执行的数据,所以会执行失败。但是为了方便我知道这个文件是干啥的,所以一般会给文件加上后缀名,后缀的作用仅此而已!
那么,linux下一些常见的后缀名的意义
*.sh : 脚本或批处理文件。
Z、tar、zip、tgz 等 :压缩文件,后缀名取决于压缩软件。
html、php :这个就不用说了。