Provided by: manpages-pl_0.7-2_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)