如果您有Dos和Windows经验,就大概知道系统存在若干类型的文件,如系统文件、只读文件、隐含文件等。在Linux/Unix下,文件类型远比 Dos/Windows系统多样和复杂。本文以RedHat Linux为例,旨在使读者对Linux下的文件类型有更多的了解。文中的多数内容,对其他 发行版的Linux以及Aix、Solaris、Freebsd等操作系统也同样正确。
Linux下可以用ls –l 命令来判断文件类型,可以依据第一列中的10个字符来判断。
• -rw-r—r—指明了1.txt文件是一个普通文件,1.txt和myprog04文件都是普通文件。以“-”开头的都是普通文件,而以“d”开头的是目录文件。
•
brw-rw---- 指明了/dev/sda1是一个块设备(Block Device)文件。以“b”开头的文件都是块设备文件。
• crw-rw----指明了/dev/lp0是一个字符设备(Chartacter Device)文件,以“c”开头的文件都是字符设备文件。
• srwxrwxrwx 指明了/var/lib/mysql/mysql.sock是一个socket文件。以“s”开头的文件都是socket文件。
• prwxr—r--指明了了mypipe 是一个管道文件。管道文件的一个属性是“p”。
• lrwxrwxrwx 指明了softlinkof1.txt 是一个软链接文件(或称符号链接文件),该文件指向了1.txt。以“l”开头的文件是软链接文件。
• -rw-r—r—开头的hard_link_of_1.txt看上去是个普通文件,但它实际上是一个硬链接文件。
• -rwsr-xr-x指明了myprog01是一个setUid的可执行文件,这是根据第四个字符“s”判断的。
• -rwxr-sr-x指明了myprog03是一个setGid的可执行文件,这是根据第七个字符中的“s”判断的。
• -rwsr-sr-x指明了myprog02是一个setUid加setGid的可执行文件,这是根据第四个和第七个字符中的“s”判断的。
• drwxrwxrwt 中的第一个“d”字指明了tmp文件是一个目录,最后一个字符“t”指明了该目录被设置了粘着位。