Jestem początkującym w systemie OS X i wierzę, że to polecenie utworzy listę wszystkich plików i podfolderów określonych folderów
find /Volumes/Documents/ -exec stat -f "%N %Sm" {} + >~/Desktop/test.txt
Nie wiem, jak wymyślić, co to właściwie robi.
mavericks
command-line
użytkownik3171796
źródło
źródło
Odpowiedzi:
Opublikowane polecenie składa się z dwóch części
find /Volumes/Documents/ -exec stat -f "%N %Sm" {} +
>~/Desktop/test.txt
Druga część jest łatwiejsza do wyjaśnienia, po prostu zapisuje wszystkie dane wyjściowe z pierwszej do pliku o nazwie
test.txt
przechowywanego na pulpicie. Jeśli pominiesz tę część, wynikfind
zostanie zapisany bezpośrednio w oknie terminala.Pierwsza część to właściwe
find
polecenie. Wezwanie dofind
zasadniczo otrzymuje dwa rodzaje parametrów/Volumes/Documents/
w twoim przypadku)Wygląda na to prosta wersja,
find /Volumes/Documents/ -print
która po prostu drukuje każdy znaleziony plik / folder.W twoim przykładzie część wyrażenia jest nieco bardziej rozbudowana:
-exec
uruchamia polecenie na wynikach find (stat -f "%N %Sm"
faktycznie)stat
podaje informacje o pliku.-f
Opcja dla wyświetlaczy stat informacji przy użyciu określonego formatu.%N %Sm
jest formatem używanym przez-f
.%
oznacza ciąg formatu.N
oznacza wydrukowanie nazwy pliku.Sm
oznacza wydrukowanie daty modyfikacji pliku.{} +
jest zastępowane przez jak najwięcej znalezionych plików / jak to możliwe w każdym wywołaniu dostat
Aby uzyskać więcej informacji na temat rozumienia poleceń, zobacz stronę podręcznika dla
find
istat
.źródło