Коришћење Линук и Уник наредбе: пронаћи

Команда Линук и Уник проналази извршава претрагу датотека у хијерархији директоријума.

Синтакса за проналазак наредбе:

нађите [пут ...] [израз]

Опис

Ова страница са упутствима документује ГНУ верзију проналаска . Команда проналази претрагу стабла директорија укорењеног на сваки дат филе име евалуацијом датог израза с лева на десно, према правилима прецеденце (погледајте одељак о оператерима испод), све док исход није познат; Другим речима, лева страна је лажна за операције, истинита за или , у којој тачки се налазе потези на следеће име датотеке.

Први аргумент који почиње са:

сматра се почетком израза; сви аргументи пре њега су путања за претрагу, и сви аргументи након тога представљају остатак израза. Ако ниједне путање није дата, тренутни директоријум се користи. Ако није дат израз, израз се користи.

Команда Финд проналази са статусом 0 ако су све датотеке успешно обрађене, веће од 0 ако се појаве грешке.

Изрази

Израз се састоји од опција (које утичу на целокупан рад, а не на обраду одређене датотеке и увек се враћају истинито), тестови (који враћају истиниту или лажну вриједност) и акције (које имају нежељене ефекте и враћају истиниту или лажна вредност), све су одвојене од оператера. Израз - и претпоставља се да је оператор изостављен. Ако израз не садржи друге акције осим -пруне , онда се -принт врши на свим датотекама за које је израз истинит.

Опције

Све опције увек се враћају на истинитост. Увек ступе на снагу, уместо да се обрађују само када се постигне њихово место у изразу. Према томе, због јасноће, најбоље је ставити их на почетак израза.

-данстарт Мере времена (за -амин, -атиме, -цмин, -име, -ммин и -мтиме ) од почетка дана, а не од пре 24 сата.
-дубина Обрадите садржај сваког директоријума пре самог директоријума.
-пратити Дереференце симболичне везе. Импликације - нолеаф .
- помоћ или - помоћ Штампајте сажетак кориштења командне линије проналаска и излаза.
-макдептх [број] Смањи се на већину нивоа (не-негативног целог броја) директорија испод аргумената командне линије. Израз -макдептх 0 значи само применити тестове и радње на аргументе командне линије.
-миндептх [број] Не примењујте никакве тестове или радње на нивоима мањи од броја (не-негативног цјелина). Израз -миндептх 1 означава процесирање свих датотека осим аргумената командне линије.
-моунт Немојте смањити директоријуме на другим датотечним системима. Алтернативно име за -кдев , за компатибилност са неким другим верзијама налаза .
-нолеаф Не оптимизујте се под претпоставком да директорије садрже 2 мање поддиректоријума од броја њихових тврдих веза. *
- верзија или - верзија Одштампајте број пронађене верзије и излаз.
-кдев Немојте смањити директоријуме на другим датотечним системима.

* Ова опција је потребна приликом претраживања датотечних система који не прате конвенцију Уник дирецтори-линк, као што су ЦД-РОМ или МС-ДОС датотечни системи или АФС тачке за монтирање јачине звука. Сваки директоријум у обичном Уник датотечном систему има најмање 2 хард везе: његово име и његово . (период). Поред тога, његови поддиректорији (ако их има) имају .. унос повезан са том директоријумом.

Када се пронадје испитује директоријум, након што је објавио два мање поддиректорија од броја бројева линкова директоријума, зна да су остали уноси у именику не-директорије ( листа листова у стаблу директорија). Ако треба проверити само имена датотека, нема потребе да их статује; ово даје значајно повећање брзине претраживања.

Тестови

Нумерички аргументи могу бити наведени као:

+ н За више од н.
За мање од н.
н За тачно н.
-амин н Датотека је последњи пут приступљена пре н минута.
-аневер [филе] Датотека је последњи пут приступљена у скорије време него што је датотека измијењена. -анији је под утицајем -следе само ако-долази до раније -но на командној линији.
-тиме н Датотека је последњи пут приступила н * пре 24 сата.
-цмин н Статус датотеке је последњи пут измењен прије н минута.
-цневер [фајл] Статус датотеке је последњи пут промењен него што је датотека измијењена.
- цневер је под утјецајем - само ако је - долази раније - ново на командној линији.
-цтиме н Статус датотеке је последњи пут измењен н * пре 24 сата.
-Свакако Датотека је празна и је или обична датотека или директоријум.
-Фалсе Увек нетачно.
-фстипе [тип] Датотека се налази на датотеци одређеног типа. Важећи типови система датотека варирају између различитих верзија Уника; непотпуна листа типова датотечних система која су прихваћена на некој верзији Уник-а или другој је: уфс, 4.2, 4.3, нфс, тмп, мфс, С51К, С52К. Можете користити -принтф са директивом% Ф да бисте видели врсте ваших датотечних система.
-гид н ИД нумеричке групе датотеке је н .
-гроуп [гнаме] Датотека припада групи гнаме (дозвољена је нумеричка група ИД).
-илнаме [образац] Као - име, али утакмица је неосетљива.
-иним [узорак] Као -наме , али утакмица је неосјетљива. На пример, шаблони за * и Ф? одговара имена датотека Фоо , ФОО , фоо , фОо , итд.
-инум н Датотека има иноде број н .
-апат [образац] Као -патх , али утакмица је неосетљива.
-ирегек [образац] Као -регекс, али утакмица је неосетљива.
-линкс н Датотека има н линкова.
-лнаме [образац] Датотека је симболична веза чији се садржај подудара са шаблонским шаблоном. Метакарактерије не третирају / или . посебно.
-ммин н Подаци о фајлу су последњи пут измењени прије н минута.
-мтиме н Подаци о фајлу су последњи пут измењени н * пре 24 сата.
-наме [образац] База имена датотеке (путања са уклоњеним водећим директоријумима) одговара шаблону. Метацарактери ( * ,? И [] ) не одговарају а . на почетку базног имена. Да игноришете директориј и датотеке испод њега, користите -пруне ; погледајте пример у опису -патх .
-невер [филе] Датотека је недавно измијењена од датотеке . Израз -невер је под утјецајем -следе само ако -напријед долази пре -невер на командној линији.
-нула Ниједан корисник не одговара нумеричком ИД-у датотеке датотеке.
-ногроуп Ниједна група не одговара ИД-у нумеричке групе датотеке.
-пат [образац] Име датотеке одговара шаблонском шаблону . Метакарактерије не третирају / или . посебно; тако, на пример, пронађите. -патх './ср*сц ће штампати унос за директоријум под називом ./срц/мисц (ако постоји). Да бисте игнорисали цело дрво директоријума, користите -пуните пре него проверити сваку датотеку на стаблу. На пример, да бисте прескочили директоријум срц / емацс и све датотеке и директорије испод њега и исписали имена других пронађених датотека, урадите нешто овако: пронађите. -патх './срц/емацс' -пруне -о -принт
-перм [мод] Битови дозволе датотеке су тачно [мод] (октални или симболични). Симболични режими користе начин 0 као полазну тачку.
-перм-мод Сви битови за дозволу [мод] су постављени за датотеку.
-перм + мод Било који од дозвољених битова [режим] подешени су за датотеку.
-регек [образац] Име датотеке одговара обрасцу регуларног израза. Ово је тек на целом путу, а не на претраживању. На пример, да бисте подесили датотеку под именом ./фубар3, можете користити регуларни израз . * Бар. или . * б. * 3 , али не б. * р3 .
-сизе н [бцкв] Датотека користи н јединице простора. Јединице су подразумеване величине 512-бајтних блокова или ако б следи н , бајтова ако ц следи н , килобајта ако к следи н , или 2-бајтне речи, ако в следи н . Величина не броји индиректне блокове, већ броји блокове у ретким датотекама које нису стварно додијељене.
-истина Увек истина.
тип ц Датотека је типа ц :
б Блок (пуфериран) посебан
ц Карактер (неупотребљен) посебан
д Именик
стр Наменска цијев (ФИФО)
ф Обична датотека
л Симболичка веза
с Соцкет
Д врата (Соларис)
-уид н Нумерички кориснички ИД датотеке је н .
-усед н Датотека је последњи пут приступила н дан након њеног последњег промена.
-усмер унаме Датотека је у власништву корисника унаме (нумерички кориснички ИД је дозвољен).
- тип ц Исто као и тип, осим ако је датотека симболична веза. За симболичке везе: ако -фоллов није дата, тачно ако је датотека веза до датотеке типа ц ; ако је дата -фоллов , тачно ако је ц л. Другим речима, за симболичке везе,
-стипе проверава врсту датотеке коју -типе не проверава.

Акције

-екец цомманд ;

Изврши команду ; тачно ако је враћено 0 статус. Сви следећи аргументи се сматрају аргументима команде док аргумент који се састоји од `; ' наилази. Низ `{} 'замењује се тренутним именом датотеке који се обрађује свуда где се то дешава у аргументима команде, не само у аргументима где је сам, као у неким верзијама налаза . Обе ове конструкције можда би требало избегавати (са `\ ') или их цитирати да би их заштитили од експанзије за љуску. Команда се извршава у почетном директоријуму.

-флс филе

Истина; попут -лс, али пишете у датотеку као -принт.

-принт датотека

Истина; исписати пуно име датотеке у датотеку датотеке . Ако датотека не постоји када је проналазак покренут, он се креира; ако постоји, он је скраћен. Називи фајлова `` / дев / стдоут '' и `` / дев / стдерр '' се обрађују посебно; они се односе на стандардни излаз и стандардни излаз грешке, респективно.

-принт0 филе

Истина; попут -принт0 али пишете у датотеку као -принт.

-фпринтф формат датотеке

Истина; као -принтф али пиши у датотеку као -принт.

-ок цомманд ;

Као -екец, али питајте корисника прво (на стандардном улазу); ако одговор не почиње са `и 'или` И', немојте покренути команду, а вратити фалсе.

-принт

Истина; штампати пун назив датотеке на стандардном излазу, а затим следи нова линија.

-принт0

Истина; штампати пун назив датотеке на стандардном излазу, а затим нула знак. Ово омогућава имена датотека која садрже нове линије које треба исправно тумачити од стране програма који обрађују финд излаз.

-принтф формат

Истина; формат штампања на стандардном излазу, тумачење `\ 'бекапова и`%' директива. Ширина поља и прецизности могу се специфицирати као са `принтф 'Ц функцијом. За разлику од -принт, -принтф не додава нову линију на крају стринга. Избјеглице и директиве су:

\ а

Звоно.

\ б

Бацкспаце.

\ ц

Одмах прекините штампање из овог формата и испразните излаз.

\ ф

Облик хране.

\ н

Нова линија.

\ р

Превоз Повратак.

\ т

Хоризонтална таб.

\ в

Вертикални таб.

\\

Добра бацксласх (`\ ').

\ ННН

Карактер чији је АСЦИИ код ННН (октални).

Знак `\ 'праћен било којим другим знаком третира се као обичан знак, тако да су оба одштампана.

%%

Знак доброг процента.

% а

Последње време приступа датотеке у формату који је вратио функција Ц `цтиме '.

% А к

Последње време приступа датотеке у формату који је наведен од к , што је или `@ 'или директива за Ц` стрфтиме' функцију. Могуће вредности за к су наведене у наставку; неки од њих можда нису доступни на свим системима, због разлика у "стрфтиме" између система.

@

секунди од 1. јануара 1970, 00:00 ГМТ.

Временска поља:

Х

сат (00..23)

Ја

сат (01..12)

к

сат (0..23)

л

сат (1..12)

М

минут (00..59)

стр

локални АМ или ПМ

р

време, 12 сати (хх: мм: сс [АП] М)

С

друго (00..61)

Т

време, 24-сатно (хх: мм: сс)

Икс

представљање времена лоцале (Х: М: С)

З

временска зона (нпр. ЕДТ) или ништа ако временска зона није одређена

Поља датума:

а

Скраћен назив локалног дана у недељи (Сун..Сат)

А

локално име пуне дневне дане, варијабилна дужина (недеља..сатурдаи)

б

скраћени назив локалног језика (Јан..Дец)

Б

Локално име за пун мјесец, варијабилна дужина (јануар ..децембар)

ц

локални датум и време (суб нов 04 12:02:33 ЕСТ 1989)

д

дан у месецу (01..31)

Д

датум (мм / дд / ии)

х

исто као и б

ј

дан у години (001..366)

м

месец (01..12)

У

недељни број године са недељом као први дан у недељи (00..53)

в

дан у недељи (0..6)

В

недељни број године са понедјељком као први дан у недељи (00..53)

Икс

презентација локалног датума (мм / дд / ии)

и

последње две цифре године (00..99)

И

година (1970 ...)

% б

Величина датотеке у блоковима од 512 бајтова (заокружено).

% ц

Последње време промене статуса датотеке у формату који је вратио функција Ц `цтиме '.

% Ц к

Последње време промене статуса датотеке у формату који је наведен од к , што је исто као и за% А.

% д

Дубина датотеке у стаблу директорија; 0 значи да је датотека аргумент аргумената.

% ф

Име датотеке са било којим водећим директоријима уклоњено (само последњи елемент).

% Ф

Тип датотечног система на којем је датотека укључена; ова вриједност се може користити за -фстипе.

% г

Име групе датотеке или нумеричка ИД група ако група нема име.

% Г

ИД нумеричке групе датотеке.

% х

Водећи директоријуми имена фајла (све осим последњег елемента).

% Х

Аргумент командне линије под којим је пронађена датотека.

% и

Број иноде датотеке (у децималном броју).

% к

Величина датотеке у 1К блоковима (заокружено).

% л

Објект симболичке везе (празан низ ако датотека није симболична веза).

% м

Битови дозволе датотеке (у окталној верзији).

% н

Број тешких линкова у датотеку.

% п

Име датотеке.

% П

Име датотеке са називом аргумента командне линије под којом је пронађено уклоњено.

% с

Величина фајла у бајтовима.

% т

Последње време модификације датотеке у формату који је вратио функција Ц `цтиме '.

% Т к

Последње време модификације датотеке у формату који је наведен од к , што је исто као и за% А.

% у

Корисничко име датотеке или нумеричко корисничко име ако корисник нема име.

% У

Бројчани кориснички ИД датотеке.

Знак `% 'који прати било који други знак је одбачен (али се други знак штампа).

-пруне

Ако -дептх није дат, тачно; не спуштајте тренутни директоријум.
Ако је дато, фалсе; Без ефекта.

-лс

Истина; пописите тренутну датотеку у формату `лс -дилс 'на стандардном излазу. Број блокова је 1К блокова, осим ако није постављена варијабла окружења ПОСИКСЛИ_ЦОРРЕЦТ, у том случају се користе 512-бајтни блокови.

Оператори

Наведено по редоследу опадања:

( екпр )

Предност силе.

! екпр

Истина ако је екпр неисправан.

-нот екпр

Исто као ! екпр .

екпр1 екпр2

И (имплицитно); екпр2 се не процењује ако је екпр1 лажан.

екпр1екпр2

Исто као екпр1 екпр2 .

екпр1- и екпр2

Исто као екпр1 екпр2 .

екпр1екпр2

Или; екпр2 се не процењује ако је екпр1 тачан.

екпр1- или екпр2

Исто као екпр1екпр2 .

екпр1 , екпр2

Листа; оба екпр1 и екпр2 се увек процењују. Вредност екпр1 је одбачена; вредност листе је вредност екпр2 .

Примери

пронађи / хоме -усер Џо

Нађите све датотеке испод директоријума / куће у власништву корисника Јое.

пронађи / уср -наме * стат

Пронаћи сваки фајл испод директоријума / уср који се завршава у ".стат".

нађите / вар / споол -мтиме +60

Пронађите сваку датотеку под именом / вар / споол која је измењена пре више од 60 дана.

финд / тмп -наме цоре -типе ф -принт | каргс / бин / рм -ф

Нађите датотеке назване језгро у или испод директоријума / тмп и избришите их. Имајте на уму да ће ово радити погрешно ако постоје имена датотека која садрже нове линије, појединачне или двоструке цитате или размаке.

финд / тмп -наме цоре -типе ф -принт0 | каргс -0 / бин / рм -ф

Нађите датотеке назване језгро у или испод директоријума / тмп и обришите их, обрадите имена датотека тако да имена датотека или директоријума који садрже појединачне или двоструке цитате, размаке или нове линије исправно се обрађују. Тест -наме испада испред теста типа, како би се избегло позивати стат (2) на сваку датотеку.

пронађи. -типе ф -екец фајл '{}' \;

Покреће `фајл 'у свакој датотеци у или испод тренутног директоријума. Обратите пажњу на то да су огрлице приложене појединачним ознакама како би их заштитили од тумачења као интерпункционална слова. Подсказка је на сличан начин заштићена коришћењем бацксласх-а, иако ';' могло се користити иу том случају.

финд / \ (-перм -4000 -принтф /роот/суид.ткт '% # м% у% п \ н' \), \ \ (-сизе + 100М -принтф /роот/биг.ткт '% -10с% п \ н '\)

Пређите фајл систем само једном, наводећи сетуид датотеке и директорије у /роот/суид.ткт и велике датотеке у /роот/биг.ткт .

пронађи $ ХОМЕ -мтиме 0

Потражите датотеке у вашем кућном директоријуму који су измењени у последња 24 часа. Ова команда ради овако јер је време од када је свака последња измијењена датотека подељена на 24 сата и било који остатак је одбачен. То значи да се подударају -мтиме

0 , фајл ће морати имати модификацију у прошлости која је пре мање од 24 сата.

пронађи. -перм 664

Потражите датотеке које имају дозволу за читање и писање за њиховог власника и групе, али које друге кориснике могу читати али не и писати. Датотеке које испуњавају ове критеријуме, али имају друге битове дозвола (на примјер, ако неко може извршити датотеку) неће бити упарени.

пронађи. -перм -664

Потражите датотеке које имају дозволу за читање и писање за њиховог власника и групе, а које други корисници могу читати, без обзира на присуство додатних битова за дозволу (на примјер извршни бит). Ово ће се подударати са датотеком која има режим 0777, на пример.

пронађи. -перм / 222

Тражите датотеке које могу писати неко (њихов власник, или њихова група, или било ко други).

пронађи. -перм / 220 нађите. -перм / у + в, г + в наћи. -перм / у = в, г = в

Све три ове наредбе раде исту ствар, али прва користи окталну репрезентацију режима датотеке, а друга два користе симболички облик. Ове команде траже фајлове које могу писати било њихов власник или њихова група. Датотеке не морају бити записане од стране власника и групе које треба упарити; било ће учинити.

пронађи. -перм -220 наћи. -перм -г + в, у + в

Обе ове наредбе раде исту ствар; потражите датотеке које могу писати њихови власници и њихова група.

пронађи. -перм -444 -перм / 222! -перм / 111 нађите. -перм -а + р -перм / а + в! -перм / а + к

Ове две команде претражују фајлове који су читљиви за све (-перм -444 или -перм -а + р), имају барем сет сет бит (-перм / 222 или -перм / а + в), али се не могу извршити за било кога (! -перм / 111 и! -перм / а + к респективно)

Важно: Користите команду човјека ( % човјек ) да бисте видели како се на вашем рачунару користи команда.