W przeszłości dowiedziałem się, że w systemach plików Linux / UNIX katalogi to tylko pliki, które zawierają nazwy plików i numery i-węzłów plików w katalogu.
Czy istnieje prosty sposób, aby zobaczyć zawartość katalogu? Mam na myśli sposób, w jaki nazwy plików i i-węzły są przechowywane / organizowane.
Ja nie szukam ls
, find
lub coś podobnego. Nie chcę też widzieć zawartości plików w katalogu. Chcę zobaczyć wdrożenie katalogów. Jeśli każdy katalog to tylko plik tekstowy z pewną zawartością, być może istnieje prosty sposób na wyświetlenie zawartości tego pliku tekstowego.
W bash w Linuksie nie można zrobić cat folder
. Wynik jest po prostu Is a directory
.
Aktualizacja Pytanie W jaki sposób można sprawdzić informacje o strukturze katalogów pliku unix / linux? rozwiązuje ten sam problem, ale nie ma pomocnego rozwiązania, takiego jak mjturner .
źródło
vi <folder>
odpowiada Ci twoje potrzeby? Właśnie o tym wspominamvim <DIR>
Czy to jest to, czego chcesz?stat
polecenie.stat folder
.cat
by to działało. Ale to podejście było przestarzałe dekady temu. Nie znam żadnego bezpośredniego sposobu, aby zobaczyć rzeczywistą pamięć systemu plików. Zamiast tego pojawiają się nowe wywołania systemowe w celu zwrócenia informacji w znormalizowanym formacie, który pozostaje taki sam, niezależnie od tego, który bazowy system plików jest używany.Odpowiedzi:
Narzędzie do wyświetlania szczegółów i-węzła dla systemu plików będzie specyficzne dla systemu plików. Albowiem
ext2
,ext3
,ext4
systemy plików (najczęstszą linuksowych systemów plików), można użyćdebugfs
dla XFSxfs_db
, dla ZFSzdb
. Dlabtrfs
niektórych informacji jest dostępna za pomocąbtrfs
polecenia.Na przykład, aby eksplorować katalog w
ext4
systemie plików (w tym przypadku/
jestdev/sda1
):Powyżej zaczynamy od znalezienia i-węzła katalogu
src
(664488
), a następnie zrzucamy jego zawartość do pliku,src.out
a następnie wyświetlamy to za pomocąod
. Jak widać, zawartość wszystkich plików w tym katalogu (Animation.js
itp.) Jest widoczna na zrzucie.To dopiero początek - więcej informacji znajdziesz na
debugfs
stronie podręcznika lub wpiszhelp
w nimdebugfs
.Jeśli używasz
ext4
, możesz znaleźć więcej informacji o strukturze i układzie pozycji katalogu w dokumentacji jądra .źródło
od -x
zrzucisz plik pozycji katalogu.Możesz użyć wybranego języka programowania, otworzyć katalog tak, jakby to był plik i odczytać bajty z wynikowego uchwytu pliku. Ale to niewiele ci powie, ponieważ będą to tylko śmieci (z kilkoma rozpoznawalnymi ciągami znaków), o ile nie wiesz, jak to jest zorganizowane. Sposób organizacji jest w zasadzie problemem związanym z implementacją danego systemu plików. Jeśli chcesz przyjrzeć się tym zagadnieniom, proponuję zacząć od przeczytania
man dirent.h
. To powinno wystarczyć, aby skierować Cię dalej w stronę tego, co Cię interesuje.źródło
Możesz spróbować (partycja jest przykładem).
użyj zrzutu, aby zapisać dane i-węzła w pliku.
człowiek jest twoim przyjacielem, powinny dać ci kilka pomysłów.
źródło