符号链接,另类的“快捷方式”

大家都知道快捷方式吧!故名思意,快捷方式就是快速便捷的文件或文件夹打开方式。不过,快捷方式是基于操作系统应用层面的东西,在使用上有他的不足点。这篇帖子就为大家介绍基于NTFS文件系统的符号链接,说到符号链接相比使用Linux的用户应该很了解。

NTFS文件系统支持的文件链接有三种: 硬链接( hard links ), 联接(junction ),和符号链接(symbolic links 。这个功能简单说就是可以让用户使用多个路径去访问同一个文件或者目录。在NTFS 3.0(Windows 2000使用的NTFS版本)中就部分的支持硬链接,联接,和符号链接。在Windows 8中,NTFS文件系统对符号链接的支持更加完善了。
硬链接,;例如对同一个文件创建了三个硬链接名,这些链接的地位都是相等的,删除其中一个链接下的文件是不会删除源文件,只有删除最后一个链接才会删除文件。所以硬链接必须跟被链接的文件在同一个分区上。另外,目录不支持硬链接。
符号链接,他类似于快捷方式的.lnk文件。他本身是一个单独的文件类型,使用相对路径,而这个文件的内容是他所指向的文件路径或目录。一般的软件存取符号链接时存取的并不是他本身的内容,而是他所指向的文件内容。当某个文件被删除掉后,他的符号链接就无法存取到这个文件,因为文件本身已经被删除。也就是说一个文件的符号链接跟此文件的文件名或者内容都是完全不同的两个概念,通俗些说就是一栋大楼的一个房间,用户可以都过大楼的各个走道和楼梯进入这个房间,其中每一种进入这个房间的方式就可以说是符号链接。符号链接可以链接任何本地可以访问到的文件或者目录路径。
以上是我对符号链接的一些认识,如有偏差欢迎批评指正。由于符号链接的用处相对于其他链接的用处大一下,所以,这个帖子即为大家介绍一下如何去创建符号链接。
创建符号链接可以使用mklink这个命令行工具。
 
1.       创建文件符号链接
例如在E盘的test文件夹下有一个test.txt的文件,可创建如下链接。
Mklink c:\testA.txt e:\test\test.txt
创建完毕之后,在文件资源管理器中输入c:\testA.txt即可打开e:\test\test.txt。
 
2.       创建目录的符号链接
例如为e盘的test目录创建一个在c盘某目录下的符号链接可以使用如下命令。
Mklink /d c:\testA e:\test
 
 
使用mklink的/j参数可以创建目录的联接(junction)。符号链接文件或目录进行读写的程序可以直接对目标文件进行操作,但是联接的文件或目录就不能。
 
在命令提示符下,可以查看目录或文件的链接类型,如图所示,而微软自己的目录却使用了联接类型,估计是出于安全的考虑吧!
删除符号链接,只需删除相应的符号链接文件即可。
 
 
如果景友对硬链接有兴趣的话可以使用mklink /h参数创建硬链接,也可以使用fsutil hardlink create这个命令行参数创建硬链接。

你可能感兴趣的:(符号链接;硬链接;mklink)