dump
Ha egy bináris fájlba szeretnénk belenézni, akkor gyakran fontos, hogy a fájl nyers tartalmát lássuk, ne pedig valamilyen megjelenítőprogram által konvertált értéket. Még az olyan egyszerű programok mint a
less
is végeznek némi konverziót, ami néha zavaró.
Ha a fájl “igazi” tartalmára vagyunk kíváncsiak jól jöhet az
od program. Vegyünk egy igen egyszerű szövegfájlt (
ekezet.txt
):
Ez egy teszt áé.
Ennek a fájlnak a tartalmát szeretnénk megnézni (pl. mert érdekel, milyen karakterkódolást is használ a fájl) Ha lefuttatjuk az
od ekezet.txt
parancsot, a következő eredményt kapjuk:
0000000 075105 062440 074547 072040 071545 072172 141440 141641
0000020 027251 000012
0000023
Az első oszlop mutatja a fájlon belüli pozíciót, a többi a fájl tartalmát. Az eredmény megértéséhez segít, ha tudjuk, hogy od=octal dump, vagyis alapértelmezésben oktális (nyolcas) számrendszerben kapjuk az eredményt. A valóságban sokkal gyakrabban van szükségünk decimális (tízes) vagy hexadecimális (tizenhatos) számrendszerre. A hexadecimálishoz a következő utasítást kell végrehajtanunk:
od -tx1 ekezet.txt
A -t
kapcsoló jelenti azt, hogy formátummeghatározás következik,
x
jelenti a hexadecimálisat, az 1
azt, hogy 1 bájtos egységekben:
0000000 45 7a 20 65 67 79 20 74 65 73 7a 74 20 c3 a1 c3
0000020 a9 2e 0a
0000023
Ha egyidejűleg szeretnénk látni a decimálisat is:
od -tx1d1 ekezet.txt
Az eredmény:
0000000 45 7a 20 65 67 79 20 74 65 73 7a 74 20 c3 a1 c3
69 122 32 101 103 121 32 116 101 115 122 116 32 -61 -95 -61
0000020 a9 2e 0a
-87 46 10
0000023
Végül ha a decimális és hexadecimális mellett szeretnénk látni a karaktereket is:
od -atx1d1 ekezet.txt
Az eredmény:
0000000 E z sp e g y sp t e s z t sp C ! C
45 7a 20 65 67 79 20 74 65 73 7a 74 20 c3 a1 c3
69 122 32 101 103 121 32 116 101 115 122 116 32 -61 -95 -61
0000020 ) . nl
a9 2e 0a
-87 46 10
0000023