sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #87678
Re: Hvordan pokker angiver man inode number i stedet for fil navn
Den torsdag 6.apr kl. 12:50 skrev Mogens Kjaer:
Jon Bendtsen wrote:
Hej
Jeg har nogle lister med inode numbers hvor indholdet af filerne
er ens.
Dem vil jeg godt hardlinke sammen, men problemet er at ln kræver
fil navn.
Derfor kunne jeg rigtig godt tænke mig et hurtigt væktøj til at
finde navnet
ud fra inode nummeret.
find -inum tager for lang tid. Burde det ikke bare være at slå op
i filsystemets
inode tabel og finde navnet?
Navnene står i directories, ikke i inode tabellerne. Der kan jo
være flere, hvis de allerede har flere hardlinks.
Hvordan er tabellerne med de ens filer lavet?
find -type f -printf "%i %s %p\n" | sort -t" " -k2,2gr -k1,1gr -T ./
# vi sorterer f<F8>rst efter size, derefter efter inode
fordi alle de værktøjer som jeg har fundet har brækket sig over den
mængde af filer som jeg har 9581421 filer. Hvoraf mange af
dem i forvejen er hardlinket sammen.
Ovenstående kommando finder alle filer og printer deres inode og
size. Derefter sorterer jeg alle med samme size, og så alle med samme
inode. Der er jo ingen grund til at chekke filer af forskellig størrelse
eller filer med samme inode nummer. Så hvis de er samme størrelse,
men forskelligt inode, så differ jeg, og egentlig ville jeg gerne
manuelt
gå igennem alle filer og så vurdere ud fra navn og placering om de
skal hardlinkes. Men der er for mange, så nu hardlinker jeg dem bare.
Det er trods alt min backup maskine.
Og hvorfor er der gemt inode numrene på filerne og ikke navnene?
Fordi det er meget nemmere at lave regexp på 2 kolonner med numre
frem for på et ukendt antal kolonner med filnavne, der kan jo være
mellemrum
i filnavne.
Der er nok ikke nogen nem måde at gå fra inode til filnavn,
du skal nok lave noget "ls -i" og så søge i outputtet. Der
kan jo være flere hits, hvis filerne er hardlinkede i forvejen.
ja, men så skal jeg jo stå i samme bibliotek eller gennemsøge sindsygt
mange underbiblioteker.
JonB
References