[Poradnik] Struktura katalogów w systemie Linux czyli wszystko jest plikiem :) Dlaczego / ROOT
Spisu treści:
- Używanie polecenia
stat - Wyświetlanie informacji o systemie plików
- Dereferencje (Follow) Symlinks
- Dostosowywanie danych wyjściowych
- Wniosek
stat
to narzędzie wiersza polecenia, które wyświetla szczegółowe informacje o danych plikach lub systemach plików.
W tym artykule wyjaśniono, jak używać polecenia
stat
.
Używanie polecenia
stat
Składnia polecenia
stat
jest następująca:
stat… FILE…
stat
akceptuje co najmniej jedną wejściową nazwę
FILE
i zawiera szereg opcji, które kontrolują zachowanie i wynik polecenia.
Rzućmy okiem na następujący przykład:
stat file.txt
Dane wyjściowe będą wyglądać mniej więcej tak:
File: file.txt Size: 4030 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 13633379 Links: 1 Access: (0644/-rw-r--r--) Uid: (1000/ linuxize) Gid: (1000/ linuxize) Access: 2019-11-06 09:52:17.991979701 +0100 Modify: 2019-11-06 09:52:17.971979713 +0100 Change: 2019-11-06 09:52:17.971979713 +0100 Birth: -
Po wywołaniu bez żadnych opcji
stat
wyświetla następujące informacje o pliku:
- Plik - Nazwa pliku. Rozmiar - Rozmiar pliku w bajtach. Bloki - Liczba przydzielonych bloków pobieranych przez plik. Blok.IO - Rozmiar w bajtach każdego bloku. Typ pliku - (np. Zwykły plik, katalog, łącze symboliczne…) Urządzenie - numer urządzenia w systemie szesnastkowym i dziesiętnym. i-węzeł - numer i-węzła. łącza - liczba twardych łączy. dostęp - uprawnienia do plików w metodach numerycznych i symbolicznych. identyfikator użytkownika - identyfikator użytkownika i nazwa właściciela. identyfikator grupy Identyfikator i nazwa właściciela Kontekst - Kontekst bezpieczeństwa SELinux Dostęp - Ostatni dostęp do pliku Zmodyfikuj - Ostatnia modyfikacja zawartości pliku Zmiana - Ostatnia zmiana atrybutu lub zawartości pliku Narodziny - Czas utworzenia pliku (nieobsługiwany w systemie Linux).
Wyświetlanie informacji o systemie plików
Aby uzyskać informacje o systemie plików, w którym znajduje się dany plik, zamiast informacji o samym pliku, użyj opcji
-f
, (
--file-system
):
stat -f file.txt
Dane wyjściowe polecenia będą wyglądać następująco:
File: "package.json" ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 61271111 Free: 25395668 Available: 22265851 Inodes: Total: 15630336 Free: 13979610
Gdy
stat
jest wywoływany z opcją
-f
, wyświetla następujące informacje:
- Plik - nazwa pliku. - Identyfikator systemu plików w systemie szesnastkowym. Namelen - Maksymalna długość nazw plików. Podstawowy rozmiar bloku - Rozmiar każdego bloku w systemie plików. Bloki:
- Razem - Liczba wszystkich bloków w systemie plików. Bezpłatnie - Liczba wolnych bloków w systemie plików. Dostępne - Liczba wolnych bloków dostępnych dla użytkowników innych niż root.
- Razem - Liczba wszystkich i-węzłów w systemie plików. Bezpłatnie - Liczba wolnych i-węzłów w systemie plików.
Dereferencje (Follow) Symlinks
Domyślnie
stat
nie podąża za dowiązaniami symbolicznymi. Jeśli uruchomisz polecenie na dowiązaniu symbolicznym, dane wyjściowe będą zawierać informacje o dowiązaniu symbolicznym, a nie plik, na który wskazuje:
stat /etc/resolv.conf
File: /etc/resolv.conf ->../run/systemd/resolve/stub-resolv.conf Size: 39 Blocks: 0 IO Block: 4096 symbolic link Device: 801h/2049d Inode: 8126659 Links: 1 Access: (0777/lrwxrwxrwx) Uid: (0/ root) Gid: (0/ root) Access: 2019-11-06 21:12:26.875956073 +0100 Modify: 2018-07-24 11:11:48.128794519 +0200 Change: 2018-07-24 11:11:48.128794519 +0200 Birth: -
Aby usunąć odwołanie (śledzić) i wyświetlić informacje o pliku, do którego prowadzi dowiązanie symboliczne, użyj opcji
-L
, (
--dereference
):
stat -L /etc/resolv.conf
File: /etc/resolv.conf Size: 715 Blocks: 8 IO Block: 4096 regular file Device: 17h/23d Inode: 989 Links: 1 Access: (0644/-rw-r--r--) Uid: (101/systemd-resolve) Gid: (103/systemd-resolve) Access: 2019-11-06 20:35:25.603689619 +0100 Modify: 2019-11-06 20:35:25.555689733 +0100 Change: 2019-11-06 20:35:25.555689733 +0100 Birth: -
Dostosowywanie danych wyjściowych
Polecenie
stat
ma dwie opcje, które pozwalają dostosować dane wyjściowe do własnych potrzeb:
-c
, (
--format="format"
) i
--printf="format"
.
Różnica między tymi dwiema opcjami polega na tym, że gdy dwa lub więcej plików jest używanych jako operanty -
--format
automatycznie dodaje nowy wiersz po wyjściu każdego operandu.
--printf
interpretuje ucieczki odwrotnego ukośnika.
Istnieje wiele dyrektyw formatujących pliki i systemy plików, których można używać z
--format
i
--printf
.
Na przykład, aby wyświetlić tylko typ używanego pliku:
stat --format="%F" /dev/null
character special file
Możesz łączyć dowolną liczbę dyrektyw formatujących i opcjonalnie używać niestandardowych separatorów między nimi. Separator może być pojedynczym znakiem lub łańcuchem:
stat --format="%n, %F" /dev/null
/dev/null, character special file
Aby zinterpretować znaki specjalne, takie jak znak nowej linii lub tabulator, użyj opcji
--printf
:
stat --printf='Name: %n\nPermissions: %a\n' /etc
drukuje nową linię:
Name: /etc Permissions: 755
stat
może również wyświetlać informacje w zwięzłej formie. Ten format jest przydatny do analizowania przez inne narzędzia.
Wywołaj polecenie z opcją
-t
(
--terse
), aby wydrukować wynik w postaci zwięzłej:
stat -t /etc
/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096
Aby uzyskać pełną listę wszystkich dyrektyw dotyczących formatów plików i systemów plików, wpisz
man stat
lub
stat --help
w swoim terminalu.
Wniosek
Polecenie
stat
informacje o podanych plikach i systemach plików.
W Linuksie istnieje kilka innych poleceń, które mogą wyświetlać informacje o danych plikach, przy czym
ls
jest najczęściej używanym, ale pokazuje tylko część informacji dostarczonych przez polecenie
stat
.
Polecenie CP w systemie Linux (kopiowanie plików)
cp to narzędzie wiersza polecenia do kopiowania plików i katalogów w systemach Unix i Linux.
Polecenie różnicowe w systemie Linux
diff to narzędzie wiersza polecenia, które pozwala porównać dwa pliki linia po linii. Może także porównywać zawartość katalogów.
Polecenie Pwd w systemie Linux (bieżący katalog roboczy)
Bieżący katalog roboczy to katalog, w którym aktualnie pracuje użytkownik. W tym artykule pokażemy, jak określić bieżący katalog roboczy za pomocą polecenia pwd







