运维系列之二 Linux文件种类和扩展名

一、文件种类

1、普通文件

   用ls查看文件属性时,显示的是[-]

     运维系列之二  Linux文件种类和扩展名

2、目录文件(directory

   文件属性第一个为[d]

   运维系列之二  Linux文件种类和扩展名

3、连接文件(link

   类似于win下的快捷方式,文件第一个属性为[l]

   运维系列之二  Linux文件种类和扩展名

4、设备与设备文件

   与系统外设和与存储相关的文件,通常会放在/dev目录下。又分为两种:

(1)块(block)设备文件

存储数据,提供系统随机访问的接口设备,如硬盘、软盘。用户可以随机在不同快读写,这种设备就是成组设备。

       运维系列之二  Linux文件种类和扩展名

(2)字符(character)设备文件

     一些串行端口的接口设备,例如键盘、鼠标等。这些设备的特征就是“一次性读取”,不能截断读取。在/dev目录下我们可以看到很多这种文件

       运维系列之二  Linux文件种类和扩展名

5、套接字(sockets

   又称为数据接口文件,这种类型的文件通常被用于网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过这个socket来进行数据的通信了。文件第一个属性为[s],通常在/var/run可以看到这种文件类型。

   运维系列之二  Linux文件种类和扩展名

6、管道(FIFOpipe

   FIFO也是一种特殊的文件类型,它的主要的目的在解决多个程序访问同一个文件所造成的错误问题。FIFOfirst-in-first-out的缩写。第一个属性为[p]

   运维系列之二  Linux文件种类和扩展名

 

二、Linux文件扩展名

一个Linux文件能否被执行,与它的第一列的十个属性有关,与文件名一点关系也没有。这个跟windows有点不一样,win下的可执行文件扩展名通常是.com.exe.bat等,而在Linux下,只要文件具有x就代表这个文件具有可执行权限。

一个文件能否被执行成功不仅与是否具有可执行权限有关,还与文件内容是否可执行有关。

Linux中虽然文件后缀扩展名并没有什么实际的意义,但文件扩展名有利于我们了解文件的类型,是用来干嘛的,所以通常文件还是会加适当的扩展名。

几种常用的扩展名:

*.sh: 脚本或批处理文件,因为批处理文件使用shell写的,所以扩展名为sh

*Z*tar*.tar.gz*.zip*.tgz: 经过打包的压缩文件。这是因为压缩的文件分别是gunziptar等,由于不同的压缩软件,而取其相关的扩展名。

*.html*.php: 网页相关文件

Linux系统的文件名只是让你了解文件可能的用途,真正的执行与否仍然需要权限的规范才行。

我们使用Linux的时候经常遇到这种问题,从网络上下载一个可执行文件,但在Linux系统里就是无法运行,很有可能就是文件权限的问题。在从网络上传到我们的Linux系统中,文件的属性和权限会发生改变。

三、Linux文件长度的限制

Linux下面,使用Ext2/Ext3文件系统时,针对文件名的文件长度限制为:、

1)单一文件或目录的最大容许文件名为255个字符。

2)包含完整路径名称及目录的完整文件名为4096个字符

四、Linux文件名的限制

由于Linux在文字界面下的一些命令操作关系,在设置Linux文件名时,最好避免一些特殊的字符,如

* < > ; & ! [ ] ‘ “ ` ( ) { }

因为这些符号在命令行界面下是有特殊含义的。如文件开头是“.”的文件代表这个文件是“隐藏文件”。