`
cnetwei
  • 浏览: 174433 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

NTFS文件系统下的硬链接和软链接

阅读更多

熟悉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 的目录下的所有文件!

 

分享到:
评论

相关推荐

    第三章 Linux文件管理.docx

    (4)链接文件:软链接文件和硬链接文件。软链接文件:目标文件和链接文件可以跨越索引点,可以先删除目标文件,后删除链接文件;硬链接文件:链接同一索引点中的文件,先删除链接文件,后删除目标文件。 (5)管道...

    硬链壳扩展 HardLink ShellExtension 3.9.3.5 + x64 中文.rar

    虽然可以将文件添加为硬链接或符号链接,但可以将文件夹作为交点(软链接),智能副本,智能镜像,DeLorean 副本,硬链接克隆或符号链接克隆删除。可以对单个文件或多个项目(批量)进行选择。 轻松区分物品 支持...

    入门学习Linux常用必会60个命令实例详解doc/txt

    ◆ Win NT/2000 的文件系统:ntfs ; ◆ OS/2用的文件系统:hpfs; ◆ Linux用的文件系统:ext2、ext3; ◆ CD-ROM光盘用的文件系统:iso9660。 虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型...

    win-junction-tool:批量创建ntfs结

    那个文件夹重定向的功能就是 windows ntfs junction ,类似linux 上的软链接。 运行方法: 双击 Create.bat 、 Check.bat 、 Recovery.bat 等。 Create.bat 创建 junction 文件夹,是按配置文件创建 junction 文件 ...

    Linux操作系统基础教程

    一.Linux的文件系统结构.....................................................................................................6 二. 文件类型................................................................

    压缩新秀 7-Zip 9.33 最新简体中文精简版 (798K)

    7-zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持...- 支持在文件菜单中手动创建动态链接、硬链接 • Command line版本升级; version: • 提升对NSIS功能支持 • 修复大量bug • 新增Mongolian本地化语言。

    网络工程师资料学习笔记

    而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在Windows XP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。 19、压缩NTFS驱动器、文件...

    网络组建域管理课件2

    (2)NTFS(New Technology File System)文件系统 NTFS具有很多FAT文件系统所没有的功能,例如权限设置、文件压缩、数据加密、资源访问的审核等,因此Windows 2000建议用户使用NTFS文件系统。如果将Windows 2000设置...

    TrueCrypt的国内延伸版本CnCrypt V1.11(单一文件绿色版)

    CnCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。 主要特性 1 所有加密都是以分区为基础的。...

    计算机应用技术(实用手册)

    后面是IDE设备的类型和硬件参数,TYPE用来说明硬盘设备的类型,我们可以选择AUTO、USER、NONE的工作模式,AUTO是由系统自己检测硬盘类型,在系统中存储了1-45类硬盘参数,在使用该设置值时不必再设置其它参数;...

    TrueCrypt的国内延伸版本CnCrypt1.0

    CnCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。 主要特性 1 所有加密都是以分区为基础的...

Global site tag (gtag.js) - Google Analytics