操作系统支持多种文件类型,UNIX和Windows中都有普通文件和目录。UNIX文件系统更为复杂。
下面主要介绍linux的文件类型:
正规档案(regular file ):就是一般我们在进行存取的类型的档案,在由 ls -al 所显示出来的属性方面,第一个字符为 [ -],例如 [-rwxrwxrwx ]。另外,依照档案的内容,又大略可以分为:
o 纯文本档(ASCII):这是 Linux 系统中最多的一种文件类型啰, 称为纯文本档是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。 几乎只要我们可以用来做为设定的档案都属于这一种文件类型。 举例来说,你可以下达『cat ~/.bashrc 』就可以看到该档案的内容。 (cat 是将一个档案内容读出来的指令)。ASCII文件的最大优势就是可以显示时间和打印,还可以用任何文本编辑器进行编辑。
o 二进制文件(binary): Linux 当中的可执行文件(scripts, 文字型批处理文件丌算)就是这种格式的啦~ 举例来说,刚刚下达的指令cat 就是一个 binary file。二进制文件打印出来数无法理解的,充满混乱字符的一张表,二进制文件有一定的内部结构,使用该文件的程序才了解这种结构。
o 数据格式文件(data): 有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被称为数据文件 (data file)。举例来说,我们的 Linux 在使用者登入时,都会将登彔的数据记彔在 /var/log/wtmp 那个档案内,该档案是一个 data file,他能够透过 last 这个指令读出来! 但是使用 cat 时,会读出乱码~因为他是属于一种特殊格式的档案。
目录(directory):第一个属怅为 [ d ],例如 [drwxrwxrwx]。
连结文件(link):就是类似 Windows 系统底下的快捷方式,第一个属性为 [ l ](英文 L 的小写),例如[lrwxrwxrwx] ;
设备与设备文件(device):与系统周边及储存等相关的一些档案, 通常都集中在/dev 这个目彔下!通常又分为两种:
o 区块(block)设备文件 :就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是啦! 你可以随机的在硬盘的不同区块读写,这种装置就是成组设备啰。
o 字符(character)设备文件:亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是『一次性读取』的,不能够截断输出。 举例来说,你不可能让鼠标『跳到』另一个画面,而是『滑劢』到另一个地方啊!第一个属性为 [ c ]。
资料接口文件(sockets):这种类型的档案通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个 socket 来进行数据的沟通了。第一个属怅为 [ s ], 最常在/var/run 这个目录中看到这种文件类型了。
数据输送文件(FIFO, pipe):FIFO 也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个档案所造成的错误问题。 FIFO 是 first-in-first-out 的缩写。第一个属怅为[p] 。
除了设备文件是我们系统中很重要的档案,最好不要随意修改之外的, 另一个比较有趣的档案就是连结档。如果你常常将应用程序捉到桌面来的话,你就应该知道在 Windows底下有所谓的『 快捷方式』。同样的,你可以将 linux 下的连结档简单的规为一个档案或目彔的快捷方式。