Windows系统dir /r命令作用及NTFS数据流读取技术咨询
理解NTFS交替数据流与
dir /r命令的作用 你遇到的这个现象,核心是NTFS文件系统的**交替数据流(Alternate Data Streams, ADS)**特性——这是NTFS独有的一种文件扩展机制,允许给单个文件附加多个独立的数据“流”。
现象原理拆解
- 我们平时访问的文件内容,其实是NTFS文件的默认无名称数据流。你用
more root.txt看到的Look deeper...,就是root.txt的默认数据流内容。 - 而root.txt还被附加了一个名为
confidential.txt的交替数据流,这个数据流和默认数据流绑定在同一个文件条目下,但默认不会被常规命令识别:- 普通
dir命令只会显示文件的默认数据流信息; dir /a能显示隐藏文件/目录,但依然不会扫描和展示交替数据流,因为ADS不属于“隐藏属性”范畴,而是一种独立的数据流结构。
- 普通
dir /r命令的具体作用
dir /r是Windows终端中专门针对NTFS交替数据流的查看命令:
- 它会遍历当前目录下的所有文件,检查每个文件是否存在附加的交替数据流;
- 如果存在,会在对应文件的条目下方,以
::数据流名的格式列出所有附加数据流(比如你看到的root.txt关联的confidential.txt数据流); - 注意:这个命令仅在NTFS卷上有效,在FAT32、exFAT等不支持ADS的文件系统中执行不会有额外输出。
补充:读取交替数据流的常用方式
除了你用的more < root.txt:confidential.txt,还有这些方法:
- 使用
type命令:type root.txt:confidential.txt - 使用PowerShell命令:
Get-Content root.txt:confidential.txt
内容的提问来源于stack exchange,提问作者bashbin
相关产品推荐
相关产品推荐

