引入
- 在前面的文章中,我们介绍过,任何设备在Linux系统中都是文件,不仅如此,连数据沟通的接口也有专属的文件负责
一、文件种类
大概分为6大类
- 常规文件
- 目录
- 链接文件
- 数据接口文件
- 数据输送文件
1.常规文件
- 用ls列出时,第一个字符为-
纯文本文件(ASCII) |
Linux系统中最多的一中文件类型,内容是可以读取的数据,例如数字、字母等 |
二进制文件(binary) | 计算机导论中曾提到,计算机只识别二进制文件(binary file)。Linux中可执行文件(scripts、脚本文件等)就是这种格式 |
数据文件(data) | 程序在运行过程中读取某些特定格式的文件,就是数据文件。例如我们Linux用户登录时,登录记录都会记录到/var/wtmp这个文件内,该文件就是一个数据文件,此文件能、狗通过last命令读出来,但是用cat命令读取时会乱码,因为它是一种特殊格式的 |
2.目录
- 用ls列出时,第一个字符为d
3.链接文件(link)
- 用ls列出时,第一个字符为|
- 类似于Windows下面的快捷方式
4.设备与设备文件
- 与系统周边及存储等相关的一些文件,通常集中在/dev这个目录下,通常分为两类
区块(block)设备文件 | 用ls列出时,第一个字符为b | 一些存储数据,随机存取的接口设备,例如硬盘与软盘 |
字符(character)设备文件 | 用ls列出时,第一个字符为c | 一些串行端口的接口设备,例如键盘、、、鼠标等 |
5.数据接口文件
- 用ls列出时,第一个字符为s
- 通在用在网络上的数据交换。我们可以启动一个程序来监听客户端的要求,而客户端就可以通过这个socket来进行数据沟通
6.数据输送文件
- 用ls列出时,第一个字符为p
- FIFO也是一种特殊的文件类型,它的主要目的是解决多个程序读写一个文件所造成的错误问题,FIFO是先进先出(first in first out)的缩写,即通道
二、文件扩展名
1.引入
- Linux中基本上没有扩展名的概念,我们前面谈到过,一个文件是否能执行,取决于该文件的x权限,与后缀名无关
2.常见扩展名
*.sh | 脚本或批处理文件(scripts),因为批处理文件使用shell写成,所以扩展名为.sh |
*Z、*.tar、*.tar.gz、*.zip、*.tgz | 经过打包的压缩文件 |
*.html、*.php | 网页相关的文件 |
三、文件名、文件名长度
1.文件名
- 尽量避免使用特殊字符命名,例如:* ? > < & ! ' '' () []
2.文件名长度
- 以一个ASCII英文占用一个字节:最大约255个字符长度
- 若是每个汉字占用2字节:最大约128汉字之间