Introduction
Linux下有个很好用的小工具 —— ln,可以用它来创建目录或文件的硬链接(hard link)或软链接(symbolic)。所谓硬链接就是一个文件(目录)可以有多个名称,在Windows下不常见。而软链接就是一个指向另一个文件(目录)的符号文件了,类Windows下的快捷方式了,不过我觉得功能更强大些,如Window下就不能cd到一个目录快捷方式中,因为它被看作一个文件(.lnk)。硬链接要求在同一个硬盘分区,只有全部删除才真正删除该文件(目录);软链接可以任意,甚至网络文件(目录),但原文件(目录)删除了,软链接就失效了。使用如下:
ln [-s] TAEGET LINK_NAME
硬链接和软链接都很有用,如可以同一个文件(目录)多处使用,据说Win7下大量使用。可以下面介绍几个Windows下使用硬链接的方法(软链接也就是快捷方式,就不说了,大家都会用; ))。
就罗列下好了,要用的可以 Google 下,或参考 Reference
Windows XP 自带的,方便,可以创建文件和目录的 hard link。使用方法:>fsutil hardlink create NewFilename ExistingFilename
Junction *
第三方工具,只能创建目录的 hard link。使用方法:创建>junction LINK_NAME TARGET
删除>junction -d LINK_NAME
注意:一定要用命令删除,不然连原始原始数据也删除了,这点与 Linux 下的 ln -s 不同。
Win2K Resource Kit也有相关工具 * ,不过没用过。
Tweak
可以把上面 Windows 系统文件硬链接创建方式简单化
@echo off
if [%1] == [] fsutil hardlink create else fsutil hardlink create "%2" "%1"
保存成 lnfile.bat 文件到 PATH 包含的目录下(如X:\Windows\system32),小工具建议 独立保存到一个目录,再把该目录加到 PATH 环境变量下。现在还有一个功能没用实现,就 是跨磁盘分区的文件软链接,只能用快捷方式。
Reference
ln for windows *
Dropbox免费网盘高级使用技巧 *
ln命令详细用法 *
NTFS symbolic link *
PREVIOUS如果让我重做一次研究生——王泛森 院士