Provided by: manpages-pl_0.7-1_all bug

NAZWA

       find - szuka plików w hierarchii katalogowej

SKŁADNIA

       find [-H] [-L] [-P] [-D opcje-debugowania] [-Opoziom] [ścieżka...] [wyrażenie]

OPIS

       Ta  strona  podręcznika  man  opisuje  wersję GNU programu find.  GNU find przeszukuje drzewo katalogowe,
       zakorzenione w każdej z podanych nazw plików. Wykonuje przy tym podane  wyrażenie  od  lewej  do  prawej,
       zgodnie  z  zasadami  priorytetów (rozdział OPERATORY), aż do ustalenia wyniku (lewa strona jest fałszywa
       dla operacji and, a prawdziwa dla or), co powoduje przejście do następnej nazwy pliku.

       W przypadku używania find w środowisku, w którym istotne jest  bezpieczeństwo  (np.  przy  przeszukiwaniu
       katalogów,  które  są  zapisywalne  dla  innych użytkowników), należy zapoznać się z rozdziałem "Security
       Considerations" w dokumentacji findutils, pod nazwą Finding Files. Dokument  ten  (w  języku  angielskim)
       jest  bardziej  szczegółowy  i opisowy niż niniejsza strona podręcznika systemowego, więc może okazać się
       przydatniejszym źródłem informacji.

OPCJE

       Opcje -H, -L i -P kontrolują sposób traktowania dowiązań symbolicznych. Kolejne argumenty wiersza poleceń
       powinny być plikami lub katalogami do przeszukania,  aż  do  pierwszego  argumentu  rozpoczynającego  się
       znakiem  "-" albo argumentu "(" lub "!". Argumenty te (razem z następnymi) są rozpoznawane jako wyrażenie
       opisujące to, co ma zostać przeszukane. Jeśli nie zostanie podana ścieżka, użyty będzie bieżący  katalog.
       W  przypadku  braku  wyrażenia, używane jest domyślne wyrażenie -print (lecz wówczas i tak zapewne lepsze
       byłoby skorzystanie z -print0).

       Niniejsza strona podręcznika opisuje "opcje" w liście wyrażeń. Opcje te kontrolują zachowanie find,  lecz
       są  podane zaraz za ostatnią nazwą ścieżkową. Z kolei pięć "prawdziwych" opcji (-H, -L, -P, -D i -O) musi
       pojawić się przed ścieżką, oczywiście jeśli okażą się potrzebne.  Podwójny  dywiz  --  może  posłużyć  do
       zasygnalizowania, że pozostałe argumenty nie są opcjami (choć jeśli w liście punktów startowych używa się
       masek, bezpieczniej jest zwykle poprzedzić je wszystkie "./" lub "/").

       -P     Nigdy nie podąża za dowiązaniami symbolicznymi. Jest to zachowanie domyślne. Gdy find sprawdza lub
              wypisuje  informacje  o pliku, a jest on dowiązaniem symbolicznym, to użyta informacja powinna być
              wzięta z właściwości samego dowiązania symbolicznego.

       -L     Podąża za dowiązaniami symbolicznymi. Gdy find sprawdza lub  wypisuje  informacje  o  plikach,  to
              powinny  być  one  wzięte  z  właściwości pliku, na który wskazuje dowiązanie symboliczne, a nie z
              samego dowiązania (chyba, że jest to zerwane dowiązanie symboliczne lub find  nie  może  sprawdzić
              pliku,  na który wskazuje dowiązanie). Użycie tej opcji implikuje -noleaf. Jeśli użyje się później
              -P, to -noleaf wciąż będzie  działać.  Jeśli  działa  -L,  a  find  podczas  wyszukiwania  odkryje
              dowiązanie  symboliczne  do  podkatalogu,  to  przeszukany  zostanie podkatalog, na który wskazuje
              dowiązanie.

              Gdy działa opcja -L, to wskazanie -type zawsze będzie dopasowane w odniesieniu do typu  pliku,  na
              który  wskazuje  dowiązanie,  zamiast do samego dowiązania (chyba, że jest ono zerwane). Użycie -L
              spowoduje, że wskazanie -lname i -ilname zawsze zwróci fałsz.

       -H     Nie podąża za dowiązaniami symbolicznymi, z wyjątkiem przetwarzania argumentów wiersza  polecenia.
              Gdy  find  sprawdza  lub wypisuje informacje o plikach, powinny być one brane z właściwości samego
              dowiązania symbolicznego. Jedynym wyjątkiem jest sytuacja, gdy plik  podany  w  wierszu  polecenia
              jest  dowiązaniem symbolicznym i może być ono rozwiązane. Wówczas informacja jest brana z tego, na
              co wskazuje dowiązanie (tj. podąża się  za  dowiązaniem).  Informacja  z  samego  dowiązania  jest
              używana  w  razie, gdy plik, na który wskazuje dowiązanie nie może być sprawdzony. Gdy działa -H i
              jedna ze  ścieżek  podanych  w  wierszu  polecenia  jest  dowiązaniem  symbolicznym  do  katalogu,
              sprawdzana jest zawartość tego katalogu (zapobiegnie temu skorzystanie z -maxdepth 0).

       Jeśli  podano  więcej  niż  jedną  z  opcji -H, -L i -P, każda przesłania poprzednią - liczy się ostatnia
       podana w wierszu polecenia, Ponieważ opcja -P jest domyślna, powinno się ją uznać za działającą, chyba że
       podano -H lub -L.

       GNU find często sprawdza status plików podczas przetwarzania samego wiersza polecenia, przed rozpoczęciem
       właściwego przeszukiwania. Opcje te mogą również wpływać na sposób przetworzenia argumentów.  Co  więcej,
       istnieje wiele testów, które porównują pliki z wiersza polecenia do aktualnie rozważanego pliku. W każdym
       przypadku,  plik  podany  w  wierszu  polecenia  będzie  sprawdzony i niektóre z jego właściwości zostaną
       zachowane. Jeżeli nazwany plik jest w rzeczywistości dowiązaniem symbolicznym, a działa opcja -P (lub nie
       podano -H, ani  -L),  to  informacja  użyta  do  porównania  zostanie  wzięta  z  właściwości  dowiązania
       symbolicznego.  W przeciwnym razie, właściwości będą wzięte z pliku, na który wskazuje dowiązanie. Jeżeli
       find nie może podążyć za  dowiązaniem  (np.  ponieważ  ma  niewystarczające  uprawnienia  lub  dowiązanie
       wskazuje na nieistniejący plik) zostaną użyte właściwości samego dowiązania.

       Gdy  działa  opcja  -H  lub  -L, rozwiązywane są wszystkie dowiązania symboliczne podane jako argument do
       opcji -newer, a znaczniki czasowe będą wzięte z pliku, na który wskazuje dowiązanie symboliczne. To  samo
       dotczy opcji -newerXY, -anewer i -cnewer.

       Opcja  -follow  ma  podobne działanie do -L, choć działa tylko w miejscu pojawienia się (tj. jeśli -L nie
       jest użyte, a skorzystano z -follow, to  wszystkie  dowiązania  symboliczne  pojawiające  się  w  wierszu
       poleceń za -follow zostaną rozwiązane, lecz umieszczone wcześniej - nie).

       -D opcje-debugowania
              Wyświetla  informacje  diagnostyczne - może okazać się przydatna do zdiagnozowania przypadków, gdy
              find nie robi tego czego od niego oczekujemy.  Lista  opcji  debugowania  powinna  być  oddzielona
              przecinkami.  Nie  gwarantuje  się kompatybilności opcji debugowania pomiędzy wydaniami findutils.
              Pełną listę prawidłowych opcji debugowania wyświetli polecenie find -D help. Są to między innymi:

              help   Objaśnia opcje debugowania

              tree   Wyświetla drzewko wyrażeń w formie oryginalnej i zoptymalizowanej.

              stat   Wyświetla komunikaty o plikach sprawdzanych przez wywołania systemowe stat i lstat. Program
                     find stara się zminimalizować liczbę takich wywołań.

              opt    Wyświetla informacje diagnostyczne związane z optymalizację drzewka  wyrażeń;  patrz  opcja
                     -O.

              rates  Wyświetla podsumowanie wskazujące częstość sukcesu lub porażki każdego wskazania.

       -Opoziom
              Włącza  optymalizację  zapytań.  Program find zmienia kolejność testów, aby przyspieszyć wykonanie
              przy zachowaniu efektu końcowego; tj. nie zmienia się wskazań z efektami ubocznymi w  stosunku  do
              każdego innego. Optymalizacje są przeprowadzane zgodnie z poniższymi poziomami optymalizacji.

              0      Odpowiednik poziomu optymalizacji 1.

              1      Jest  to  domyślny  poziom optymalizacji i odnosi się do tradycyjnego zachowania. Kolejność
                     wyrażeń jest zmieniana w ten sposób, że testy działające tylko na nazwach plików (np. -name
                     lub -regex) są wykonywane jako pierwsze.

              2      Testy -type lub -xtype są wykonywane po testach działających tylko na nazwach plików,  lecz
                     przed  testami  wymagającymi  informacji  z i-węzła. W wielu współczesnych wersjach Uniksa,
                     typy plików są zwracane przez readdir(), a więc są szybsze do  sprawdzenia  niż  wskazówki,
                     które wymagają uprzedniego wykonania stat.

              3      Na  tym  poziomie  optymalizacji, włączona jest pełna optymalizacja, działająca w oparciu o
                     koszt zapytań. Kolejność testów jest modyfikowana w taki sposób, aby tanie (szybkie)  testy
                     były  przeprowadzane  wcześniej,  a  droższe - później, jeśli to konieczne. Wewnątrz każdej
                     grupy  kosztowej,  wskazania  są  przeprowadzane   wcześniej   lub   później,   zgodnie   z
                     prawdopodobieństwem  ich  powodzenia.  Przy  -o,  wskazania  o większym prawdopodobieństwie
                     sukcesu są przeprowadzane wcześniej,  a  przy  -a,  wcześniej  wykonywane  są  wskazania  o
                     większym prawdopodobieństwie niepowodzenia.

              Optymalizator  działający  w  oparciu o koszty, ma z góry przyjęte założenie o prawdopodobieństwie
              powodzenia danego testu. W niektórych przypadkach,  prawdopodobieństwo  bierze  pod  uwagę  naturę
              testu (np. -type f powinien kończyć się sukcesem częściej niż -type c). Optymalizator jest jeszcze
              w  fazie  kalkulacji.  Jeśli  nie poprawi to wydajności programu find, zostanie ponownie usunięty.
              Podobnie,  optymalizacje,  które  udowodnią  swą  rzetelność,  spójność  i  efektywność,  mogą   w
              przyszłości  zostać  włączone  na  niższym  poziomie  optymalizacyjnym. Jednak domyślne zachowanie
              (poziom optymalizacji 1) nie zmieni się  w  wydaniach  4.3.x.  Zestaw  testów  findutils  wykonuje
              wszystkie  testy  find  na każdym poziomie optymalizacji, aby mieć pewność, że wyniki pozostają te
              same.

WYRAŻENIA

       Wyrażenie jest złożone z opcji (które tyczą się raczej ogólnego działania, niż przetwarzania  konkretnego
       pliku  i zawsze zwracają prawdę), testów (które sprawdzają wartość prawdy lub fałszu) i akcji (które mają
       efekty uboczne i  zwracają  wartość  prawdziwą  lub  fałszywą);  wszystkie  te  elementy  są  rozdzielone
       operatorami. -and jest domyślnym operatorem, przyjmowanym w przypadku pominięcia go w jawnym zapisie.

       Jeśli  wyrażenie  nie  zawiera  innych  akcji  niż -prune, to na wszystkich plikach, dla których jest ono
       prawdziwe, wykonywany jest -print.

   OPCJE
       Wszystkie opcje zawsze zwracają prawdę. Z wyjątkiem -daystart, -foolow i -regextype,  opcje  wpływają  na
       wszystkie testy, w tym testy podane przed opcją. Jest tak, ponieważ opcje są przetwarzane przy parsowaniu
       wiersza  polecenia,  a testy nie są wykonywane, do czasu działania na plikach. Opcje -daystart, -follow i
       -regextype wyróżniają się pod tym względem, ponieważ wpływają jedynie na testy pojawiające się w  wierszu
       polecenia  za  nimi.  Z tego powodu, najprzejrzyściej jest umieszczać je na początku wyrażenia. Jeśli tak
       się nie stanie, wypisywane jest ostrzeżenie.

       -d     Synonim -depth, ze względu na kompatybilność z FreeBSD, NetBSD, MacOS X i OpenBSD.

       -daystart
              Mierzy czasy (dla -amin, -atime, -cmin, -ctime, -mmin i -mtime) od dziś, a nie od 24 godzin  temu.
              Opcja ta wpływa jedynie na testy, pojawiające się później w wierszu polecenia.

       -depth Przetwarza  zawartość  każdego katalogu przed samym katalogiem jako takim. Akcja -delete implikuje
              także -depth.

       -follow
              Przestarzałe, proszę zamiast tego użyć opcji  -L.  Rozwiązuje  dowiązania  symboliczne.  Implikuje
              -noleaf.  Opcja  -foolow działa jedynie na testy pojawiające się w wierszu polecenia za nią. O ile
              nie poda się opcji -H lub -L, pozycja opcji -follow zmienia zachowanie wskazania  -newer  -  pliki
              będące argumentami -newer zostaną rozwiązane, jeśli są dowiązaniami symbolicznymi. To samo dotyczy
              opcji -newerXY, -anewer and -cnewer. Podobnie, wskazanie -type zostanie zawsze dopasowane do pliku
              wskazanego przez dowiązanie symboliczne, zamiast do samego dowiązania. Użycie -follow powoduje, że
              wskazania -lname i -ilname zawsze zwracają fałsz.

       -help, --help
              Wypisuje sposób użycia find z wiersza poleceń i kończy pracę programu.

       -ignore_readdir_race
              Zwykle  find  wyświetla  błąd,  gdy  nie  uda  mu się pobrać statusu pliku. Po podaniu tej opcji i
              usunięciu pliku pomiędzy odczytem przez find nazwy pliku z  katalogu  i  momentem  próby  pobrania
              statusu,  błąd  nie zostanie wyświetlony. Dotyczy to również plików i katalogów podanych w wierszu
              polecenia. Opcja ta zaczyna działać już przy odczycie wiersza polecenia, co oznacza, że nie da się
              przeszukiwać systemu plików częściowo z opcją włączoną i częściowo z  wyłączoną  (aby  to  zrobić,
              konieczne  jest  dwukrotne  uruchomienie  polecenia  find, jeden raz z opcją włączoną, a drugi - z
              wyłączoną).

       -maxdepth głębokość
              Schodzi maksymalnie o głębokość (nieujemna liczba  całkowita)  poziomów  katalogów  od  argumentów
              wiersza poleceń.  -maxdepth 0
               oznacza, by testy i akcje stosować tylko do argumentów wiersza poleceń.

       -mindepth głębokość
              Nie  stosuje  testów  lub  akcji  w poziomach niższych niż głębokość (nieujemna liczba całkowita).
              mindepth 1 oznacza przetwarzanie wszystkich plików poza argumentami wiersza poleceń.

       -mount Nie zagłębia się w katalogi na innych systemach plików. Jest  to  alternatywna  nazwa  dla  -xdev,
              stworzona dla zgodności z innymi wersjami find.

       -noignore_readdir_race
              Wyłącza efekt opcji -ignore_readdir_race.

       -noleaf
              Zakazuje optymalizacji wykonywanej przez zakładanie, że katalogi zawierają o dwa podkatalogi mniej
              niż  ich  licznik  dowiązań  zwykłych  (twardych).  Opcja  ta jest wymagana podczas przeszukiwania
              systemów plików, które nie używają uniksowej konwencji  wiązania  katalogów,  takich  jak  systemy
              plików  CD-ROM,  MS-DOS  czy  wolumeny  AFS.  Każdy katalog w normalnym systemie uniksowym zawiera
              przynajmniej dwa twarde dowiązania: jego nazwę i ".". Dodatkowo, jego podkatalogi  będą  do  niego
              dowiązane  za  pomocą  ".."  każdy.   Gdy  find testuje katalog po zbadaniu funkcją stat o 2 mniej
              podkatalogów niż licznik dowiązań, wie, że reszta wpisów jest  niekatalogowa  (są  to  "liście"  -
              "leaf"  w  drzewie katalogów). Jeśli testowane mają być tylko nazwy plików, to nie ma potrzeby ich
              sprawdzać; daje to znaczące przyspieszenie.

       -regextype typ
              Zmienia składnię wyrażeń regularnych rozumianych przez testy -regex i  -iregex  podane  później  w
              wierszu  poleceń.  Obecnie zaimplementowanymi typami są: emacs (domyślny), posix-awk, posix-basix,
              posix-egrep i posix-extended.

       -version, --version
              Wypisuje wersję i kończy pracę.

       -warn, -nowarn
              Odpowiednio: włącza lub wyłącza ostrzeżenia. Odnoszą się one wyłącznie do użycia wiersza  poleceń,
              a  nie  do  warunków  zastanych  przez  find podczas przeszukiwania katalogów. Domyślne zachowanie
              odpowiada -warn gdy standardowym wejściem jest tty i -nowarn w przeciwnym wypadku.

       -xdev  Nie zagłębia się w katalogi na innych systemach plików.

   TESTY
       Niektóre testy np. -newerXY i -samefile pozwalają na porównanie pomiędzy aktualnie sprawdzanym plikiem  i
       plikiem odniesienia podanym w wierszu polecenia. Gdy te testy są używane, interpretacja pliku odniesienia
       zależy od opcji -H, -L i -P i podanej wcześniej -follow, lecz plik odniesienia jest sprawdzany tylko raz,
       przy  przetwarzaniu  wiersza  polecenia. Jeśli plik odniesienia nie może zostać sprawdzony (np. wywołanie
       systemowe stat(2) nie powiedzie się na nim), wyświetlany jest błąd, a find wychodzi  z  niezerowym  kodem
       zakończenia.

       Wartości numeryczne mogą być podawane jako

       +n     dla większych niż n,

       -n     dla mniejszych niż n,

       n      dla równych n.

       -amin n
              Dostęp do pliku nastąpił ostatnio n minut temu.

       -anewer plik
              Do pliku ostatnio dostano się wcześniej niż plik został zmodyfikowany. Jeśli plik jest dowiązaniem
              i  działa  jedna  z  opcji -L lub -H, to używany jest zawsze czas dostępu pliku, na który wskazuje
              dowiązanie.

       -atime n
              Dostęp do pliku miał miejsce n*24 godzin temu. Gdy find dowie się jak wiele okresów  24-godzinnych
              temu  dostano  się  do  pliku,  ignorowana  jest część ułamkowa; tak więc aby dopasować -atime +1,
              dostęp do pliku musiał być co najwyżej dwa dni temu.

       -cmin n
              Status pliku został zmieniony n minut temu.

       -cnewer plik
              Status pliku był ostatnio zmieniony wcześniej niż zmodyfikowano plik. Jeśli plik jest  dowiązaniem
              i działa jedna z opcji -L lub -H, to używany jest zawsze czas modyfikacji pliku, na który wskazuje
              dowiązanie.

       -ctime n
              Status  pliku został zmieniony n*24 godzin temu. Proszę zapoznać się z komentarzami do -atime, aby
              zrozumieć wpływ zaokrąglenia na interpretację czasu modyfikacji pliku.

       -empty Plik jest pusty i jest albo zwykłym plikiem, albo katalogiem.

       -executable
              Dopasowuje pliki wykonywalne i katalogi przeszukiwalne (w sensie tłumaczenia nazw  pliku).  Bierze
              pod  uwagę listy kontroli dostępu (ACL) i inne zasady praw dostępu, które są ignorowane przez test
              -perm.  Ten test używa wywołania systemowego access(2)  i  może  być  zmylony  przez  serwery  NFS
              używające  mapowania UID (lub root-squashing), gdyż wiele systemów implementuje access(2) w jądrze
              klienta i nie może użyć informacji mapowania UID po stronie  serwera.  Ponieważ  test  ten  działa
              tylko  w  oparciu  o wywołanie systemowe access(2), nie ma gwarancji, że plik dla którego test się
              powiódł, może być w rzeczywistości wykonany.

       -false Zawsze fałszywe.

       -fstype typ
              Plik jest na systemie plików o typie typ. Prawidłowe typy systemów plików różnią  się  na  różnych
              wersjach  Uniksa;  ich  niekompletna lista, która jest przyjmowana w części systemów to: ufs, 4.2,
              4.3, nfs, tmp, mfs, S51K, S52K.  Aby zobaczyć typy swoich systemów plików, należy użyć  -printf  z
              dyrektywą %F.

       -gid n Numeryczny GID pliku to n.

       -group nazwag
              Plik należy do grupy nazwag (numeryczny GID jest dopuszczalny).

       -ilname wzorzec
              Podobnie  jak  -lname, lecz dopasowanie jest niezależne od wielkości znaków. Jeśli działa opcja -L
              lub -follow, test zwraca fałsz, chyba że dowiązanie symboliczne jest zerwane.

       -iname pattern
              Podobnie jak -name, lecz dopasowanie jest niezależne od wielkości znaków. Na przykład wzorce "fo*"
              i "F??" dopasują nazwy plików "Foo", "FOO", "foo", "fOo", itp. W tych wzorcach, w  przeciwieństwie
              do  uzupełniania  nazw plików przez powłokę, początkowe "." może być dopasowane za pomocą "*" tzn.
              find -name *bar dopasuje plik  ".foobar".  Proszę  zwrócić  uwagę,  że  wzorce  należy  zacytować,
              ponieważ w przeciwnym wypadku maski zostaną zinterpretowane przez powłokę.

       -inum n
              Plik ma numer i-węzła n. Zwykle łatwiej jest użyć testu -samefile.

       -ipath wzorzec
              Zachowuje  się  w  ten  sam  sposób,  co -iwholename. Opcja jest przestarzała, więc proszę jej nie
              używać.

       -iregex wzorzec
              Podobne do -regex, lecz dopasowanie jest niewrażliwe na rozmiar liter.

       -ilname pattern
              Podobne do -wholename, lecz dopasowania są niewrażliwe na rozmiar liter.

       -links n
              Plik ma n dowiązań.

       -lname wzorzec
              Plik  jest  dowiązaniem  symbolicznym,  którego  zawartość  odpowiada  wzorcowi  powłoki  wzorzec.
              Metaznaki  nie  traktują  specjalnie  "/" i ".". Jeśli działa opcja -L lub -follow, to test zwraca
              fałsz, chyba że dowiązanie symboliczne jest zerwane.

       -mmin n
              Dane pliku były ostatnio modyfikowane n minut temu.

       -mtime n
              Dane pliku zostały ostatnio zmodyfikowane n*24 godziny temu. Proszę zapoznać się  komentarzami  do
              opcji -atime, aby zrozumieć, w jaki sposób zaokrąglanie wpływa na interpretację czasów modyfikacji
              pliku.

       -name wzorzec
              Część  bazowa nazwy pliku (ścieżka bez początkowych katalogów) dopasowuje wzorzec powłoki wzorzec.
              Metaznaki ("*",  "?"  i  "[]")  dopasowują  "."  na  początku  nazwy  bazowej  (wprowadzono  to  w
              findutils-4.2.2;  patrz  rozdział  ZGODNOŚĆ  ZE STANDARDAMI). Nawiasy klamrowe nie są rozpoznawane
              jako specjalne, niezależnie od faktu, że  niektóre  powłoki,  w  tym  Bash,  nadają  mu  specjalne
              znaczenie  we  wzorcach  powłoki.  Dopasowanie  nazwy  pliku jest przeprowadzane za pomocą funkcji
              bibliotecznej  fnmatch(3).  Proszę  nie  zapomnieć  ująć  wzorca  w   cudzysłowy,   aby   zapobiec
              interpretacji go przez powłokę.

       -newer plik
              Plik  został  zmodyfikowany  później niż plik. Jeśli plik jest dowiązaniem symbolicznym i działają
              opcje -H lub -L, to używany jest zawsze czas modyfikacji pliku, na który wskazuje dowiązanie.

       -newerXY odniesienie
              Porównuje znacznik czasowy bieżącego pliku z odniesieniem. Argument odniesienie jest zwykle  nazwą
              pliku  (i  jeden  z  jego  znaczników jest użyty do porównania), lecz może być to również łańcuch,
              opisujący czas bezwzględny. X i Y mają być zastąpione innymi literami, które wybierają który  czas
              pliku (X) i odniesienia (Y) jest używany do porównania.
              a   Czas dostępu (ang. access) pliku odniesienie
              B   Czas powstania (ang. birth) pliku odniesienie
              c   Czas zmiany (ang. change) statusu i-węzła odniesienia
              m   Czas modyfikacji pliku odniesienie
              t   odniesienie jest interpr. bezpośrednio jako czas (ang. time)

              Niektóre  kombinacje  są  nieprawidłowe,  np.  X  nie  może  być  t.  Część  kombinacji  nie  jest
              zaimplementowanych we wszystkich systemach, do takich należy np. B. Jeśli poda  się  nieprawidłową
              lub   nieobsługiwaną   kombinację   XY,  otrzymuje  się  błąd  krytyczny.  Określenia  czasowe  są
              interpretowane jak argument do opcji -d GNU date. Jeżeli czas powstania pliku odniesienia nie może
              być ustalony, to przy próbie użycia go wynikiem jest komunikat o błędzie  krytycznym.  Jeśli  poda
              się  test, odnoszący się do czasu powstania sprawdzanych plików, to test ten nie powiedzie się dla
              wszystkich plików, których czas ten jest nieznany.

       -nogroup
              Do numerycznego GID pliku nie pasuje żadna grupa.

       -nouser
              Do numerycznego UID pliku nie pasuje żaden użytkownik.

       -path wzorzec
              Nazwa pliku odpowiada wzorcowi powłoki wzorzec. Metaznaki nie traktują specjalnie "/" lub "."; tak
              więc na przykład,
                        find . -path "./sr*sc"
              wypisze wpis katalogowy o nazwie "./src/misc" (jeśli taki istnieje).  Aby zignorować  całe  drzewo
              katalogowe,  proszę  użyć -prune, zamiast sprawdzać każdy plik w drzewie. Na przykład, aby pominąć
              katalog "src/emacs" i wszystkie jego pliki i  katalogi  oraz  wypisać  nazwy  innych  znalezionych
              plików, proszę użyć:
                        find . -path ./src/emacs -prune -o -print
              Proszę  zauważyć,  że  test  dopasowuje  wzorzec  do  całej  nazwy  pliku,  poczynając  od  punktu
              początkowego, podanego w wierszu polecenie. Jeśli punkt startowy jest ścieżką absolutną,  sens  ma
              zastosowanie również wyłącznie ścieżki absolutnej. Oznacza to, że poniższe polecenie nigdy niczego
              nie dopasuje.
                        find bar -path /foo/bar/myfile -print
              Wskazanie  -path  jest  obsługiwane  również  przez  find HP-UX i zostanie uwzględnione w kolejnej
              wersji standardu POSIX.

       -perm prawa
              Bity praw pliku są dokładnie takie, jak prawa (w  formie  ósemkowej  lub  symbolicznej).  Ponieważ
              wymagane  jest  dokładne dopasowanie, stosowanie tej formuły w postaci symbolicznej wymaga podania
              dość skomplikowanego łańcucha praw. Na przykład -perm g=w dopasuje jedynie  pliki  o  trybie  0020
              (tj.  te,  których prawo zapisu dla grupy jest jedynym ustawionych uprawnieniem). Prawdopodobnie w
              takim przypadku lepsze jest użycie form "/" lub "-", np. -perm -g=w, które dopasowuje każdy plik z
              prawem zapisu dla grupy. Lepsze przykłady podano w rozdziale PRZYKŁADY.

       -perm -prawa
              Wszystkie bity praw pliku są ustawione dla pliku. Akceptowane są tryby w  postaci  symbolicznej  i
              jest to zwykle wygodniejsza forma do użycia. W przypadku korzystania z postaci symbolicznej trzeba
              podać "u", "g" lub "o". Lepsze przykłady podano w rozdziale PRZYKŁADY.

       -perm /prawa
              Ustawiony  jest  dowolny  z  bitów  praw  pliku.  Akceptowane  są  tryby w postaci symbolicznej. W
              przypadku korzystania z postaci symbolicznej trzeba podać  "u",  "g"  lub  "o".  Lepsze  przykłady
              podano w rozdziale PRZYKŁADY. Jeśli nie ustawiono bitów praw w trybie, to test dopasuje każdy plik
              (zgodnie z zamysłem, aby pozostać w zgodzie z zachowaniem -perm -000).

       -perm +prawa
              Przestarzałe,  stara  metoda szukania plików z bitami uprawnień zgodnymi z prawami. Obecnie należy
              używać -perm /prawa. Próba użycia + w składni  z  postacią  symboliczną,  da  zaskakujące  wyniki.
              Przykładowo,  "+u+x"  jest  prawidłowym  trybem symbolicznym (odpowiednikiem +u,+x np. 0111) i nie
              zostanie przetłumaczony na -perm +prawa, lecz na dokładne określenie praw -perm prawa,  dopasowane
              zostaną  więc  jedynie  plik  o  uprawnieniach  dokładnie  0111, zamiast wszystkich plików z bitem
              wykonywalności. Jeśli akapit ten nie jest jasny, to nic dziwnego - proszę używać po  prostu  -perm
              /tryb.  Ta  postać testu -perm jest przestarzała, ponieważ POSIX wymaga interpretacji początkowego
              "+" jako części postaci symbolicznej - dlatego właśnie obecnie korzystamy z "/".

       -readable
              Dopasowuje odczytywalne pliki. Bierze się tu pod uwagę listy kontroli dostępu (ACL) i inne  sprawy
              związane  z  uprawnieniami, które -perm ignoruje. Ten test używa wywołania systemowego access(2) i
              może być zmylony przez serwery NFS  używające  mapowania  UID  (lub  root-squashing),  gdyż  wiele
              systemów  implementuje  access(2)  w  jądrze  klienta  i nie może użyć informacji mapowania UID po
              stronie serwera.

       -regex wzorzec
              Nazwa pliku odpowiada wyrażeniu regularnemu wzorzec. Dopasowanie stosuje się do całej ścieżki, nie
              dla przeszukiwanej. Na przykład, aby dopasować plik o  nazwie  "./fubar3",  można  użyć  wyrażenia
              regularnego  ".*bar"  lub  ".*b.*3", lecz nie "f.*r3". Wyrażenia regularne rozumiane przez find są
              domyślnie wyrażeniami regularnymi Emacsa, lecz można to zmienić opcją -regextype.

       -samefile nazwa
              Plik odnosi się do tego samego i-węzła co nazwa. Gdy  działa  opcja  -L,  obejmuje  to  dowiązania
              symboliczne.

       -size n[c|w|b|k|M|G]
              Plik używa n jednostek miejsca. Można dodać następujące przyrostki:

              b      bloki 512-bajtowe (wartość domyślna, gdy nie użyto przyrostka)

              c      bajty

              w      słowa dwubajtowe

              k      kilobajty (1024 bajtów)

              M      megabajty (1048576 bajtów)

              G      gigabajty (1073741824 bajtów)

              Rozmiar  nie obejmuje bloków pośrednich, lecz wlicza bloki w tzw. plikach rzadkich, które nie są w
              rzeczywistości zaalokowane. Proszę pamiętać, że określenia  formatu  "%k"  i  "%b"  akcji  -printf
              obsługują  pliki  rzadkie  w inny sposób. Przyrostek "b" oznacza zawsze bloki 512-bajtowe, a nigdy
              nie jednokilobajtowe, co różni się od zachowania -ls.

       -true  Zawsze prawda.

       -type c
              Plik jest typu c:

              b      blokowy (buforowany) plik specjalny

              c      znakowy (niebuforowany) plik specjalny (ang. character)

              d      katalog (ang. directory)

              p      łącze nazwane (FIFO, ang. pipe)

              f      zwykły plik (ang. file)

              l      dowiązanie symboliczne (link); nigdy nie jest to prawda, gdy działa opcja -L  lub  -foolow,
                     chyba  że dowiązanie jest zerwane. Aby wyszukiwać dowiązania symboliczne przy korzystaniu z
                     opcji -L, należy użyć -xtype.

              s      gniazdo (ang. socket)

              D      door (Solaris)

       -uid n Numeryczny UID pliku to n.

       -used n
              Do pliku ostatnio dostano się n dni po zmianie jego statusu.

       -user unazwa
              Właścicielem pliku jest użytkownik unazwa (numeryczny UID jest tu dozwolony).

       -wholename wzorzec
              Patrz -path. Ta alternatywa jest mniej przenośna niż wspomniana opcja.

       -writable
              Dopasowuje zapisywalne pliki. Bierze pod uwagę listy kontroli dostępu (ACL)  i  inne  zasady  praw
              dostępu,  które  są ignorowane przez test -perm.  Ten test używa wywołania systemowego access(2) i
              może być zmylony przez serwery NFS  używające  mapowania  UID  (lub  root-squashing),  gdyż  wiele
              systemów  implementuje  access(2)  w  jądrze  klienta  i nie może użyć informacji mapowania UID po
              stronie serwera.

       -xtype c
              Jest to to samo co -type, chyba że plik jest dowiązaniem symbolicznym. Dla dowiązań symbolicznych:
              jeśli podano -H lub -P, jest prawdziwe gdy plik jest dowiązaniem do pliku typu c; jeśli podano -L,
              jest prawdziwe, jeśli c to "l". Innymi słowy,  dla  dowiązań  symbolicznych  -xtype  sprawdza  typ
              pliku, którego nie sprawdza -type.

   AKCJE
       -delete
              Usuwa  pliki;  prawdziwe  gdy  usunięcie  powiedzie się. Jeśli nie, to wypisywany jest błąd. Jeśli
              -delete zawiedzie, kod zakończenia find będzie niezerowy (gdy program ostatecznie  się  zakończy).
              Użycie -delete automatycznie włącza opcję -depth.

              Ostrzeżenie:  Proszę  nie  zapomnieć,  że wiersz poleceń find jest wykonywany jako wyrażenie, więc
              umieszczenie -delete jako  pierwszego  spowoduje  próbę  usunięcie  wszystkiego  poniżej  podanych
              punktów  początkowych.  Podczas  testowania  wiersza polecenia find, którą chce się później użyć z
              -delete, proszę podać  bezpośrednio  -depth,  aby  uniknąć  późniejszych  niespodzianek.  Ponieważ
              -delete implikuje -depth, to nie da się użyć -prune i -delete w sposób przydatny.

       -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, wszędzie, gdzie wystąpi ona w wierszu
              polecenia, nie tylko w argumentach, gdzie jest ona sama, jak w niektórych wersjach find.   Obydwie
              te konstrukcje być może będą wymagały zacytowania (znakiem "\") aby uchronić je przed rozwinięciem
              przez  powłokę.  Więcej  informacji  na  temat  użycia  opcji  -exec,  zawiera rozdział PRZYKŁADY.
              Polecenie jest  wykonywane  w  katalogu  startowym.  W  związku  z  akcją  -exec  występują  pewne
              nieuniknione zagrożenia związane z bezpieczeństwem, należy zamiast niej używać -execdir.

       -exec polecenie {} +
              Ten  wariant  akcji  -exec,  wykonuje podane polecenie na wybranych plikach, lecz wiersz polecenia
              jest budowany przez dodawanie każdej wybranej nazwy pliku na  końcu  -  całkowita  liczba  wywołań
              polecenia będzie znacznie mniejsza, niż liczba dopasowanych plików. Wiersz polecenia jest budowany
              w ten sam sposób, w jaki xargs buduje swój. W poleceniu dozwolone jest wystąpienie jedynie jednych
              nawiasów "{}". Polecenie jest wykonywane w katalogu początkowym.

       -execdir polecenie ;

       -execdir polecenie {} +
              Podobnie  jak -exec, lecz podane polecenie jest uruchamiane z podkatalogu zawierającego dopasowany
              plik, który nie jest zwykle tożsamy z katalogiem, w którym  uruchomiono  find.  Jest  to  o  wiele
              bezpieczniejsza  metoda  wywoływania  poleceń,  ponieważ  zapobiega  wyścigowi  przy rozwiązywaniu
              ścieżek do dopasowanych plików. Podobnie jak przy akcji  -exec,  postać  z  "+"  -execdir  zbuduje
              wiersz  poleceń  aby  przetworzyć  więcej  niż  jeden  dopasowany  plik, lecz każde dane wywołanie
              polecenia wypisze jedynie pliki, które istnieją w tym samym podkatalogu. Przy używaniu tej  opcji,
              trzeba  się  upewnić,  że  zmienna  środowiskowa  $PATH  nie  odnosi  się do "." - w takim wypadku
              atakujący mógłby uruchomić dowolne polecenie, przez pozostawienie pliku o  odpowiedniej  nazwie  w
              katalogu, w którym zostanie uruchomione -execdir. To samo tyczy się wpisów w $PATH, które są puste
              lub nie są bezwzględną nazwą katalogu.

       -fls plik
              Prawda;  podobne  do -ls, lecz zapisuje do pliku jak -fprint. Plik wyjściowy jest tworzony zawsze,
              nawet jeśli wskazanie nigdy nie pasuje. W rozdziale NIETYPOWE NAZWY PLIKÓW znajdują się informacje
              nt. obsługi nietypowych nazw plików.

       -fprint plik
              Prawdziwe; wypisuje pełną nazwę pliku do pliku. Jeśli plik nie istnieje w czasie  działania  find,
              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. Plik wyjściowy jest tworzony zawsze, nawet jeśli wskazanie nigdy nie pasuje.  W  rozdziale
              NIETYPOWE NAZWY PLIKÓW znajdują się informacje nt. obsługi nietypowych nazw plików.

       -fprint0 plik
              Prawda;  podobne  do  -print0,  lecz  zapisuje  do pliku jak -fprint. Plik wyjściowy jest tworzony
              zawsze, nawet jeśli wskazanie nigdy nie pasuje. W rozdziale NIETYPOWE NAZWY  PLIKÓW  znajdują  się
              informacje nt. obsługi nietypowych nazw plików.

       -fprintf plik format
              Prawda;  podobne  do  -printf,  lecz  zapisuje  do pliku jak -fprint. Plik wyjściowy jest tworzony
              zawsze, nawet jeśli wskazanie nigdy nie pasuje. W rozdziale NIETYPOWE NAZWY  PLIKÓW  znajdują  się
              informacje nt. obsługi nietypowych nazw plików.

       -ls    Prawdziwe;  wypisuje  plik bieżący w formacie ls -dils 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.  W  rozdziale  NIETYPOWE  NAZWY  PLIKÓW  znajdują  się  informacje nt. obsługi
              nietypowych nazw plików.

       -ok polecenie ;
              Jak -exec, lecz najpierw pyta użytkownika. Jeśli się on zgodzi - uruchamia polecenie. W przeciwnym
              wypadku  jedynie  zwraca  fałsz.  Gdy  polecenie  jest  uruchomione,  standardowe   wejście   jest
              przekierowane z /dev/null.

              Odpowiedź  na  pytanie  jest  dopasowywane  do  pary  wyrażeń  regularnych, aby określić, czy jest
              pozytywna czy negatywna. Wyrażenie to jest pozyskiwane z systemu,  jeśli  ustawiona  jest  zmienna
              środowiskowa  POSIXLY_CORRECT,  a  w  przeciwnym  wypadku - z katalogu tłumaczeń komunikatów find.
              Jeśli system nie posiada odpowiednich definicji, użyta będzie własna  definicja  finda.  W  każdym
              przypadku,   interpretacja   wyrażenia  regularnego  będzie  zależała  od  zmiennej  środowiskowej
              "LC_CTYPE" (klasy znakowe) i "LC_COLLATE" (przedziały znaków i klasy równoważności).

       -okdir polecenie ;
              Jak -execdir, lecz najpierw wyświetlane jest pytanie, podobnie jak przy -ok. Jeśli użytkownik  nie
              zgodzi  się,  zwraca  jedynie fałsz. Gdy polecenie jest uruchomione, jego standardowe wejście jest
              przekierowane z /dev/null.

       -print Prawdziwe; wypisuje pełną nazwę pliku na standardowe wyjście  razem  ze  znakiem  nowego  wiersza.
              Jeśli  wyjście  finda  jest  przekierowane  za  pomocą  potoku  do innego programu i istnieje choć
              najmniejsza możliwość, że nazwa  jednego  z  przeszukiwanych  plików  może  zawierać  znak  nowego
              wiersza,  należy  się  poważnie  zastanowić,  czy lepszym wyjściem nie będzie skorzystanie z opcji
              -print0,  zamiast  -print.  Rozdział  NIETYPOWE  NAZWY  PLIKÓW  zawiera  informacje  nt.   obsługi
              nietypowych znaków.

       -print0
              Prawdziwe;  wypisje  pełną  nazwę  pliku  na standardowe wyjście. Za nazwą daje znak null (zamiast
              znaku  nowego  wiersza  używanego  przez  -print.  Umożliwia  to  poprawne  wyświetlenie   plików,
              zawierających  w  nazwach znaki nowej linii w programach, przetwarzających wyjście finda. Opcja ta
              odpowiada opcji -0 programu xargs.

       -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 funkcji "printf" z C.
              Proszę zauważyć, że wiele z pól jest wypisywanych jako %s, a nie jako %d - może  to  oznaczać,  że
              flagi  nie  będą działać zgodnie z oczekiwaniami. Oznacza to również, że flaga "-" działa (wymusza
              wyrównanie do lewej pól). W przeciwieństwie do -print, -printf nie dodaje znaku nowego wiersza  do
              końca łańcucha. Sekwencje specjalne i dyrektywy to:

              \a     Dzwonek.

              \b     Backspace.

              \c     Wstrzymuje wypisywanie tego formatu i natychmiast wymiata wyjście.

              \f     Wysuw wiersza.

              \n     Nowy wiersz.

              \r     Powrót karetki.

              \t     Tabulacja pozioma.

              \v     Tabulacja pionowa.

              \0     ASCII NUL.

              \\     Literalny lewy ukośnik ("\").

              \NNN   Znak o kodzie ASCII NNN (ósemkowo).

              "\",  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" C.

              %Ak    Ostatni czas dostępu do pliku, w formacie określonym przez k,  którym  może  być  "@",  lub
                     dyrektywa dla funkcji C "strftime". 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" między
                     systemami.

                     @      Sekundy od 1 stycznia, 1970, 00:00 GMT, z częścią ułamkową.

                     Pola czasowe:

                     H      godzina (00..23)

                     I      godzina (01..12)

                     k      godzina ( 0..23)

                     l      godzina ( 1..12)

                     M      minuta (00..59)

                     p      przetłumaczone AM lub PM

                     r      czas, 12-godzinny (gg:mm:ss)

                     S      Sekundy (00.00 .. 61.00). Jest tu część ułamkowa.

                     T      czas, 24-godzinny (gg:mm:ss)

                     +      Data i czas, oddzielona "+" np "2004-04-28+22:22:05.0". Jest  to  rozszerzenie  GNU.
                            Czas  jest  podany  w  bieżącej strefie czasowej (na którą wpływ może mieć ustawiona
                            zmienna środowiskowa TZ). Pole sekundowe zawiera część ułamkową.

                     X      lokalna reprezentacja czasu (G:M:S)

                     Z      strefa czasowa (np. EDT), lub nic jeśli nie da się jej określić

                     Pola daty:

                     a      lokalny skrót nazwy tygodnia (nie..sob)

                     A      lokalna pełna nazwa tygodnia, zmiennej długości (niedziela..sobota)

                     b      lokalna skrócona nazwa miesiąca (sty..gru)

                     B      lokalna pełna nazwa miesiąca, zmiennej długości (styczeń..grudzień)

                     c      data i czas zgodnie z ustawieniami regionalnymi (sob, 4 lis 1989, 12:02:33).  Format
                            ten  jest  taki  sam w przypadku ctime(3) i w celu zachowania z nim kompatybilności,
                            nie ma tu części ułamkowej w polu sekund.

                     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.rrrr)

                     y      ostatnie dwie cyfry roku (00..99)

                     Y      rok (1970...)

              %b     Wielkość  przestrzeni  dysku,  użyta  dla  tego  pliku  w  blokach  512-bajtowych. Ponieważ
                     przestrzeń dyskowa jest alokowana w wielokrotnościach rozmiaru bloku systemu  plików,  jest
                     to  zwykle  więcej  niż  %s/512, lecz może być to również mniej, gdy plik jest tzw. plikiem
                     rzadkim.

              %c     Ostatni czas zmiany statusu pliku, w formacie zwróconym przez funkcję "ctime" 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ń.

              %D     Numer urządzenia, na którym istnieje plik (pole st_dev ze stat struct), dziesiętnie.

              %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 z nazwy pliku (wszystkie, poza ostatnim elementem). Jeśli  nazwa  pliku
                     nie zawiera ukośników (ponieważ jest to katalog bieżący), to %h daje ".".

              %H     Argument wiersza poleceń, pod którym plik został znaleziony.

              %i     Numer i-węzła pliku (dziesiętnie).

              %k     Wielkość  przestrzeni dysku, użyta dla tego pliku w blokach o wielkości 1K bajtów. Ponieważ
                     przestrzeń dyskowa jest alokowana w wielokrotnościach rozmiaru bloku systemu  plików,  jest
                     to  zwykle  więcej  niż %s/1024, lecz może być to również mniej, gdy plik jest tzw. plikiem
                     rzadkim.

              %l     Obiekt  dowiązania  symbolicznego  (pusty  łańcuch,  jeśli  plik   nie   jest   dowiązaniem
                     symbolicznym).

              %m     Bity  praw  pliku  (ósemkowo).  Ta  opcja  korzysta z "tradycyjnych" liczb, używanych przez
                     większość  implementacji  Uniksowych,  lecz  jeśli  dana,  używana  obecnie  implementacja,
                     wykorzystuje  dziwną kolejność ósemkowych bitów uprawnień, widoczna będzie różnica pomiędzy
                     prawami pliku i wynikiem %m. Zwykle chce się tu użyć początkowego  zera  i  aby  to  zrobić
                     należy skorzystać z flagi # (np. "%#m")

              %M     Uprawnienia  pliku  (w postaci symbolicznej, jak w ls). Ta dyrektywa jest obsługiwana przez
                     findutils 4.2.5 i późniejsze.

              %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.

              %S     Rzadkość  (dziurawość)  pliku.  Jest  obliczana  jako  (ROZMIARBLOKU*st_blocks  / st_size).
                     Dokładna wartość, jaką uzyska się dla danego zwykłego pliku o  określonej  wielkości,  jest
                     zależna  od  systemu. Jednak pliki rzadkie będą miały tę wartość zwykle mniejszą niż 1.0, a
                     pliki używające bloków pośrednich mogą mieć wartość większą  niż  1.0.  Wartość  użyta  dla
                     ROZMIARBLOKU  zależy  od  systemu, lecz najczęściej jest to 512. Jeśli rozmiar bloku wynosi
                     zero, wypisywana wartość jest  niezdefiniowana.  W  systemach  nieobsługujących  st_blocks,
                     rzadkość pliku przyjmuje się na 1.0.

              %t     Ostatni czas modyfikacji pliku w formacie zwróconym przez funkcję "ctime" 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.

              %y     Typ  pliku  (podobnie  jak  w  ls  -l),  "U"  to  typ  nieznany (ang. unknown, nie powinien
                     wystąpić).

              %Y     Typ pliku (jak %y), lecz podąża za dowiązaniami: "L" to pętla (ang. loop), a "N" -  oznacza
                     nieistniejący.

              Znak  "%"  po  którym  występuje  dowolny  inny  znak  jest  ignorowany,  lecz ten drugi znak jest
              wypisywany (nie należy na tym polegać, gdyż mogą zostać wprowadzone nowe  znaki  formatu).  Symbol
              "%"  na  końcu  argumentu  formatu  skutkuje  niezdefiniowanym  zachowaniem,  ponieważ  brak  jest
              następnego znaku. W niektórych ustawieniach regionalnych opcja ta może  ukryć  klucz  do  domu,  w
              innych usunąć ostatnią stronicę czytanej powieści. Ostrzegaliśmy!

              Dyrektywy  %m  i  %d  obsługują  flagi  #, 0 i +, lecz inne dyrektywy nie, nawet jeśli wyświetlają
              liczby. Do dyrektyw liczbowych, które nie obsługują tych flag, należą G, U, b, D,  k  i  n.  Flaga
              formatu "-" jest obsługiwana i zmienia wyrównanie pól z prawego (domyślnego) na lewy.

              Rozdział NIETYPOWE NAZWY PLIKÓW zawiera informacje nt. obsługi nietypowych nazw plików.

       -prune Prawda;  jeśli  plik  jest katalogiem, nie zagłębia się w niego. Jeśli podano -depth - fałsz, brak
              działania. Ponieważ -delete implikuje -depth, nie da się użyć -prunt i -delete łącznie.

       -quit  Natychmiast wychodzi. Nie są pozostawiane  żadne  działające  procesy  potomne,  lecz  nie  będzie
              przetworzone więcej ścieżek podanych w wierszu poleceń. Przykładowo, find /tmp/foo /tmp/bar -print
              -quit  wypisze  jedynie /tmp/foo.  Wiersze polecenia zbudowane za pomocą -execdir ... () + zostaną
              wywołane przed zakończeniem find. Kod zakończenia może wynosi zero lub nie, w zależności od  tego,
              czy wystąpił dotychczas błąd.

   NIETYPOWE NAZWY PLIKÓW
       Wiele akcji find skutkuje wypisywaniem danych, będących pod kontrolą innych użytkowników. Dotyczy to nazw
       plików, rozmiarów, czasów modyfikacji itp. Nazwy plików są potencjalnym problemem, ponieważ mogą zawierać
       dowolne  znaki  oprócz  "\0"  i  "/".  Nietypowe znaki w nazwach plików mogą robić nieoczekiwane i często
       nieprzewidywalne rzeczy z terminalem użytkownika (np. zmieniać ustawienia klawiszy funkcyjnych niektórych
       terminali). Nietypowe znaki są obsługiwane w różny sposób, w zależności od  akcji,  zgodnie  z  poniższym
       opisem.

       -print0, -fprint0
              Zawsze wypisuje dokładne nazwy plików, niezmienione, nawet jeśli wynik trafia na terminal

       -ls, -fls
              Nietypowe  znaki  są  zawsze  cytowane. Białe znaki, odwrotny ukośnik i znak podwójnego cudzysłowu
              jest wypisywany za pomocą cytowania w stylu C (np \f lub \" ). Inne nietypowe znaki są  wypisywane
              za  pomocą  cytowania  ósemkowego.  Inne  znaki  drukowalne  (dla  -ls i -fls są to znaki pomiędzy
              ósemkowym 041 i 0176) są wypisywane bez zmian.

       -printf, -fprintf
              Jeśli wynik nie trafia na terminal, nic nie jest zmieniane. W przeciwnym razie,  wynik  zależy  od
              używanej  dyrektywy.  Dyrektywy %D, %F, %g, %G, %H, %Y i %y są rozwijane do wartości, które nie są
              pod kontrolą właścicieli plików, są więc wypisywane bez zmian. Dyrektywy %a, %b, %c, %d,  %i,  %k,
              %m,  %M,  %n,  %s, %t, %u i %U mają wartości będące pod kontrolą właścicieli plików, lecz nie mogą
              być one użyte do wysłania dowolnych danych na terminal, dlatego są wypisywane bez zmian. Dyrektywy
              %f, %h, %l, %p i %P są cytowane. Cytowanie jest wykonywane w ten sam sposób, jak  w  GNU  ls.  Nie
              jest  to  ten sam mechanizm, co używany przez -ls i -fls. Jeśli można zdecydować o formacie wyniku
              find lepiej jest zwykle skorzystać z "\0" jako ogranicznika, zamiast używać znaku nowego  wiersza,
              ponieważ  nazwy  plików  mogą  zawierać  białe  znaki  i znaki nowego wiersza. Ustawienie zmiennej
              środowiskowej "LC_CTYPE" jest używane do określenia tego, które znaki mają być cytowane.

       -print, -fprint
              Cytowanie jest obsługiwane w ten sam sposób co w -printf  i  -fprintf.  Jeśli  używa  się  find  w
              skrypcie  lub  w  sytuacji, gdzie dopasowywane pliki mogą mieć dowolne nazwy, powinno się rozważyć
              skorzystanie z -print0 zamiast z -print.

       Akcje -ok i -okdir wypisują bieżące nazwy plików bez zmian. Może się to zmienić w kolejnych wydaniach.

   OPERATORY
       Wymienione według malejącego priorytetu:

       ( wyraż )
              Wymusza pierwszeństwo. Ponieważ nawiasy są znakami  specjalnymi  dla  powłoki,  trzeba  je  zwykle
              cytować. Wiele przykładów z niniejszej strony podręcznika używa do tego celu odwrotnych ukośników:
              "\(...\)" zamiast "(...)".

       ! wyraż
              Prawda,  jeśli  wyraż  jest  fałszywe.  Znak ten zwykle wymaga również ochrony przed interpretacją
              przez powłokę.

       -not wyraż
              Jak ! wyraż, lecz nie jest zgodne z POSIX.

       wyraż1 wyraż2
              Dwa wyrażenia z rzędu są traktowane, jakby były  połączone  jawnym  i  ("and");  wyraż2  nie  jest
              analizowany jeśli 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, lecz nie jest zgodne z POSIX.

       wyraż1 -o wyraż2
              Lub ("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, lecz nie jest zgodne z POSIX.

       wyraż1 , wyraż2
              Lista;  zarówno wyraż1 jak i wyraż2 są zawsze analizowane. Wartość wyraż1 jest pomijana; wartością
              listy jest wartość wyraż2. Operator w formie przecinka może być przydatny  do  wyszukiwania  wielu
              różnych  typów  rzeczy,  lecz  przechodząc przez hierarchię systemu plików tylko raz. Do wypisania
              różnych dopasowań do wielu różnych plików wyjściowych, można użyć akcji -fprintf.

ZGODNOŚĆ ZE STANDARDAMI

       W celu najściślejszej zgodności ze standardem POSIX, należy ustawić zmienną środowiskową POSIXLY_CORRECT.
       W standardzie POSIX (IEEE Std 1003.1, 2003 Edition) określono następujące opcje:

       -H     Opcja jest obsługiwana.

       -L     Opcja jest obsługiwana.

       -name  Opcja jest obsługiwana, lecz zgodność z POSIX zależy  od  zgodności  z  POSIX  systemowej  funkcji
              bibliotecznej  fnmatch(3).  Od  wersji  findutils-4.2.2  metaznaki  powłoki  (np.  "*", "?", "[]")
              dopasują początkowe ".", ponieważ wymaga tego interpretacja  126  IEEE  PASC.  Jest  to  zmiana  w
              stosunku do poprzednich wersji findutils.

       -type  Obsługiwane.   POSIX  określa  "b", "c", "d", "l", "p", "f" i "s". GNU find obsługuje również "D",
              reprezentujące Door, w systemach, które to obsługują.

       -ok    Obsługiwane. Interpretacja odpowiedzi  jest  zgodna  z  wzorcami  "yes"  i  "no"  wybranymi  przez
              ustawienie   zmiennej   środowiskowej  "LC_MESSAGES".  Gdy  ustawiona  jest  zmienna  środowiskowa
              "POSIXLY_CORRECT", wzorce te są wzięte z systemowych definicji  odpowiedzi  pozytywnej  (yes)  lub
              negatywnej  (no).  Proszę  zapoznać  się  z systemową dokumentacją nl_langinfo(3), w szczególności
              YESEXPR i NOEXPR. Gdy "POSIXLY_CORRECT" nie jest ustawiona, wzorce są brane  z  własnego  katalogu
              komunikatów find.

       -newer Obsługiwane.  Jeśli  podany  plik jest dowiązaniem symbolicznym, jest zawsze rozwiązywany. Jest to
              zmiana w stosunku do wcześniejszego zachowania, gdy odpowiedni czas był brany z samego dowiązania;
              patrz poniższy rozdział HISTORIA.

       -perm  Obsługiwane. Jeśli zmienna środowiskowa POSIXLY_CORRECT nie jest ustawiona, część argumentów trybu
              (np. +a+x), która nie jest prawidłowa w POSIX, jest obsługiwana w celu zachowania  kompatybilności
              wstecznej.

       Inne wskazania
              Wszystkie  wskazania:  -atime,  -ctime, -depth, -group, -links, -mtime, -nogroup, -nouser, -print,
              -prune, -size, -user i -xdev są obsługiwane

       Standard POSIX określa nawiasy "(", ")", negację "!" i operatory "and" oraz "or" (-a, -o).

       Wszystkie inne opcje, wskazania, wyrażenia itd. są rozszerzeniami  wykraczającymi  poza  standard  POSIX.
       Wiele z nich nie jest jednak unikalnych dla GNU find.

       Standard POSIX wymaga wykrywania przez find pętli:

              Narzędzie  find  powinno  wykrywać  pętle  nieskończone, tj. gdy wchodzi do wcześniej odwiedzonego
              katalogu, będącego przodkiem pliku, który wystąpił  jako  ostatni.  Gdy  pętla  nieskończona  jest
              wykrywana, find powinien wypisać informację diagnostyczną na standardowe wyjście błędów i powinien
              albo odzyskać swą pozycję w hierarchii albo wyjść.

       GNU  find  jest  zgodny  z  tymi  wymaganiami.  Liczba  dowiązań  katalogów  zawierających  wpisy  będące
       dowiązaniami zwykłymi (twardymi) do katalogu nadrzędnego będzie często niższa, niż powinna  być.  Oznacza
       to,  że  GNU  find  czasami  zoptymalizuje liczbę sprawdzeń podkatalogów będących dowiązaniem do katalogu
       nadrzędnego. Ponieważ find nie wchodzi w rzeczywistości do każdego podkatalogu, może unikać  wyświetlania
       komunikatu  diagnostycznego.  Choć  to  zachowanie może być niekiedy mylące, jest mało prawdopodobne, aby
       ktokolwiek na nim polegał. Jeśli optymalizacja "liściowa" (ang. leaf optimisation) zostanie wyłączona  za
       pomocą  -noleaf,  wpis  katalogu zostanie zawsze sprawdzony, a gdy to będzie konieczne, zostanie wypisany
       komunikat diagnostyczny. Dowiązanie symboliczne nie może być użyte do tworzenia podobnych  cykli  systemu
       plików,  lecz  jeśli  działa  opcja  -L  lub -follow, komunikat diagnostyczny zostanie wypisany, gdy find
       natrafi na pętlę  dowiązań  symbolicznych.  Podobnie  jak  w  przypadku  pętli  z  dowiązaniami  zwykłymi
       (twardymi),  optymalizacja liściowa często będzie oznaczać, że find wie, iż nie musi wywoływać stat() lub
       chdir() na dowiązaniu symbolicznym, więc taka diagnostyka często nie jest konieczna.

       Opcja -d jest obsługiwana w celu kompatybilności z różnymi systemami  BSD,  lecz  powinno  się  w  zamian
       używać zgodną z POSIX opcję -depth.

       Zmienna  środowiskowa  POSIXLY_CORRECT nie wpływa na zachowanie testów -regex ani -iregex, ponieważ opcje
       te nie są określone w standardzie POSIX.

ZMIENNE ŚRODOWISKOWE

       LANG   Dostarcza domyślną wartość do zmiennych dotyczących umiędzynarodowienia, które  nie  są  ustawione
              lub są puste.

       LC_ALL Jeśli  jest  ustawiona  na  niepusty  łańcuch,  przesłania  wartość  wszystkich  innych  zmiennych
              dotyczących umiędzynarodowienia.

       LC_COLLATE
              Standard POSIX określa, że ta zmienna wpływa na dopasowanie wzorców używanych przez  opcję  -name.
              GNU  find  używa  funkcji  bibliotecznej  fnmatch(3),  w związku z tym obsługa niniejszej zmiennej
              zależy od biblioteki systemowej. Zmienna ta wpływa również na interpretację odpowiedzi  na  -ok  -
              podczas  gdy zmienna "LC_MESSAGES" wybiera rzeczywisty wzorzec używany do interpretacji odpowiedzi
              na -ok, interpretacja wyrażeń klamrowych we wzorcu będzie zależna od "LC_COLLATE"

       LC_CTYPE
              Zmienna wpływa na traktowanie klas znaków używanych  w  wyrażeniach  regularnych,  jak  również  w
              teście -name, jeśli obsługuje to systemowa funkcja biblioteczna fnmatch(3). Zmienna wpływa również
              na interpretację klas znakowych w wyrażeniach regularnych używanych do interpretacji odpowiedzi na
              pytanie  wydane  przez  -ok.  Zmienna środowiskowa "LC_CTYPE" wpływa również na to, które znaki są
              uważane za niedrukowalne przy wypisywaniu nazw plików; patrz rozdział NIETYPOWE NAZWY PLIKÓW.

       LC_MESSAGES
              Określa język (lokale) komunikatów. Jeśli ustawiona jest zmienna  środowiskowa  "POSIXLY_CORRECT",
              to określa również interpretację na odpowiedź na pytanie zadane przez akcję -ok.

       NLSPATH
              Określa lokalizację katalogów z przetłumaczonymi komunikatami.

       PATH   Wpływa  na  katalogi,  które  są przeszukiwane przez find w celu wykonania plików wywołanych przez
              -exec, -execdir, -ok i -okdir.

       POSIXLY_CORRECT
              Określa rozmiar bloku używany przez -ls i -fls.  Jeśli  ustawiona  jest  zmienna  POSIXLY_CORRECT,
              bloki mają po 512 bajtów. W przeciwnym wypadku - 1024 bajtów.

              Ustawienie  tej  zmiennej domyślnie wyłącza również ostrzeżenia (tzn. implikuje -nowarn), ponieważ
              niezależnie od wyniku -ok, POSIX wymaga aby wszystkie komunikaty wypisywane na standardowe wyjście
              błędów były diagnostyczne i wynikał z nich niezerowy kod zakończenia.

              Gdy POSIXLY_CORRECT nie jest ustawiona, -perm +zzz jest traktowane jak -perm /zzz jeśli  +zzz  nie
              jest  prawidłowym  trybem  symbolicznym.  Gdy POSIXLY_CORRECT jest ustawiona, takie konstrukcje są
              traktowane jako błąd.

              Gdy  POSIXLY_CORRECT  jest  ustawiona,  odpowiedź  na  pytanie  zadane  przez   akcję   -ok   jest
              interpretowane  zgodnie z katalogiem systemowym wiadomości, a nie zgodnie z własnymi tłumaczeniami
              komunikatów programu find.

       TZ     Wpływa na strefę czasową używaną przez część związanych z czasem dyrektyw formatu opcji -printf  i
              -fprintf.

PRZYKŁADY

       find /tmp -name core -type f -print | xargs /bin/rm -f

       Znajduje  pliki  o  nazwie  core w lub poniżej katalogu /tmp i usuwa je. Proszę zauważyć, że przykład nie
       będzie działał poprawnie, jeśli w którejś z  nazw  są  znaki  nowego  wiersza,  pojedyncze  lub  podwójne
       cudzysłowy lub spacje.

       find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

       Znajduje  pliki  o  nazwie  core w lub poniżej katalogu /tmp i usuwa je, przetwarzając nazwy plików w ten
       sposób, że nazwy zawierające pojedyncze lub podwójne cudzysłowy,  spacji  lub  znaki  nowego  wiersza  są
       obsługiwane poprawnie. Test -name jest wykonywany przez -type, aby zapobiec wywoływaniu stat(2) na każdym
       pliku.

       find . -type f -exec file '{}' \;

       Uruchamia  "file"  na  każdym  pliku  w  lub poniżej katalogu bieżącego. Proszę zwrócić uwagę, że nawiasy
       klamrowe są ujęte w pojedyncze  cudzysłowy,  aby  ochronić  je  przed  interpretację  przez  interpunkcję
       skryptów  powłoki.  Średnik  jest  również  chroniony, przez odwrotny ukośnik, choć pojedyncze cudzysłowy
       byłyby równie dobre.

       find / \
       \( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \
       \( -size +100M -fprintf /root/big.txt %-10s %p\n \)

       Przeszukuje system plików jeden raz, wypisując pliki i katalogi z setuid do pliku /root/suid.txt, a  duże
       pliki do /root/big.txt.

       find $HOME -mtime 0

       Wyszukuje  pliki w katalogu domowym użytkownika, które zostały zmodyfikowane w ciągu ostatnich 24 godzin.
       To polecenie działa w ten sposób, ponieważ czas od ostatniej modyfikacji pliku jest podzielony  przez  24
       godziny,  a  reszta jest odrzucana. Oznacza to, że aby pasować do -mtime 0, plik musiał być zmodyfikowany
       mniej niż 24 godziny temu.

       find /sbin /usr/sbin -executable \! -readable -print

       Wyszukuje pliki wykonywalne, lecz nieodczytywalne.

       find . -perm 664

       Wyszukuje pliki posiadające prawa odczytu  i  zapisu  dla  właściciela  i  grupy,  które  dla  innych  są
       odczytywalne,  lecz  nie są zapisywalne. Pliki, które spełniają te kryteria lecz mają ustawione inne bity
       praw (np. wykonywalności) nie są dopasowane.

       find . -perm -664

       Wyszukuje pliki posiadające prawa odczytu  i  zapisu  dla  właściciela  i  grupy,  które  dla  innych  są
       odczytywalne,  bez  względu  na  obecność  jakichś  dodatkowych  bitów  praw  (np.  bitu wykonywalności).
       Dopasowany będzie też np. plik z trybem 0777.

       find . -perm /222

       Wyszukuje pliki, które są przez kogoś zapisywalne (dla ich właściciela, grupy lub innych).

       find . -perm /220
       find . -perm /u+w,g+w
       find . -perm /u=w,g=w

       Wszystkie trzy polecenia wykonują to samo, lecz pierwsze używa  reprezentacji  ósemkowej  praw  lików,  a
       pozostałe  dwa  -  postaci  symbolicznej.  Wszystkie polecenia wyszukują pliki, które są zapisywalne albo
       przez ich właściciela, albo grupę. Pliki nie muszą być zapisywalne zarówno przez właściciela jak i grupę,
       aby zostać dopasowane; wystarczy spełnić jeden warunek.

       find . -perm -220
       find . -perm -g+w,u+w

       Oba polecenia robią to samo: wyszukują pliki będące zapisywalne zarówno dla ich właściciela jak i grupy.

       find . -perm -444 -perm /222 ! -perm /111
       find . -perm -a+r -perm /a+w ! -perm /a+x

       Oba polecenia wyszukują pliki odczytywalne dla wszystkich (-perm -444 lub -perm -a+r),  mające  ustawiony
       co  najmniej  jeden  bit  zapisu (-perm /222 lub -perm /a+w), lecz nie będące wykonywalne dla kogokolwiek
       (odpowiednio ! -perm /111 i ! -perm /a+x).

       cd /source-dir
       find . -name .snapshot -prune -o \( \! -name *~ -print0 \)|
       cpio -pmd0 /dest-dir

       Polecenie to kopiuje zawartość /source-dir do  /dest-dir,  lecz  pomija  pliki  lub  katalogi  o  nazwach
       .snapshot  (i  wszystko  wewnątrz  ich). Pomija również pliki lub katalogi o nazwach kończących się na ~,
       lecz nie ich zawartość. Konstrukcja -prune -o \( ... -print0 \) jest dość częsta. Pomysł  jest  taki,  że
       wyrażenie przed -prune dopasowuje rzeczy, które mają być wycięte. Jednak sama akcja -prune zwraca prawdę,
       więc  kolejna  -o upewnia się, że prawa strona jest obliczana tylko dla niewyciętych katalogów (zawartość
       wycinanych katalogów nie jest nawet sprawdzana, więc ich zawartość jest nieistotna). Wyrażenie po  prawej
       stronie  -o,  znajduje się w nawiasach jedynie dla przejrzystości. Podkreśla, że akcja -print0 ma miejsce
       jedynie do rzeczy, do których  nie  zastosowano  -prune.  Ponieważ  domyślna  zależność  "and"  (i)  jest
       ściślejsza niż -o, tak jest domyślnie, lecz nawiasy pomagają pokazać o co chodzi.

       find repo/ -exec test -d {}/.svn -o -d {}/.git -o -d {}/CVS ; \
       -print -prune

       Podając   następujący  katalog  projektu  i  powiązany  katalog  administracyjny  SCM,  wykonuje  wydajne
       wyszukiwanie korzeni projektów:

       repo/project1/CVS
       repo/gnu/project2/.svn
       repo/gnu/project3/.svn
       repo/gnu/project3/src/.svn
       repo/project4/.git

       W tym przykładzie, -prune zapobiega niepotrzebnemu zagłębianiu się w już odkryte katalogi (np. nie  szuka
       się  w project3/src, ponieważ znaleziono już project3/.svn), lecz znajduje katalogi sąsiednie (project2 i
       project3).

KOD ZAKOŃCZENIA

       find wychodzi ze statusem 0, gdy pomyślnie przetworzono wszystkie pliki i większym niż  0,  gdy  wystąpił
       błąd.  Jest  to  bardzo ogólny opis, lecz gdy zwracaną wartością nie jest zero, nie powinno się po prostu
       polegać na poprawności wyników find.

ZOBACZ TAKŻE

       locate(1), locatedb(5), updatedb(1), xargs(1), chmod(1), fnmatch(3), regex(7), stat(2), lstat(2),  ls(1),
       printf(3), strftime(3), ctime(3), Finding Files (on-line w Info lub w formie drukowanej).

HISTORIA

       Od  findutils-4.2.2,  metaznaki  powłoki (np. "*", "?" lub "[]") używane we wzorcach nazw plików dopasują
       początkowe ".", ponieważ wymaga tego interpretacja 126 IEEE POSIX.

       Składnia -perm +TRYB została uznana za przestarzałą  w  findutils-4.2.21,  na  korzyść  -perm  /TRYB.  Od
       findutils-4.3.3, -perm /000 dopasowuje wszystkie pliki, zamiast żadnego.

       W findutils-4.3.3 zaimplementowano nanosekundową rozdzielczość znaczników czasu.

       Od  findutils-4.3.11,  akcja  -delete  ustawia  kod  zakończenia find na wartość niezerową, jeśli się nie
       powiedzie. find nie wyjdzie jednak od razu. Wcześniej, kod zakończenia find nie zmieniał się pod  wpływem
       niepowodzenia -delete.
       Funkcja                Dodana w   Pojawia się też w
       -newerXY               4.3.3      BSD
       -D                     4.3.1
       -O                     4.3.1
       -readable              4.3.0
       -writable              4.3.0
       -executable            4.3.0
       -regextype             4.2.24
       -exec ... +            4.2.12     POSIX
       -execdir               4.2.12     BSD
       -okdir                 4.2.12
       -samefile              4.2.11
       -H                     4.2.5      POSIX
       -L                     4.2.5      POSIX
       -P                     4.2.5      BSD
       -delete                4.2.3
       -quit                  4.2.3
       -d                     4.2.3      BSD
       -wholename             4.2.0
       -iwholename            4.2.0
       -ignore_readdir_race   4.2.0
       -fls                   4.0
       -ilname                3.8
       -iname                 3.8
       -ipath                 3.8
       -iregex                3.8

TO NIE BŁĘDY

       $ find . -name *.c -print
       find: ścieżki muszą poprzedzać wyrażenie
       Składnia: %s [-H] [-L] [-P] [-Opoziom] [-D help|tree|
       search|stat|rates|opt|exec] [ścieżka...] [wyrażenie]

       Powodem  takiego  zachowania  jest  interpretacja  *.c przez powłokę, co skutkuje następującym poleceniem
       otrzymanym przez program find.

       find . -name bigram.c code.c frcode.c locate.c -print

       To polecenie oczywiście nie  będzie  działać.  Poprawną  metodą  jset  ujęcie  wzorca  w  cudzysłowy  lub
       zacytowanie maski:
       $ find . -name \*.c -print

BŁĘDY

       Występują pewne zagrożenia związane z bezpieczeństwem, będące wynikiem tego, co standard POSIX przewiduje
       dla  find  -  dlatego  nie  mogą być naprawione. Na przykład akcja -exec jest niebezpieczna i powinno się
       używać w zamian -execdir. Proszę zapoznać się z Finding Files, aby dowiedzieć się więcej.

       Zmienna środowiskowa LC_COLLATE nie ma wpływu na akcję -ok.

       Najlepszą     drogą     do     zgłoszenia     błędu     jest     użycie     formularza     na     stronie
       http://savannah.gnu.org/bugs/?group=findutils.  Możliwe jest wówczas śledzenie postępu naprawiania błędu.
       Pozostałe komentarze dotyczące  find(1)  i  ogólnie,  nt.  pakietu  findutils,  można  wysyłać  na  listę
       dyskusyjną   bug-findutils.   Aby  się  na  nią  zapisać,  proszę  wysłać  list  elektroniczny  na  adres
       bug-findutils-request@gnu.org.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej   strony   podręcznika   man   są:   Przemek   Borys   (PTM)
       <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie  tłumaczenie  jest  częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie błędów na stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  4.4.2 oryginału.

                                                                                                         FIND(1)