文件类型(共7种):
– :普通文件
d:目录文件 (directory)
c:字符设备文件 (char)
b:块设备文件 (block)
s:本地域套接口 (socket)
p:有名管道 (pipeline)
l:符号连接 (link)
关于硬链接、软连接、复制之间的区别说明:
上图中,我为photo.png这个图片文件建立了一个拷贝(photo-copy.png),一个硬链接(photo-hlink),一个软连接(photo-slink),用ls -il命令显示出他们的文件信息,下面我就进行下对比说明:
先对比复制版和硬链接(图中第一行和第二行)
可以看出两者的区别只在我画黄框的地方,这个黄框中的内容是iNode,通过和原文件photo.png对比,可以看出,硬链接photo-link和原文件的iNode相同,而复制版photo-copy.png与原文件iNode不同。这里的区别导致的现象是当你修改原文件时,photo-copy.png的内容不会发生改变,而photo-hlink会与原文件同时变化,反过来也是一样,修改photo-hlink原文件也会发生变化,而photo-copy.png不会改变。也就是说,原文件和photo-hlink还是同一个文件,而photo-copy.png已经是另一个文件了。还有一点区别在于,拷贝可以跨文件系统,而硬链接只能在一个文件系统内。
再对比下硬链接和软连接(图中第二行和第四行)
软连接更像windows里的快捷方式,可以看到黄框中,软连接和原文件的iNode的也不同,再看绿框中的内容,这列代表文件类型,软连接的文件类型是一个link类型,而硬链接的类型还是普通文件类型,再看红框中的内容,这列表示文件大小,可以看到软连接的文件大小只有9字节,说明它并不是一个文件的拷贝版本,而只是一个引用而已。软连接和硬链接都能启动并编辑程序,区别在于删除部分,删除原文件后,硬链接仍然可用,但软连接已经失效了。
总结:
拷贝:和我们正常理解的拷贝没有区别,与原文件大小相同,iNode是一份独立的文件,可以跨文件系统,原文件修改或删除对其都没有影响。
硬链接:也是一种拷贝,与原文件大小相同,但iNode与原文件相同,不可以跨文件系统,原文件内容修改,硬链接跟随会有相同的修改,原文件删除,硬链接仍然可用。
软连接:是一种应用,类似与windows的快捷方式,文件类型为l,大小很小,iNode与原文件不相同,可以跨文件系统,当原文件删除时,软连接将失效。
终端中文件的颜色:
蓝色:目录绿色:可执行文件;红色:压缩文件;浅蓝色:链接文件;灰色:其他文件;红色闪烁:链接的文件有问题了黄色:设备文件。紫色:图片文件。
原创文章,作者:yangtian,如若转载,请注明出处:http://www.178linux.com/52278