熟悉Linux系统的同学都知道“硬链接”、“软连接”的概念及其方便的使用,其实自Windows2000之后的NTFS3.0版以来,Windows下也能支持这两个概念了。
硬链接:
在Windows 2000 及以上版本里可以使用 fsutil hardlink create
这个复杂的命令来创建一个硬链接,用法倒是很简单:
fsutil hardlink create <新文件名> <现有文件名>
也可以使用 GNU utilities for Win32
中的 ln
命令来创建,"GNU utilities for Win32 "是一些 GNU 工具在 Win32平台上的移植版本,非常好用
。另外Cygwin 里的 ln 也可以创建 硬链接(但创建符号链接时 会以‘快捷方式’出现)。
如果你想在自己程序里创建硬链接,只需要一个很简单的Windows API 函数:
BOOL CreateHardLink(
LPCTSTR lpFileName,
LPCTSTR lpExistingFileName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
前两个参数的意思就不用解释了,最后一个参数的用途暂时保留,必须为 NULL。
软连接:
而软连接(symbolic link),NTFS只支持对目录的符号链接,微软把它称作junction,对文件的符号链接,其实Windows平台的解决方案就是——“快捷方式”,不过这与Linux下的 symbolic link不是一个层次上的东西,前者是应用层的功能,后者是底层文件系统的功能。
Windows提供了 MOUNTVOL
命令,可以把一个卷链接到另一个卷的目录下,即只能对某个卷的根目录创建 symbolic link。幸运的是我们可以使用 Sysinternals 提供的带有源代码的免费命令行工具 junction.exe 来全功能的完成对 NTFS symbolic link 的管理
SysInternals 套件
,里面包含了大量的实用程序,其中 junction.exe
就是用来管理符号连接的,(更多的关于SysInternals使用工具的信息请参看:http://technet.microsoft.com/zh-cn/sysinternals/bb545046.aspx
)。
另外,在 Windwos 2000 Resource Kit 里提供了一个命令行工具 linkd.exe 来完成这件事。不过它的查看 symbolic link 信息的功能不如 junction,因为不支持通配符和子目录扫描。
以下是junction.exe的简单使用方法:
要创建一个符号连接:
junction 连接名称 要连接哪一个目录
例如:
C:\>junction test_www d:\www
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Created: C:\test_www
Targetted at: d:\www
用资源管理器打开 c:\test_www 可以看到和 d:\www 一样的内容。修改一边的文件,另一边的也会同步更新(其实本就没有两份,符号连接就像一个映射)。
要删除一个符号连接:
C:\>junction -d c:\test_www
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Deleted c:\test_www.
关于符号链接,需要注意的是
,Explorer 对待 symbolic link 有一个很奇怪的行为。那就是,在 Explorer 里一个 symbolic link 跟被它 link 的目录没有区别,删除这个 symbolic link 将会删除被 link 的目录下的所有文件!
分享到:
相关推荐
(4)链接文件:软链接文件和硬链接文件。软链接文件:目标文件和链接文件可以跨越索引点,可以先删除目标文件,后删除链接文件;硬链接文件:链接同一索引点中的文件,先删除链接文件,后删除目标文件。 (5)管道...
虽然可以将文件添加为硬链接或符号链接,但可以将文件夹作为交点(软链接),智能副本,智能镜像,DeLorean 副本,硬链接克隆或符号链接克隆删除。可以对单个文件或多个项目(批量)进行选择。 轻松区分物品 支持...
◆ Win NT/2000 的文件系统:ntfs ; ◆ OS/2用的文件系统:hpfs; ◆ Linux用的文件系统:ext2、ext3; ◆ CD-ROM光盘用的文件系统:iso9660。 虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型...
那个文件夹重定向的功能就是 windows ntfs junction ,类似linux 上的软链接。 运行方法: 双击 Create.bat 、 Check.bat 、 Recovery.bat 等。 Create.bat 创建 junction 文件夹,是按配置文件创建 junction 文件 ...
一.Linux的文件系统结构.....................................................................................................6 二. 文件类型................................................................
7-zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持...- 支持在文件菜单中手动创建动态链接、硬链接 • Command line版本升级; version: • 提升对NSIS功能支持 • 修复大量bug • 新增Mongolian本地化语言。
而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在Windows XP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。 19、压缩NTFS驱动器、文件...
(2)NTFS(New Technology File System)文件系统 NTFS具有很多FAT文件系统所没有的功能,例如权限设置、文件压缩、数据加密、资源访问的审核等,因此Windows 2000建议用户使用NTFS文件系统。如果将Windows 2000设置...
CnCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。 主要特性 1 所有加密都是以分区为基础的。...
后面是IDE设备的类型和硬件参数,TYPE用来说明硬盘设备的类型,我们可以选择AUTO、USER、NONE的工作模式,AUTO是由系统自己检测硬盘类型,在系统中存储了1-45类硬盘参数,在使用该设置值时不必再设置其它参数;...
CnCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。 主要特性 1 所有加密都是以分区为基础的...