NTFS 新特性:Junction 应用详解

  前些时无意发 现Vista的C:/DocumentsandSettings目录和C:/Users目录内容完全一样(可能需要调整权限你才能浏 览),而且你在这两个目录中对任意一个目录内容做改变,另一个也会做相应的改变,很是“神奇”,后来经过一番探索+搜索,终于有了结果,好东西不敢独享, 拿出来给大家分享!

开始还以为是Vista的什么新功能,慢慢才发现原来是NTFS的Junction目录功 能,Windows似乎没有提供任何Junction相关工具,后来终于在Sysinternals发现了junction.exe这个小 工具,下面就演示junction.exe来介绍junction.exe工具。

junction.exe是Sysinternals出品的命令行工具。下面开始演示其主要功能!

创建junction目录:
我们先用dir查看当前D:/目录结构:

NTFS 新特性:Junction 应用详解_第1张图片

接着运行junctionD:/LINKD:/WINDOWS,命令的意思是创建一个名为D:/LINK的junction目录,指 向D:/WINDOWS,该命令瞬间执行完成。接着在执行dir命令查看目录结构,发现多了一个名字为LINK,类型 为JUNCTION的目录。

我们去资源管理器查看一下,可以看到D:/LINK和D:/WINDOWS文件夹内容一模一 样,如果你对其中任意一个文件夹里面的内容做修改,另一个也会相应的改变,呵呵,我们也建立出了这种“神奇”的目录。而且磁盘空间使用量没有改变哦,因为 只是实现连接罢了,并不是将原文件复制以及同步。

NTFS 新特性:Junction 应用详解_第2张图片


使用连接目录时就像使用原目录一样,就像实实在在有这个目录一样,程序不会发现连接目录与普通目录有何不同。而一般的文件夹快捷方式是不行的。

下面谈谈删除:
如果你不想要这个连接目录,以及目录中的所有内容,直接按Shift+Delete删除好了。
如果你只是想删除这个连接目录,但是保留原目录中的内容,则应该使用junction的-d参数进行删除。例如:junction-dD:/LINK

应用举例:
假设C:盘空间不够,C:/ProgramFiles中有些软件已经找不到安装,我们可以将C:/ProgramFiles /????????中的一些软件移动到E:/????????某个目录(移动时要保证这个软件没有文件处于正在使用的锁定状态),在做一个到C: /ProgramFiles/????????的JUNCTION目录连接,问题就圆满解决了。:)
更多应用还等待大家慢慢发掘。

其它:
junction.exe工具只是在NTFS驱动器中创建和删除junction目录,自身并不会驻留内存占用系统资源,执行完毕会立即退出。
junction目录是NTFS文件系统的一个特性,所以junction目录并不是Sysinternals“发明”的,而是微软。

junction下载地址:
http://download.sysinternals.com/Files/Junction.zip
适用于使用NTFS的NT系列系统

顺 便说下Vista中C:/Users是原目录,C:/DocumentsandSettings是连接到C:/Users上的,也许微 软觉得C:/DocumentsandSettings太长太难记了所以在Vista中改C:/Users了,又怕部分老软件有兼容问题 所以还留个C:/DocumentsandSettings连接目录:)

//这个教程算是简单易懂的啦。本人在学习中主要的使用流程是:

一,mvn clean package 编译后生成的 classes 和 lib文件夹 juction 到web项目的 WEB-INF文件夹下供调用。

二, junction 整个web项目到tomcat 的webapps 文件夹下。

你可能感兴趣的:(C++,c,windows,Web,C#)