Find
Z wiki linux-user
Linia 136: | Linia 136: | ||
*-user unazwa właścicielem pliku jest użytkownik unazwa (numeryczny UID jest tu dozwolony). | *-user unazwa właścicielem pliku jest użytkownik unazwa (numeryczny UID jest tu dozwolony). | ||
*-xtype c jest to to samo co -type, chyba że plik jest dowiązaniem symbolicznym. Dla dowiązań symbolicznych: jeśli nie podano -follow, jest prawdziwe gdy plik jest dowiązaniem do pliku typu c; jeśli podano -follow, jest prawdziwe, jeśli c to ‘l’. Innymi słowy, dla dowiązań symbolicznych -xtype sprawdza typ pliku, którego nie sprawdza -type. | *-xtype c jest to to samo co -type, chyba że plik jest dowiązaniem symbolicznym. Dla dowiązań symbolicznych: jeśli nie podano -follow, jest prawdziwe gdy plik jest dowiązaniem do pliku typu c; jeśli podano -follow, jest prawdziwe, jeśli c to ‘l’. Innymi słowy, dla dowiązań symbolicznych -xtype sprawdza typ pliku, którego nie sprawdza -type. | ||
+ | |||
+ | === Akcje === | ||
+ | |||
+ | *'''-exec polecenie ;''' wykonuje polecenie; prawdziwe jeśli zwrócony został status 0. Wszelkie następne argumenty find są brane za argumenty polecenia, aż nie zostanie napotkany argument, składający się z ‘;’. Łańcuch ‘{}’ jest podmieniany na obecnie przetwarzaną nazwę pliku. Obydwie te konstrukcje być może będą wymagały wycytowania (znakiem ‘\’) aby uchronić je przed rozwinięciem przez powłokę. Polecenie jest wykonywane w katalogu startowym. | ||
+ | *'''-fls plik prawdziwe;''' podobne do -ls, lecz zapisuje do pliku jak -fprint. | ||
+ | *'''-fprint plik prawdziwe;''' wypisuje pełną nazwę pliku do pliku. Jeśli plik nie istnieje, zostanie utworzony; jeśli istnieje, zostanie obcięty. Nazwy plików ‘‘/dev/stdout’’ i ‘‘/dev/stderr’’ są traktowane osobno; odnoszą się one odpowiednio do standardowego wyjścia i standardowego wyjścia błędów. | ||
+ | *'''-fprint0 plik prawdziwe;''' podobne do -print0, lecz zapisuje do pliku, podobnie jak -fprint. | ||
+ | *'''-fprintf plik format prawdziwe;''' podobne do -printf, lecz zapisuje do pliku, podobnie jak -fprint. | ||
+ | *'''-ok polecenie ;''' podobne do -exec, lecz pyta wpierw użytkownika (na standardowym wejściu); jeśli odpowiedź nie rozpoczyna się od ‘y’ lub ‘Y’, nie uruchamia polecenia i zwraca fałsz. | ||
+ | *'''-print prawdziwe;''' wypisuje pełną nazwę pliku na standardowe wyjście. Za nazwą daje nową linię. | ||
+ | *'''-print0 prawdziwe;''' wypisje pełną nazwę pliku na standardowe wyjście. Za nazwą daje znak null. Umożliwia to poprawne wyświetlenie plików, zawierających w nazwach znaki nowej linii w programach, przetwarzających wyjście finda. | ||
+ | *'''-printf format prawdziwe;''' wypisuje format na standardowe wyjście, interpretując sekwencje specjalne ‘\’ i dyrektywy ‘%’. Szerokości pól i precyzje mogą być podawane dokładnie jak w printf(3) z C. W przeciwieństwie do -print, -printf nie dodaje nowej linii do końca łańcucha. Sekwencje specjalne i dyrektywy to: | ||
+ | **'''\a''' Dzwonek. | ||
+ | **'''\b''' Backspace. | ||
+ | **'''\c''' Wstrzymuje wtypisywanie tego formatu i natychmiast wymiata wyjście. | ||
+ | **'''\f''' Form feed. | ||
+ | **'''\n''' Nowa linia. | ||
+ | **'''\r''' Powrót karetki. | ||
+ | **'''\t''' Tabulacja pozioma. | ||
+ | **'''\v''' Tabulacja pionowa. | ||
+ | **'''\\''' Literalny lewy ukośnik (‘\’). | ||
+ | **'''‘\’''' za którym następuje dowolny inny znak, jest traktowany jak zwykły znak, więc są wypisywane obydwa. | ||
+ | **'''%%''' Literalny znak procenta. | ||
+ | **'''%a''' Ostatni czas dostępu do pliku w formacie zwracanym przez funkcję ctime(3). | ||
+ | **%Ak Ostatni czas dostępu do pliku, w formacie okreslonym przez k, którym może być ‘@’, lub dyrektywa dla funkcji C strftime(3). Możliwe wartości k są wymienione niżej; niektóre z nich mogą nie być dostępne na wszystkich systemach z powodu różnic w strftime(3) między systemami. | ||
+ | **'''@''' Sekundy od 1 stycznia, 1970, 00:00 GMT. | ||
+ | |||
+ | === Pola czasowe === | ||
+ | |||
+ | *H godzina (00..23) | ||
+ | *I godzina (01..12) | ||
+ | *k godzina ( 0..23) | ||
+ | *l godzina ( 1..12) | ||
+ | *M minuta (00..59) | ||
+ | *p localowe AM lub PM | ||
+ | *r czas, 12-godzinny (gg:mm:ss [AP]M) | ||
+ | *S sekunda (00..61) | ||
+ | *T czas, 24-godzinny (gg:mm:ss) | ||
+ | *X lokalna reprezentacja czasu (G:M: | ||
+ | *Z strefa czasowa (np. EDT), lub nic jeśli nie da się jej określić | ||
+ | |||
+ | === Pola daty === | ||
+ | |||
+ | *a lokalny skrót nazwy tygodnia (Sun..Sat) | ||
+ | *A lokalna pełna nazwa tygodnia, zmiennej długości (Sunday..Saturday) | ||
+ | *b lokalna skrócona nazwa miesiąca (Jan..Dec) | ||
+ | *B lokalna pełna nazwa miesiąca, zmiennej długości (January..December) | ||
+ | *c lokalna data i czas (Sat Nov 04 12:02:33 EST 1989) | ||
+ | *d dzień miesiąca (01..31) | ||
+ | *D data (mm/dd/rr) | ||
+ | *h to samo co b | ||
+ | *j dzień roku (001..366) | ||
+ | *m miesiąc (01..12) | ||
+ | *U numer tygodnia w roku, z niedzielą liczoną jako pierwszy dzień tygodnia (00..53) | ||
+ | *w dzień tygodnia (0..6) | ||
+ | *W numer tygodnia w roku, licząc z poniedziałkiem, jako pierwszym dniem tygodnia (00..53) | ||
+ | *x lokalna reprezentacja daty (mm/dd/rr) | ||
+ | *y ostatnie dwie cyfry roku (00..99) | ||
+ | *Y rok (1970…) | ||
+ | *%b Rozmiar pliku w 512-bajtowych blokach (zaokrąglanych w górę). | ||
+ | *%c Ostatni czas zmiany statusu pliku, w formacie zwróconym przez funkcję ctime(3) z C. | ||
+ | *%Ck Ostatni czas zmiany statusu pliku w formacie określonym przez k, w taki sam sposób, jak dla %A. | ||
+ | *%d Głębokość pliku w drzewie katalogowym; 0 oznacza plik w argumencie wiersza poleceń. | ||
+ | *%f Nazwa pliku z usuniętymi początkowymi katalogami (tylko ostatni element nazwy). | ||
+ | *%F Rodzaj systemu plików, na którym znajduje się plik; wartość ta może być używana do -fstype. | ||
+ | *%g Nazwa grupy pliku lub numeryczny GID jeśli grupa nie ma nazwy. | ||
+ | *%G Numeryczny GID pliku. | ||
+ | *%h Początkowe katalogi nazwy pliku (wszystko poza ostatnim elementem). | ||
+ | *%H Argument wiersza poleceń, pod którym plik został znaleziony. | ||
+ | *%i Numer iwęzła pliku (dziesiętnie). | ||
+ | *%k Rozmiar pliku w 1K blokach (zaokrąglane w górę). | ||
+ | *%l Obiekt dowiązania symbolicznego (pusty łańcuch, jeśli plik nie jest dowiązaniem symbolicznym). | ||
+ | *%m Prawa pliku (ósemkowo). | ||
+ | *%n Liczba twardych dowiązań do pliku. | ||
+ | *%p Nazwa pliku. | ||
+ | *%P Nazwa pliku z usuniętą z początku nazwą argumentu wiersza poleceń, dla którego ją znaleziono. | ||
+ | *%s Rozmiar pliku w bajtach. | ||
+ | *%t Ostatni czas modyfikacji pliku w formacie zwróconym przez funkcję ctime(3) z C. | ||
+ | *%Tk Ostatni czas modyfikacji pliku, w formacie określonym przez k, podobnie jak dla %A. | ||
+ | *%u Nazwa użytkownika pliku, lub numeryczny UID, jeśli użytkownik nie ma nazwy. | ||
+ | *%U Numeryczny UID pliku. | ||
+ | *Znak ‘%’, za którym następuje dowolny inny znak jest usuwany (lecz drugi znak jest drukowany). | ||
+ | *-prune jeśli nie podano -depth, prawdziwe; program nie wchodzi w głąb bieżącego katalogu. Jeśli podano -depth, fałszywe; bez rezultatu. | ||
+ | *ls prawdziwe; listuje plik bieżący w formacie ‘ls ils’ na standardowe wyjście. Liczniki bloków są 1K blokami, chyba że ustawiono zmienną środowiskową POSIXLY_CORRECT, kiedy używane będą 512-bajtowe bloki. | ||
+ | |||
+ | === Wymienione w malejącym priorytecie === | ||
+ | |||
+ | ( wyraz ) wymusza pierwszeństwo. | ||
+ | ! wyraż prawdziwe jeśli wyraż jest fałszywe | ||
+ | -not wyrazż to samo co ! wyraż. | ||
+ | wyraż1 wyraż2 And (jawny); wyraż2 nie jest analizowany jesli wyraż1 jest fałszywe. | ||
+ | wyraż1 -a wyraż2 to samo, co wyraż1 wyraż2. | ||
+ | wyraż1 -and wyraż2 to samo, co wyraż1 wyraż2. | ||
+ | wyraż1 -o wyraż2 Or; wyraż2 nie jest analizowane jeśli wyraż1 jest prawdziwe. | ||
+ | wyraż1 -or wyraż2 to samo, co wyraż1 -o wyraż2. | ||
+ | wyraż1 , wyraż2 Lista; zarówno wyraż1 jak i wyraż2 zawsze są analizowane. Wartość wyraż1 jest niszczona; wartość listy jest wartością wyraż2. |