[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [TEKNIK] 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


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2006-05-01, 02:02 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *