> Linux Reviews > man >

find

szuka plików w hierarchii katalogowej


  1. find.1.man
  2. find.9.man


1. find.1.man

Manpage of FIND

FIND

Section: Misc. Reference Manual Pages (1L)
Index Return to Main Contents
 

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.

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)


 

Index

NAZWA
SKŁADNIA
OPIS
WYRAŻENIA
OPCJE
TESTY
AKCJE
OPERATORY
ZOBACZ TAKŻE

This document was created by man2html using the manual pages.
Time: 17:40:02 GMT, October 23, 2013

2. find.9.man

Manpage of find

find

Section: [incr\ Tcl] (n)
Updated: 3.0
Index Return to Main Contents



 

NAME

find - search for classes and objects  

SYNOPSIS

itcl::find option ?arg arg ...?



 

DESCRIPTION

The find command is used to find classes and objects that are available in the current interpreter. Classes and objects are reported first in the active namespace, then in all other namespaces in the interpreter.

The option argument determines what action is carried out by the command. The legal options (which may be abbreviated) are:

find classes ?pattern?
Returns a list of [incr Tcl] classes. Classes in the current namespace are listed first, followed by classes in all other namespaces in the interpreter. If the optional pattern is specified, then the reported names are compared using the rules of the "string match" command, and only matching names are reported.

If a class resides in the current namespace context, this command reports its simple name--without any qualifiers. However, if the pattern contains :: qualifiers, or if the class resides in another context, this command reports its fully-qualified name. Therefore, you can use the following command to obtain a list where all names are fully-qualified:


itcl::find classes ::*

find objects ?pattern? ?-class className? ?-isa className?
Returns a list of [incr Tcl] objects. Objects in the current namespace are listed first, followed by objects in all other namespaces in the interpreter. If the optional pattern is specified, then the reported names are compared using the rules of the "string match" command, and only matching names are reported. If the optional "-class" parameter is specified, this list is restricted to objects whose most-specific class is className. If the optional "-isa" parameter is specified, this list is further restricted to objects having the given className anywhere in their heritage.

If an object resides in the current namespace context, this command reports its simple name--without any qualifiers. However, if the pattern contains :: qualifiers, or if the object resides in another context, this command reports its fully-qualified name. Therefore, you can use the following command to obtain a list where all names are fully-qualified:


itcl::find objects ::*

 

KEYWORDS

class, object, search, import


 

Index

NAME
SYNOPSIS
DESCRIPTION
KEYWORDS

This document was created by man2html using the manual pages.
Time: 17:40:02 GMT, October 23, 2013

SVENSKA - SVENSKA - SVENSKA - cs - da - SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - nl - ro - SVENSKA - zh_CN