Linux 文件种类与扩展名
任何装置在 Linux 底下都是文件
文件种类
到使用『ls -l』观察到第一栏那十个字符中,第一个字符为文件的类型。除了常见的一般文件(-)与目录文件(d)之外。
- 正规文件(regular file ):
是一般我们在进行存取的类型的文件,在由 ls -al 所显示出来的属性方面,第一个字符为 [ - ],例如
[-rwxrwxrwx ]。另外,依照文件的内容,又大略可以分为:
a. 纯文本档(ASCII):这是 Linux 系统中最多的一种文件类型啰, 称为纯文本档是因为内容为我们人
类可以直接读到的数据,例如数字、字母等等。
b. 二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)
c. 数据格式文件(data): 有些程序在运作的过程当中会读取某些特定格式的文件,那些特定格式的文
件可以被称为数据文件 (data file)。举例来说,我们的 Linux 在使用者登入时,都会将登录的数据记录在 /var/log/wtmp 那个文件内,该文件是一个 data file,他能够透过 last 这个指令读出来!但是使用 cat 时,会读出乱码~因为他是属于一种特殊格式的文件。
- 目录(directory)
目录,第一个属性为 [ d ],例如 [drwxrwxrwx]
- 连结档(link)
类似 Windows 系统底下的快捷方式啦!第一个属性为 [ l ](英文 L 的小写),例如 [lrwxrwxrwx] ;
- 设备与装置文件(device)
与系统周边及储存等相关的一些文件, 通常都集中在/dev 这个目录之下!通常又分为两种:
a. 区块(block)设备档 :就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是啦!你可以随机的在硬盘的不同区块读写,这种装置就是成组设备啰!你可以自行查一下/dev/sda 看看, 会发现第一个属性为[ b ]
b. 字符(character)设备文件:亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特
色就是『一次性读取』的,不能够截断输出。 举例来说,你不可能让鼠标『跳到』另一个画面,
而是『连续性滑动』到另一个地方啊!第一个属性为 [ c ]。
- 资料接口文件(sockets)
既然被称为数据接口文件, 想当然尔,这种类型的文件通常被用在网络上的数据承接了。第一个属性为 [ s ],最常在/run 或/tmp 这些个目录中看到这种文件类型了。
- 数据输送文件(FIFO, pipe)
FIFO 也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。
FIFO 是 first-in-first-out 的缩写。第一个属性为[p]
Linux 文件扩展名
一个 Linux 文件能不能被执行,与他的第一栏的十个属性有关, 与文件名根本一点关系也没有。这个观念跟 Windows 的情况不相同。
x 代表这个文件具有可执行的能力, 但是能不能执行成功,当然就得要看该文件的内容。
Linux 文件长度限制
在 Linux 底下,使用传统的 Ext2/Ext3/Ext4 文件系统以及近来被 CentOS 7 当作预设文件系统的 xfs 而言,针对文件的档名长度限制为:
单一文件或目录的最大容许文件名为 255bytes,以一个 ASCII 英文占用一个 bytes 来说,则大约可达 255 个字符长度。若是以每个中文字占用 2bytes 来说, 最大档名就是大约在 128 个中文字。
Linux 文件名的限制
由于 Linux 在文字接口下的一些指令操作关系,一般来说,你在设定 Linux 底下的文件名时, 最好
可以避免一些特殊字符比较好!例如底下这些:
1 |
|
因为这些符号在文字接口下,是有特殊意义的!另外,文件名的开头为小数点『.』时, 代表这个文 件为『隐藏档』喔!同时,由于指令下达当中,常常会使用到 -option 之类的选项, 所以你最好也避免将文件档名的开头以 - 或 + 来命名啊!