l表示该文件是一个链接文件。字母"l"是link(链接)的缩写linux命令大全,类似于windows下的快捷方式
b的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口linux命令大全,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
c表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节
p表示该文件为命令管道文件。与shell编程有关的文件
s表示该文件为sock文件。与shell编程有关的文件
链接文件分为硬链接或符号链接两种。
硬链接:多个指向同一文件。硬链接文件大小完全相同,如有多个硬链接,所链接的文件只是一个文件大小。
同一个文件所有的文件都是等价的,操作系统不区分链接创建的先后顺序,若一个文件存在两个链接,那么除去一个文件还可以通过另外一个文件来访问该文件,也可以除去创建链接时用到的文件,但只要还有一个链接存在,就可通过该连接访问文件。
通常情况它的工作类似与unix系统上的符号链接,但是你一旦在一个svn branch里修改了一些文件,并且这些被修改的文件从拷贝过来的源文件独立发展,就不能这么认为了。该参数可以创建目录的软链接(联接),作用基本和符号链接类似[2],nt6系统的用户目录就是以这种形式存在的。不过需要时刻警惕的一点就是,在内存中对于一个文件inode数据结构只有一个(符号链接会让两个inode指向同一个磁盘文件,但是文件链接和符号链接在内存中的inode还是只有一个),每个进程打开的文件是用file数据结构进行表述的,file数据结构会与inode进行映射,也就是说,两个进程分别打开了同一个文件,每个进程会有各自的file数据结构,但是这两个file会指向同一个inode。