在绝大多数操作系统中,都是以文件的形式管理信息。下面先介绍Linux文件的文件名、扩展名和文件类型等相关内容。
1.文件名
在Linux中,对每一个文件都需要定义一个名称,称为文件名。通过文件名来区别不同的文件。在Linux中,给文件取名时需要注意以下限制条件:
文件名长度最多256个字符。
文件名可用的字符包括字母、数字、"."(点)、"_"(下划线)和"-"(连字符)。
文件名对英文字符的大小写敏感(要区分大小写)。
在Linux系统中,有些转义字符具有特殊的含义,如/、?、*、$、&、(、)、空格、+、-等都具有特殊的含义,这些字符尽量不要使用在文件名中。
若文件名的第1个字符为".",表示该文件为隐藏文件。
对于目录文件,有两个特殊的名称,即"."(一个点)表示当前目录,".."(两个点)表示父目录。
2.扩展名
为了方便对文件的管理,可以为文件设置扩展名,文件名与扩展名之间用一个圆点"."分隔。对于大部分文件都具有标准的扩展名,例如,以下扩展名分别表示不同的文件类型:
c:表示C语言源文件。
cpp:表示C++语言的源文件。
h:表示C语言程序的头文件。
gz:使用gzip程序生成的压缩文件。
conf:系统配置文件。
提示:与Windows中的文件不同,在Linux中,可执行的二进制代码文件可以不要扩展名。
3.文件类型
Linux系统中,文件可分为5种类型,各文件类型分别如下:
普通文件:用于存放数据、程序等信息的文件。一般都长期地存放在外存储器(磁盘、光盘等)中。普通文件又分为文本文件和二进制文件。
目录文件:是由文件系统中一个目录所包含的目录项组成的文件。目录文件只允许系统进行修改。用户进程可以读取目录文件,但不能对其进行修改。
设备文件:用于与I/O设备提供连接的一种文件,分为字符设备文件和块设备文件,对应于字符设备和块设备。Linux把对设备的I/O当作普通文件的读取/写入操作,内核提供了对设备处理和对文件处理的统一接口。每一种I/O设备对应一个设备文件,存放在/dev/目录中。
链接文件:又称符号链接文件,在链接文件中不是通过文件名实现文件共享,是通过链接文件中包含的指向文件的指针来实现对文件的访问。普通用户可以建立链接文件,并使用通过其指针所指向的文件。使用链接文件可以访问普通文件,还可以访问目录文件和不具有普通文件实态的其他文件,它可以在不同的文件系统之间建立链接关系。
管道文件:主要用于在进程间传递数据。管道是进程间传递数据的"媒介",某进程数据写入管道的一端,另一个进程从管道另一端读取数据。Linux对管道的操作与文件操作相同,它把管道作为文件进行处理。管道文件又称先进先出(FIFO)文件。
使用"ls -l"命令以详细格式显示文件名称列表时,左侧第一部分显示文件的类型和权限部分,其中第1个字符表示文件的类型。不同字符表示不同的文件类型:
-:普通文件。
d:目录文件。
s:套接字文件。
b:块设备文件。
c:字符设备文件。
p:命名管道文件。
l:链接文件。
在当前工作目录执行"ls -l"命令时,执行效果如图5-1所示。
从图中可看出,用户工作目录中的文件主要是普通文件和目录文件。
使用以下命令查看/dev/目录中的文件:
- # ls -l /dev
执行效果如图5-2所示,从图中可看到,大部分文件都是设备文件。
![]() |
(点击查看大图)图5-1 查看文件类型 |
![]() |
(点击查看大图)图5-2 查看文件类型 |
联系客服