(272,384字节).如果文件大于266块,磁盘地址表的第十二项给出一个块号, 这个块号指出的块中含有256个块号,这256个块号的每一个块号又指出一块, 块中含256个块号,这些块号才用于取文件的内容.磁盘地址中和第十三项索引 寻址方式与第十二项类似,只是多一级间接索引. 这样,在UNIX系统中,文件的最大长度是16,842,762块,即17,246,988,288 字节,有幸是是UNIX系统对文件的最大长度(一般为1到2M字节)加了更实际的 限制,使用户不会无意中建立一个用完整个磁盘窨所有块的文件. 文件系统将文件名转换为i节点的方法实际上相当简单.一个目录实际上 是一个含有目录表的文件:对于目录中的每个文件,在目录表中有一个入口项, 入口项中含有文件名和与文件相应的i节点号.当用户敲入cat xxx时,文件系 统就在当前目录表中查找名为xxx的入口项,得到与文件xxx相应的i节点号,然 后开始取含有文件xxx的内容的块.
(2)设备文件
UNIX系统与边在本系统上的各种设备之间的通讯,通过特别文件来实现, 就程序而言,磁盘是文件,MODEM是文件,甚至内存也是文件.所有连接到系统上 的设备都在/dev目录中有一个文件与其对应.当在这些文件上执行I/O操作时, 由UNIX系统将I/O操作转换成实际设备的动作.例如,文件/dev/mem是系统的内 存,如果cat这个文件,实际上是在终端显示系统的内存.为了安全起见,这个文 件对普通用户是不可读的.因为在任一给定时间,内存区可能含有用户登录口 令或运行程序的口令,某部分文件的编辑缓冲区,缓冲区可能含有用ed -x命令 解密后的文本,以及用户不愿让其他人存取的种种信息. 在/dev中的文件通常称为设备文件,用ls /dev命令可以看看系统中的一 些设备: acuo 呼叫自动拨号器 console