您的位置:首页 > 运维架构 > Linux

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

2016-04-12 15:43 756 查看
一、文件种类

1、普通文件

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



2、目录文件(directory)

文件属性第一个为[d]



3、连接文件(link)

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



4、设备与设备文件

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

(1)块(block)设备文件

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



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

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



5、套接字(sockets)

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



6、管道(FIFO,pipe)

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



二、Linux文件扩展名

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

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

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

几种常用的扩展名:

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

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

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

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

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

三、Linux文件长度的限制

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

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

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

四、Linux文件名的限制

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

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

因为这些符号在命令行界面下是有特殊含义的。如文件开头是“.”的文件代表这个文件是“隐藏文件”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: