在我学习命名管道在 Windows 内部的工作原理时,我发现了这样的解释:
每个管道都放置在命名管道文件系统 (NPFS) 的根目录中,并挂载在特殊路径 \.\pipe\ 下
这不是我第一次不明白 Windows 如何知道文件系统内文件的位置。
例如,当使用 powershell 查找注册表项时:
Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion'
在 Windows 中寻找隐藏分区时,我发现的唯一一个是系统保留没有更多细节。
是个命名管道文件系统 (NPFS)存储在该分区中吗?
有没有办法查找该分区中包含的所有文件?
这些分区的挂载点位于 C:\ 分区内的什么位置?
我所有问题中最重要的是,有没有办法知道所有 Windows 特殊文件路径,如HKLM:\
或\\.\pipe\
?
答案1
有没有办法查找该分区中包含的所有文件?
使用以下 PowerShell 命令:
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
来源:如何获取 Windows 中所有打开的命名管道的列表?,回答者安德鲁·谢泼德
有没有办法知道所有 Windows 特殊文件路径,如 HKLM:\ 或 \.\pipe?
这些被称为 UNC 文件路径 (Windows 系统上的文件路径格式 | Microsoft Docs)。没有明确的清单,因为这样的路径可能包括服务器名称——我们无法提前知道这些名称是什么。