Provided by: manpages-pl_0.5-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 (and. 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)