用户和用户组_(3)Linux文件种类和扩展名
前面介绍了Linux中用户和用户组的概念,并且介绍了实现用户和用户组的至关重要的东西就是对文件的权限.
紧接着就介绍了Linux的文件权限概念(可读,可写,可执行),然后又提出了那些文件是可读,那些文件是可执行.这样就自然而然的引出了文件的种类这个问题,而和文件张种类息息相关的就是文件的扩展名.下面就将具体介绍
Linux文件种类
文件的种类具体有下面几种:
-
常规文件(regular file)
常规文件其实就是我们一般在进行读写的文件,根据文件的内容,大致又可以分为:
- 纯文本文件(ASCII):纯文本文件就是指我们人类所能够看懂的文件,里面的内容由数字或者字母构成,内容则可能是一片小说或者像现在这样的tutorial.
- 二进制文件(binary):机器与人类不同,机器只能识别0/1,对应断电或者通电,因此二进制文件是机器能够’读懂’的文件,换而言之,二进制文件是机器能够执行的文件(脚本文件不算)
- 数据文件(data):有些程序在运行时候会读取某些特定格式的文件,那些特定格式的文件就可以被称为数据文件
-
目录(directory)
目录文件其实就是目录,里面装着下一级目录文件或者常规文件或者链接文件
-
链接文件(link)
链接文件就是快捷方式和快捷键
-
设备与设备文件(device)
设备与设备文件就是与系统周边及存储等相关的一些文件,具体又可以分为下面两种:
- 区块(block)设备文件:就是一些存储数据,一提供系统随机存取的接口设备.例如硬盘和软盘.你可以随机的在硬盘和软盘的不同区块读写,这种设备就是块设备
- **字符(character)设备文件:**就是一些串行端口的接口设备,例如键盘鼠标等.它们的特点是:一次性读取,不能截断输出,举个例子:鼠标不能瞬间跳转到另外一个画面,必须输连续的滑动到另外一个地方
-
数据接口文件(sockets)
这类文件通常被用于网络上的数据交换.我们启动一个程序来监听客户端的要求,然后客户端可以通过过这个sockets来进行数据的沟通了
-
输出输送文件(FIFO,pipe)
FIFO是一种特殊类型的文件,它主要的目的是解决多个程序读写同一个文件所造成的错误问题.FIFO是先进先出(First-in-First-out)的缩写,及管道(pipe)
一般来说,设备文件是系统中非常重要的文件,最好不要随意修改(一般用户也不会有修改设备文件的权限)
Linux文件扩展名
首先需要说明一点,Linux和Windows不同,Windows能不能被执行是看文件的扩展名是什么,例如:.com,.exe,.bat等等,但是在Linux下,一个Linux文件能不能被执行,与当前用户对该文件的权限有关.如果用户具有执行文件的权限,那么就可以执行这个文件.
- 这也就是Windows改变后缀时候会警告,但是Linux改变文件后缀却没有什么影响的原因
但是需要注意的是,能不能执行和执行是否成功是两码事,只有那些具有可执行能力的文件才能被有执行权限的用户执行.
虽然如此,但是我们还是希望能够类似于Windows一样,用后缀来表明文件是什么种类的,下面就是一些常见的扩展名:
- .sh:脚本或者批处理文件(script),应为批处理文件和脚本都是用shell写成的,所以后缀就直接是.sh
- .Z,.tar,.zip,.tar.gz,.tgz:都是压缩文件
- .html,.php:网页文件,由浏览器打开
最后需要注意的是,Linux文件的后缀只是告诉你文件可能的用途而已,不一定对