Har Windows Inode Numbers som Linux?

Indlæg af Hanne Mølgaard Plasc

Problem



Har Windows Inode Numbers som Linux? Hvordan administrerer Windows internt filer?

Bedste reference


Den anvendte terminologi er lidt anderledes end hvad du finder i Unix-verdenen, men hvad angår at have et helt tal, der entydigt identificerer en fil, afslører NTFS og nogle Windows API begrebet 'fil-id'er', som er ens.


Du kan søge fil-id'et for et åbent håndtag via GetFileInformationByHandle. Se nFileIndexHigh, nFileIndexLow; Dette er henholdsvis den høje og den lave del af fil-ID'en, som er 64 bits. [8]


NtCreateFile kan også åbne en fil med dens ID. Se flaget FILE\_OPEN\_BY\_FILE\_ID. Du har brug for et volumenhåndtag for at åbne efter fil-id. [9]

Andre referencer 1


Ja. NTFS bruger et B-Tree indekseringssystem. Hver fil i MFT har et 64 bit filindeksnummer. Dette nummer, der hedder fil-id, identificerer kun filen kun inden for volumen. Dvs. to filer på to separate volumener på den samme pc kan have samme fil-id. Se denne MSDN-artikel for flere detaljer.


https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx[10]


Hvad angår dit andet spørgsmål, 'hvordan administrerer Windows internt filer', se denne technetartikel:


https://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx[11]

Andre referencer 2


Dette spørgsmål handler mere om filsystemer end et bestemt operativsystem, jeg tror. Hvert filsystem håndterer filer forskelligt (og hvert operativsystem kan understøtte flere filsystemer).


http://pcnineoneone.com/howto/filesystems1/har en ret god writeup på FAT og NTFS, som er to populære filsystemer med windows. [12]

Andre referencer 3


Der er to ting her. Betegnelsen INode og en filsystem implementering, der bruger enten INode terminologi eller noget som INode i stedet.


Alle Windows-filsystemer (FAT *, NTFS), som jeg ved, bruger inode-lignende strukturer i selve implementeringen.


For yderligere at forenkle svaret


(Tænk på INode som en blok metadata om en fil.)


Indtast som term: Intet Windows-filsystem har det ikke.


Inode som koncept: Windows har nogle andre strukturer, der ligner egenskab og brug, men bruges med forskelligt navn

Andre referencer 4


Ja det gør. Generelt kaldes fileID. Prøv dette i en Win8 kommando shell:


fsutil file queryfileid  <filename>

Andre referencer 5


Inodes er et POSIX koncept. Moderne Windows-versioner bruger NTFS. En grundig beskrivelse af NTFS: Inside NTFS [13]

Andre referencer 6


NEJ, Der er ingen tilsvarende inode i Windows NTFS. Inode er mere af med ** IX-baserede filsystemer.


Men ja, NTFS gemmer et unikt 8-byte referencenummer for hver fil.


Skål. Bemærk, hvis du vil vide mere detaljer