Sprawdźmy, jak używać STAT, aby uzyskać wszystkie ważne dane potrzebne do określonego pliku/systemu plików.
Dlaczego polecenie STAT
Czasami możesz znać kilka kluczowych szczegółów na temat określonego systemu plików/systemu plików, na przykład rozmiar pliku, uprawnienia dostępu, liczby inod, czas ostatniego dostępu/modyfikacji itp. Zgodził się, możesz sprawdzić wiele szczegółów na temat pliku za pomocą LS. Jednak STAT oferuje znacznie bardziej szczegółowe co do docelowego systemu/systemu plików.
Kiedy powinieneś używać statystyki? Ilekroć potrzebujesz tych dodatkowych informacji. Aby uzyskać szybkie porównanie, sprawdźmy informacje o pliku z pliku1.tekst. Aby lepiej zrozumieć wyniki, dowiedz się więcej o poleceniu LH.
$ ls -lh plik1.tekst
Teraz sprawdźmy, co ma do zaoferowania Stat.
$ Stat File1.tekst
To dużo informacji! Nie potrzebujesz ich wszystkich w życiu codziennym, ale w określonej sytuacji Stat jest bardzo przydatny.
Użycie statystyk Linux: Lokalizacja
Większość poleceń Linux działa z katalogu /usr /bin.
$ Która stat
Użycie statystyk Linux: Sprawdzanie informacji o pliku/systemie plików
Widzieliśmy to już w akcji, prawda? Struktura poleceń wygląda tak.
$ Stat
Aby zobaczyć dogłębne informacje o pliku/systemie plików, uruchom to polecenie. W tym przypadku jest to mój zaufany plik 1.tekst.
$ Stat File1.tekst
Istnieje mnóstwo informacji o konkretnym pliku, prawda? Wszystkie przedstawione informacje są oznaczone. W zależności od wymagań, wybierz ważny. Z mojego doświadczenia wynika, że najczęściej używane to uprawnienia do plików, INODE i UID i/lub GID.
Teraz sprawdźmy przykład z systemem plików. W takim przypadku będzie to punkt montażu systemu plików. Na przykład to polecenie pokaże informacje o źródło system plików.
$ STAT /
W Linux (prawie) każda rzecz jest plik. Każdy system plików to sam plik, więc wyjście nie będzie inaczej.
Zastosowanie statystyk Linux: Forma zwięzła
Kiedy uruchamiasz Stat normalnie, wszystkie informacje są drukowane w strukturze czytelnej człowieka. Chcę krótką i prostą wersję wyjścia? Dodaj argument „-t”.
$ stat -t /
Format zwięzły jest specjalnym formatem, który wykorzystuje predefiniowaną listę specyfikatorów formatu Stat.
Użycie statystyk Linux: format niestandardowy
To kolejne interesujące użycie polecenia STAT, w którym można zaprojektować pożądaną strukturę wyjściową STAT. Aby wykonać to zadanie, STAT oferuje długą listę dostępnych specyfikatorów formatu.
Oto jak wygląda polecenie.
$ stat - -format =
Na przykład specyfikator „%A” zwraca uprawnienia pliku/systemu plików w formacie czytelnym człowieka.
$ stat - -format =%pliku1.tekst
Specyfikator „%u” zwraca właściciela pliku/systemu plików.
$ stat - -format =%u /
Aby uzyskać rozmiar pliku, użyj specyfikatora formatu „%s”.
$ stat - -format =%s plik1.tekst
Chcę typ pliku? Użyj „%f”.
$ stat - -format =%f plik1.tekst
W przypadku numeru inode użyj „%i”.
$ stat - -format =%i plik1.tekst
Teraz połączmy je wszystkie razem w jedną linię poleceń. Będzie wyglądać tak.
$ stat - -format = " %a %u %s" /
Istnieje mnóstwo innych specyfikatorów formatów, które wspierają statystyki. Wszystkie są wymienione na stronie Man Stats.
Teraz, jak wcześniej widzieliśmy argument „-t” lub „-terse”, jest to predefiniowana wartość dla następujących argumentów.
$ Stat - -format = " %n %s %b %f %u %g %d %i %h %t %t %x %y %z %w %o %c"
Jeśli chodzi o argument „-terse -file-system”, predefiniowana wartość jest następująca.
$ stat - -format = " %n %i %l %t %s %s %b %f %a %c %d"
Te wyjścia są bardzo przydatne, jeśli używasz STAT w jakimkolwiek skrypcie, szczególnie w skryptach Bash. Nowy w skrypcie Bash? Sprawdź przewodnik dla początkujących po skryptach Bash.
Printf vs format
Polecenie STAT obsługuje -printf argument, który działa w zasadzie w taki sam sposób, jak -format. Jednak główną różnicą między nimi jest sposób wytwarzania produkcji.
Wyjaśnijmy to z przykładem. Tutaj uruchamiam STAT z obiema argumentami z tym samym specyfikatorem formatu.
$ stat - -format = " %a %u %s" plik 1.tekst
$ stat --printf = " %a %u %s" plik 1.tekst
Jak widzimy, -format Argument dodaje nową linię po zakończeniu wyjścia. Jednakże -printf nie. Aby upewnić się, że po wyjściu jest nowa linia, musisz dodać „\ n” na końcu ciąg specyfikatora formatu.
$ stat --printf = " %a %u %s \ n" plik 1.tekst
Rozróżnić plik i link
W niektórych sytuacjach możesz faktycznie pracować z linkiem. Jednak domyślnie STAT nie rozróżnia łącza i pliku fizycznego. Istnieje dedykowany argument, aby obejść ten problem. Po prostu przekazaj argument „-L”.
$ stat -l
Końcowe przemyślenia
Narzędzie Stat jest dość proste. Wszystkie jego funkcje są zarządzane przez proste argumenty i flagi. Gdy wiesz, którego użyć, możesz czerpać z tego najwięcej korzyści.
Aby dowiedzieć się bardziej szczegółowo na temat polecenia STAT, zdecydowanie polecam sprawdzenie strony Man. Zawiera wszystkie obsługiwane specyfikatory formatu i kilka dodatkowych argumentów, które mogą być interesujące.
$ MAN STAT
Cieszyć się!