WinNT Namespace 与 ext3 结构
Posted | archive
Linux的 ext3 文件系统结构是 一个 / 根,然后衍生出整个PC的文件、设备、一切。 其实呢,WinNT 也是这样设计的,只是没有暴露给用户罢了。说白了, C:\ D:\ 等只是一个符号连接。如图:用了反汇编高手WQXNETQIQI推荐的工具,Sysinternals 的大作:WinObj
在 cmd 命令行里,我们可以通过
tree \\?\CdRom0
来查看机器上第一个光驱的 目录结构,也可以通过
type \\?\GLOBALROOT\Device\CdRom0\autorun.inf
来读取 第一个光驱根目录下 autorun.ini 的内容。
是不是和 Linux 的 cat /media/cdrom 有点相似呢?
再看看一个WinNT NTFS的的命令:
C:\>mountvol
创建、删除或列出卷装载点。
MOUNTVOL [drive:]path VolumeName
MOUNTVOL [drive:]path /D
MOUNTVOL [drive:]path /L
\\?\Volume{d1dd98a0-85e1-11db-9bf6-806d6172696f}\
C:\
\\?\Volume{d1dd98a1-85e1-11db-9bf6-806d6172696f}\
D:\
\\?\Volume{d1dd98a2-85e1-11db-9bf6-806d6172696f}\
E:\
\\?\Volume{aa4a8921-f599-11da-9600-806d6172696f}\
F:\
\\?\Volume{b2938600-f565-11da-a449-806d6172696f}\
G:\
\\?\Volume{aa4a8920-f599-11da-9600-806d6172696f}\
A:\
输入
C:\>dir \\?\Volume{d1dd98a0-85e1-11db-9bf6-806d6172696f}\Windows
就相当于
dir %WinDir% 了。
输入
type \\?\GLOBALROOT\Device\HardDiskVolume1\boot.ini
就相当于
type C:\Boot.ini
看来Windows 也有一个类似于 ext3 的文件系统啊。加上 Windows Shell Namespace,应该比 ext3 丰富了吧。
粗略的估计,用命令行可以查看一些Win32的 NamedPipe 和 内存、TCP 连接的情况。由于本人才疏学浅,不知道从哪里入手,不过总体感觉是:Windows 到底还是MS几亿美金打造的OS,还是有其深刻内涵的。从这点看来,Linux又显得原始了点。
[内有附件]
Comments