find

FIND(1)                     General Commands Manual                    FIND(1)



NAZWA
       find - szuka plików w hierarchii katalogowej

SKÅADNIA
       find [Åcieżka...] [wyrażenie]

OPIS
       Ta strona podrÄcznika man opisuje wersjÄ GNU programu find.  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 (zobacz sekcjÄ 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.

       Pierwszy argument, rozpoczynajÄcy siÄ od `-', `(', `)', `,' lub `!'
       jest uważany za poczÄtek wyrażenia; wszelkie argumenty przed nim sÄ
       Åcieżkami przeszukiwania, a wszystkie argumenty po nim sÄ resztÄ
       wyrażenia.  JeÅli nie podano Åcieżek, używany jest katalog bieżÄcy.
       JeÅli nie podano wyrażenia, używane jest wyrażenie `-print'.

       find koÅczy dziaÅanie ze statusem 0 tylko gdy wszystkie pliki zostanÄ
       poprawnie przetworzone. W przeciwnym wypadku status jest wiÄkszy od
       zera.

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Ä. Zawsze dziaÅajÄ, tzn. nie sÄ
       przetwarzane jedynie gdy osiÄgniÄta zostanie ich pozycja w wyrażeniu.
       Dlatego, dla jasnoÅci najlepiej umiejscawiaÄ je na poczÄtku wyrażenia.

       -daystart
              Mierzy czasy (dla -amin, -atime, -cmin, -ctime, -mmin, and
              -mtime) od dziÅ, a nie od 24 godzin temu.

       -depth Przetwarza zawartoÅÄ każdego katalogu przed samym katalogiem
              jako takim.

       -follow
              RozwikÅuje dowiÄzania symboliczne. Wymusza -noleaf.

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

       -maxdepth gÅÄbokoÅÄ
              Schodzi maksymalnie 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 lgÅÄ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.

       -noleaf
              Zakazuje optymalizacji wykonywanej przez zakÅadanie, że
              katalogi zawierajÄ o dwa mniej podkatalogi niż ich licznik
              twardych dowiÄzaÅ. 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 wolumenów AFS. Każdy katalog w normalnym systemie
              uniksowym zawiera przynajmniej dwa twarde dowiÄzania: jego nazwÄ
              i `.'. Dodatkowo, jego podkatalogi mogÄ mieÄ dowiÄzania `..'.
              Gdy find testuje katalog po zbadaniu funkcjÄ stat o 2 mniej
              podkatalogów niż licznik dowiÄzaÅ, wie, że reszta wpisów
              jest niekatalogowa. JeÅli testowane majÄ byÄ tylko nazwy
              plików, to nie ma potrzeby ich sprawdzaÄ; daje to znaczÄce
              przyspieszenie.

       -version, --version
              Wypisuje wersjÄ i koÅczy pracÄ.

       -xdev  Nie zagÅÄbia siÄ w katalogi na innych systemach plików.

   TESTY
       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.  -anewer podlega -follow tylko jeÅli -follow
              pojawia siÄ w linii komend przed -anewer.

       -atime n
              Do pliku dostano siÄ po raz ostatni n*24 godzin temu.

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

       -cnewer plik
              Status pliku byÅ ostatnio zmieniony wczeÅniej niż zmodyfikowano
              plik.  -cnewer podlega -follow tylko jeÅli -follow pojawia siÄ w
              linii komend przed -cnewer.

       -ctime n
              Status pliku zmieniÅ siÄ ostatnio n*24 godzin temu.

       -empty Plik jest pusty i jest albo plikiem regularnym, albo katalogiem.

       -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
              twoich systemów plików, użyj -printf z dyrektywÄ %F.

       -gid n Numeryczny GID pliku to n.

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

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

       -iname pattern
              Podobne do -name, lecz dopasowanie jest niewrażliwe na rozmiar
              liter.  Na przykÅad wzorce `fo*' i `F??' dopasujÄ siÄ do nazw
              `Foo', `FOO', `foo', `fOo', itd.

       -inum n
              Plik ma numer iwÄzÅa n.

       -ipath wzorzec
              Podobne do -path, lecz dopasowanie jest niewrażliwe na rozmiar
              liter.

       -iregex wzorzec
              Podobne do -regex, lecz dopasowanie jest niewrazliwe 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 `.'.

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

       -mtime n
              Dane pliku byÅy ostatnio modyfikowane n*24 godzin temu.

       -name wzorzec
              Podstawa nazwy pliku (z usuniÄtÄ ÅcieżkÄ i poprzedzajÄcymi
              katalogami) odpowiada wzorcowi powÅoki wzorzec. Metaznaki (`*',
              `?', `[]') nie odpowiadajÄ `.' na poczÄtku nazwy pliku. Aby
              zignorowaÄ katalogi i pliki im podlegÅe, użyj -prune; zobacz
              przykÅad w opisie -path.

       -newer plik
              Plik zostaÅ zmodyfikowany wczeÅniej niż plik.  -newer podlega
              -follow tylko jeÅli -follow znajduje siÄ w linii komend przed
              -newer.

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

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

       -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, użyj -prune.
              Na przykÅad, aby pominÄÄ katalog `src/emacs' i wszystkie jego
              pliki oraz wypisaÄ nazwy innych znalezionych plików, użyj:
                        find . -path './src/emacs' -prune -o -print

       -perm prawa
              Bity praw pliku sÄ dokÅadnie równe prawom (ósemkowym lub
              symbolicznym). Prawa symboliczne używajÄ 0 jako punktu wyjÅcia.

       -perm -prawa
              wszystkie bity prawa sÄ ustawione dla pliku.

       -perm +prawa
              KtóryŠz bitów praw jest ustawiony dla pliku.

       -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żesz użyÄ wyrażenia regularnego `.*bar' lub
              `.*b.*3'.

       -size n[bckw]
              Plik zajmuje n jednostek miejsca. Jednostki to domyÅlnie
              512-bajtowe bloki. JeÅli doklejona jest litera `c', jest to n
              bajtów, jeÅli `k', kilobajtów, jeÅli `w', dwubajtówych sÅów.
              Rozmiar nie wlicza niebezpoÅrednich bloków, lecz liczy bloki w
              plikach `sparse', które w rzeczywistoÅci nie sÄ zajÄte.

       -true  Zawsze prawda.

       -type c
              Plik jest typu c:

              b      blokowy (buforowany) plik specjalny

              c      znakowy (niebuforowany) plik specjalny

              d      katalog

              p      ÅÄcze nazwane (FIFO)

              f      zwykÅy plik

              l      dowiÄzanie symboliczne

              s      gniazdo

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

       -xtype c
              Jest to to samo co -type, chyba że plik jest dowiÄzaniem
              symbolicznym. Dla dowiÄzaÅ symbolicznych: jeÅli nie podano
              -follow, jest prawdziwe gdy plik jest dowiÄzaniem do pliku typu
              c; jeÅli podano -follow, jest prawdziwe, jeÅli c to `l'. Innymi
              sÅowy, dla dowiÄzaÅ symbolicznych -xtype sprawdza typ pliku,
              którego nie sprawdza -type.

   AKCJE
       -exec polecenie ;
              Wykonuje polecenie; prawdziwe jeÅli zwrócony zostaÅ status 0.
              Wszelkie nastÄpne argumenty find sÄ brane za argumenty
              polecenia, aż nie zostanie napotkany argument, skÅadajÄcy siÄ z
              `;'. ÅaÅcuch `{}' jest podmieniany na obecnie przetwarzanÄ nazwÄ
              pliku.  Obydwie te konstrukcje byÄ może bÄdÄ wymagaÅy
              wycytowania (znakiem `\') aby uchroniÄ je przed rozwiniÄciem
              przez powÅokÄ. Polecenie jest wykonywane w katalogu startowym.

       -fls plik
              Prawdziwe; podobne do -ls, lecz zapisuje do pliku jak -fprint.

       -fprint plik
              Prawdziwe; wypisuje peÅnÄ nazwÄ pliku do pliku. JeÅli plik nie
              istnieje, zostanie utworzony; jeÅli istnieje, zostanie obciÄty.
              Nazwy plików ``/dev/stdout'' i ``/dev/stderr'' sÄ traktowane
              osobno; odnoszÄ siÄ one odpowiednio do standardowego wyjÅcia i
              standardowego wyjÅcia bÅÄdów.

       -fprint0 plik
              Prawdziwe; podobne do -print0, lecz zapisuje do pliku, podobnie
              jak -fprint.

       -fprintf plik format
              Prawdziwe; podobne do -printf, lecz zapisuje do pliku, podobnie
              jak -fprint.

       -ok polecenie ;
              Podobne do -exec, lecz pyta wpierw użytkownika (na standardowym
              wejÅciu); jeÅli odpowiedź nie rozpoczyna siÄ od `y' lub `Y',
              nie uruchamia polecenia i zwraca faÅsz.

       -print Prawdziwe; wypisuje peÅnÄ nazwÄ pliku na standardowe wyjÅcie. Za
              nazwÄ daje nowÄ liniÄ.

       -print0
              Prawdziwe; wypisje peÅnÄ nazwÄ pliku na standardowe wyjÅcie. Za
              nazwÄ daje znak null. Umożliwia to poprawne wyÅwietlenie
              plików, zawierajÄcych w nazwach znaki nowej linii w programach,
              przetwarzajÄcych wyjÅcie finda.

       -printf format
              Prawdziwe; wypisuje format na standardowe wyjÅcie, interpretujÄc
              sekwencje specjalne `\' i dyrektywy `%'. SzerokoÅci pól i
              precyzje mogÄ byÄ podawane dokÅadnie jak w printf(3) z C. W
              przeciwieÅstwie do -print, -printf nie dodaje nowej linii do
              koÅca ÅaÅcucha. Sekwencje specjalne i dyrektywy to:

              \a     Dzwonek.

              \b     Backspace.

              \c     Wstrzymuje wtypisywanie tego formatu i natychmiast
                     wymiata wyjÅcie.

              \f     Form feed.

              \n     Nowa linia.

              \r     Powrót karetki.

              \t     Tabulacja pozioma.

              \v     Tabulacja pionowa.

              \\     Literalny lewy ukoÅnik (`\').

              `\', za którym nastÄpuje dowolny inny znak, jest traktowany jak
              zwykÅy znak, wiÄc sÄ wypisywane obydwa.

              %%     Literalny znak procenta.

              %a     Ostatni czas dostÄpu do pliku w formacie zwracanym przez
                     funkcjÄ ctime(3).

              %Ak    Ostatni czas dostÄpu do pliku, w formacie okreslonym
                     przez k, którym może byÄ `@', lub dyrektywa dla funkcji
                     C strftime(3). Możliwe wartoÅci k sÄ wymienione niżej;
                     niektóre z nich mogÄ nie byÄ dostÄpne na wszystkich
                     systemach z powodu różnic w strftime(3) miÄdzy
                     systemami.

                     @      Sekundy od 1 stycznia, 1970, 00:00 GMT.

                     Pola czasowe:

                     H      godzina (00..23)

                     I      godzina (01..12)

                     k      godzina ( 0..23)

                     l      godzina ( 1..12)

                     M      minuta (00..59)

                     p      localowe AM lub PM

                     r      czas, 12-godzinny (gg:mm:ss [AP]M)

                     S      sekunda (00..61)

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

                     X      lokalna reprezentacja czasu (G:M:S)

                     Z      strefa czasowa (np. EDT), lub nic jeÅli nie da siÄ
                            jej okreÅliÄ

                     Pola daty:

                     a      lokalny skrót nazwy tygodnia (Sun..Sat)

                     A      lokalna peÅna nazwa tygodnia, zmiennej dÅugoÅci
                            (Sunday..Saturday)

                     b      lokalna skrócona nazwa miesiÄca (Jan..Dec)

                     B      lokalna peÅna nazwa miesiÄca, zmiennej dÅugoÅci
                            (January..December)

                     c      lokalna data i czas (Sat Nov 04 12:02:33 EST 1989)

                     d      dzieÅ miesiÄca (01..31)

                     D      data (mm/dd/rr)

                     h      to samo co b

                     j      dzieÅ roku (001..366)

                     m      miesiÄc (01..12)

                     U      numer tygodnia w roku, z niedzielÄ liczonÄ jako
                            pierwszy dzieÅ tygodnia (00..53)

                     w      dzieÅ tygodnia (0..6)

                     W      numer tygodnia w roku, liczÄc z poniedziaÅkiem,
                            jako pierwszym dniem tygodnia (00..53)

                     x      lokalna reprezentacja daty (mm/dd/rr)

                     y      ostatnie dwie cyfry roku (00..99)

                     Y      rok (1970...)

              %b     Rozmiar pliku w 512-bajtowych blokach (zaokrÄglanych w
                     górÄ).

              %c     Ostatni czas zmiany statusu pliku, w formacie zwróconym
                     przez funkcjÄ ctime(3) z C.

              %Ck    Ostatni czas zmiany statusu pliku w formacie okreÅlonym
                     przez k, w taki sam sposób, jak dla %A.

              %d     GÅÄbokoÅÄ pliku w drzewie katalogowym; 0 oznacza plik w
                     argumencie wiersza poleceÅ.

              %f     Nazwa pliku z usuniÄtymi poczÄtkowymi katalogami (tylko
                     ostatni element nazwy).

              %F     Rodzaj systemu plików, na którym znajduje siÄ plik;
                     wartoÅÄ ta może byÄ używana do -fstype.

              %g     Nazwa grupy pliku lub numeryczny GID jeÅli grupa nie ma
                     nazwy.

              %G     Numeryczny GID pliku.

              %h     PoczÄtkowe katalogi nazwy pliku (wszystko poza ostatnim
                     elementem).

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

              %i     Numer iwÄzÅa pliku (dziesiÄtnie).

              %k     Rozmiar pliku w 1K blokach (zaokrÄglane w górÄ).

              %l     Obiekt dowiÄzania symbolicznego (pusty ÅaÅcuch, jeÅli
                     plik nie jest dowiÄzaniem symbolicznym).

              %m     Prawa pliku (ósemkowo).

              %n     Liczba twardych dowiÄzaÅ do pliku.

              %p     Nazwa pliku.

              %P     Nazwa pliku z usuniÄtÄ z poczÄtku nazwÄ argumentu wiersza
                     poleceÅ, dla którego jÄ znaleziono.

              %s     Rozmiar pliku w bajtach.

              %t     Ostatni czas modyfikacji pliku w formacie zwróconym
                     przez funkcjÄ ctime(3) z C.

              %Tk    Ostatni czas modyfikacji pliku, w formacie okreÅlonym
                     przez k, podobnie jak dla %A.

              %u     Nazwa użytkownika pliku, lub numeryczny UID, jeÅli
                     użytkownik nie ma nazwy.

              %U     Numeryczny UID pliku.

              Znak `%', za którym nastÄpuje dowolny inny znak jest usuwany
              (lecz drugi znak jest drukowany).

       -prune JeÅli nie podano -depth, prawdziwe; program nie wchodzi w gÅÄb
              bieżÄcego katalogu.
              JeÅli podano -depth, faÅszywe; bez rezultatu.

       -ls    Prawdziwe; listuje plik bieżÄcy w formacie `ls ils' na
              standardowe wyjÅcie.  Liczniki bloków sÄ 1K blokami, chyba że
              ustawiono zmiennÄ ÅrodowiskowÄ POSIXLY_CORRECT, kiedy używane
              bÄdÄ 512-bajtowe bloki.

   OPERATORY
       Wymienione w malejÄcym priorytecie:

       ( wyraż )
              Wymusza pierwszeÅstwo.

       ! wyraż
              Prawdziwe jeÅli wyraż jest faÅszywe

       -not wyraż
              To samo co ! wyraż.

       wyraż1 wyraż2
              And (jawny); wyraż2 nie jest analizowany jesli wyraż1 jest
              faÅszywe.

       wyraż1 -a wyraż2
              To samo, co wyraż1 wyraż2.

       wyraż1 -and wyraż2
              To samo, co wyraż1 wyraż2.

       wyraż1 -o wyraż2
              Or; wyraż2 nie jest analizowane jeÅli wyraż1 jest prawdziwe.

       wyraż1 -or wyraż2
              To samo, co wyraż1 -o wyraż2.

       wyraż1 , wyraż2
              Lista; zarówno wyraż1 jak i wyraż2 zawsze sÄ analizowane.
              WartoÅÄ wyraż1 jest niszczona; wartoÅÄ listy jest wartoÅciÄ
              wyraż2.

ZOBACZ TAKŻE
       locate(1L), locatedb(5L), updatedb(1L), xargs(1L) Znajdowanie plików
       (on-line w Info, lub w postaci wydrukowanej)



                                                                       FIND(1)