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)