Provided by:
manpages-pl_20060617-2_all 
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 gboko
Schodzi maksymalnie gboko (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 lgboko
Nie stosuje testów lub akcji w poziomach niższych niż gboko
(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.
wyra1 wyra2
And (jawny); wyra2 nie jest analizowany jesli wyra1 jest
fałszywe.
wyra1 -a wyra2
To samo, co wyra1 wyra2.
wyra1 -and wyra2
To samo, co wyra1 wyra2.
wyra1 -o wyra2
Or; wyra2 nie jest analizowane jeśli wyra1 jest prawdziwe.
wyra1 -or wyra2
To samo, co wyra1 -o wyra2.
wyra1 , wyra2
Lista; zarówno wyra1 jak i wyra2 zawsze są analizowane.
Wartość wyra1 jest niszczona; wartość listy jest wartością
wyra2.
ZOBACZ TAKŻE
locate(1L), locatedb(5L), updatedb(1L), xargs(1L) Znajdowanie plików
(on-line w Info, lub w postaci wydrukowanej)
FIND(1)