Греп и пронађите правила оператора за Линук

Греп и пронађите правила оператора за Линук

У почетку, УНИКС / Линук оперативни системи нису имали графички интерфејс, јер су били фокусирани на употребу сервера. Данас у том погледу, они нису инфериорнији од Виндовс-а, због чега корисници користе овај ОС ретко знају синтаксу и сврху главних Линук наредби. У међувремену, ово је веома моћан алат који вам омогућава да брзо обављате операције да је коришћење основних алата ОС-а проблематично или немогуће. Данас ћете упознати на проналажењу и ГРЕП оператерима који су основни за датотечни систем свих Линук дистрибуција.

Именовање оператора Пронађи и Грепа

Теам Пронађи у Линуку је оператор командне линије да ради са датотекама заобилазећи постојећу хијерархију. Омогућава вам да потражите датотеке користећи многе филтере, као и изведене одређене акције преко датотека након успешне претраге. Међу критеријумима за претраживање датотека су скоро све доступне атрибуте, од дана креирања до решавања.

ГРЕП тим у Линуку такође се односи на претраживаче, али унутар датотека. Дословни превод тима је "Глобално штампање регуларних израза", али овде је заптивка подразумевано закључивање резултата рада на уређају, што је обично монитор. Имајући огроман потенцијал, оператор се користи прилично често и омогућава вам да претражите унутар једне или више датотека према наведеним фрагментима (предлошци). Пошто се терминологија у Линуку значајно разликује од таквих у оперативним системима, многи корисници имају значајне потешкоће користећи ове команде. Покушаћемо да елиминишемо овај недостатак.

Греп и пронађите синтаксу

Почнимо са оператором на проналажењу. Синтакса тима за претраживање датотека изгледа овако:

Пронађите [где да изгледате] [параметри] [-Оптиц] [Ацтион]

Неке употребе параметра:

  • -Дубина: Претражите у тренутној мапи и субкаталистима;
  • -Верзија: Донесите верзију тима;
  • -Штампај: Прикажи комплетна имена датотека (у Линуку могу бити произвољно велике);
  • -Тип Ф: Претражите искључиво датотеке;
  • -Тип Д - Претражите само директоријум (мапе).

Списак доступних опција (назначено кроз цртицу):

  • Име: Претрага датотека по имену;
  • Корисник: Претражите по имену власника датотека;
  • Перм: Према атрибуту "Приступни режим";
  • МТОМЕ: У време последње промене (уреди) датотеке;
  • Група: Групом;
  • Атиме: до датума последњег отварања датотеке;
  • Новије: Тражење датотеке са датумом више од директиве наведене у обрасцу;
  • Величина: По величини датотеке у бајтовима;
  • Ноусер: Потражите датотеке које немају унесени атрибут "власник".

Греп синтакса:

Греп [Опције] Предложак [Где да погледате]

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

Шаблон показује шта треба потражити коришћењем директно одређеног линије или редовног изражавања.

Могућност коришћења регуларних израза може значајно проширити могућности претраге. Назнака стандардног закључка може бити корисна ако је задатак филтрирање грешака снимљених у дневника или да тражи ПИД процес у резултатима ПС наредбе, што може бити вишеструко.

Размотрите најчешће ГРАС параметре:

  • -Б: Прикажите број блока пре него што издате добијену линију;
  • -Ц: Неопходно је израчунати број уноса жељеног фрагмента;
  • -И: потражите регистар регистрације;
  • -Н: Издајте број линије на стандардни излазни уређај у којем је пронађен жељени фрагмент или шаблон;
  • - Л: Као резултат издавања, требало би да буду присутни само имена датотека са фрагментним фрагментом;
  • -С: Игнорирајте излаз грешке;
  • -В: Потражите фрагмент окружен обе стране у размацима;
  • -В: Инвертеровата претрага, односно приказ свих линија које не садрже дато фрагмент;
  • -Е: Параметар означава да даље редовно изражавање који има сопствену синтаксу;
  • -Ан: Закључак жељеног фрагмента и претходних Н редака;
  • -БН: Исто, али са линијама које траје након шаблона.

Сада има смисла да се пресели од теоријског дела на практично.3

Примери коришћења комуналних услуга

Ако знате које су комбинаторике, тада треба да буде представљен истински број могућих комбинација тимова за претрагу. Ограничићемо се само на најкориснијим примерима који вам могу бити корисни током рада.

Потражите текст у датотекама

Имајте праву администратора и имамо задатак да пронађемо одређеног корисника у огромној датотеци лозинке. Требаће нам прилично једноставан тим који указује на пут постављања датотеке:

Греп намесник / етц / пассвд

Ако је резултат претраживања позитиван, добит ћемо резултирајућу линију отприлике следећег типа:

Намесеч: Кс: 1021: 1021: намесник ,,,, / / ​​/ код / ​​Корисник: / бин / басх

Ако требате да претражите фрагмент текста без узимања у обзир регистар регистра, тим ће изгледати овако:

Грас -и "намесник" / итд / пас

У овом случају, назубиће се кориснички број намештаја и њихово име "имена), као и све остале могуће комбинације.

Закључак неколико линија

Дозволите нам све грешке из дневника прозора Схелл Ксорг.Пријава. Задатак је компликован чињеницом да ће након погрешног низу који садржи драгоцене информације. Одлучује се ако приморавамо наредбу да приказује неколико линија користећи линију "ПП" као образац:

ГРАС -А5 "ПП" / вар / лог / корг.0.Пријава

Добијамо линију која садржи шаблон и 5 линија након тога.

ГРАС -Ц3 "ПП" / вар / лог / корг.0.Пријава

Линијски излаз са фрагментом текста и три линије пре и после.

Користећи редовне изразе у ГРЕП-у

Ово је један од најмоћнијих Линук алата који значајно проширују могућност формирања обрасца за претрагу. Редовни изрази имају своју синтаксу, прилично компликован. Нећемо уложити у то, ограничавајући се на примеру употребе РВ-а. Као што већ знате, да назначите да се редовни израз додатно користи, користи се параметар -Е.

Пусти нас у датотеку са порукама.2 Морамо ухватити све линије за септембар:

Греп "^ сеп 09"

Резултат ће бити овако нешто:

09. септембра 01:11:45 ГС124 НТПД [2243]: Време ресетовање +0.197579 с

09. септембра 01:19:10 ГС124 НТПД [2243]: Време ресетовање +0.203484 с

Да бисте потражили шаблон који се налази на крају траке, користи се симбол "$":

Греп "Термин.$ "Поруке

Резултат:

17. јун 19:01:19 Цлонеме кернел: мандат даемон.

11. септембар 06:30:54 Цлонеме кернел: мандат даемон.

И ево примера коришћења регуларног израза који вам омогућава да потражите линије које садрже било који број осим нуле:

Греп "[1-9]" / вар / лог / корг.1.Пријава

Коришћење рекурзивне претраге у ГРЕП-у

Ако сте упознати са термином "Рекурзија", затим у Линуку ову технику се посебно користи да тражи фрагмент у неколико датотека које се налазе у каталогу и његовим подзаконима. Опција -Р ће указати на присуство рекурзије. Потражимо фрагмент "надедомаин.ОРГ "у датотекама које се налазе у подзацама мапе / етц / Апацхе1:

Грас -р "надедомаин.Орг "/ етц / апацхе1 /

Резултат је можда нешто слично:

/ етц / апацхе1 / вхостс.Д / надедомаин.Орг

Ако име датотеке није потребно, користимо -Х: Х:

Греп -Х -Р "надедомаин.Орг "/ етц / апацхе1 /

Потражите речи

Стандардно ће потрага за КВЕ фрагментом завршити издавањем свих речи у којима се налази овај фрагмент: КБКВЕ, КВЕ123, ААФРКВЕ32. Да бисте ограничили претрагу само са датом фрагментом, морате да користите -В параметар:

ГРАС -В "КВЕ" Где да нађете

Потражите две или више речи

Закомпликовати задатак: Морамо пронаћи све линије у којима се налазе две речи. Тим ће бити овакав:

ГРАС -В "ВОРД01 | ВОРД02" Где_ да нађете

Број линија

Ако је потребно за израчунавање. Колико је пута жељени фрагмент налази у датотеци, дизајн користимо са -Ц параметром:

Грас -ц "'Текст" где_ да нађете

-Н параметар помаже да се сазна у којој је линији пронађен жељени шаблон:

ГРАС -Н "НУСЕР" / ЕТЦ / Пассвд

Преокренута претрага помоћу Грепа

Понекад задатак претраживања употребе ГРЕП-а са садржајем датотека није да се нађе сам унос, већ и линије у којима је овај фрагмент одсутан. Опција -В ће нам помоћи:

ГРАС -В "ТКСТ" где_ да нађете

Излаз имена датотеке

Дозволите да пронађете све датотеке у наведеном директорију који садржи жељени образац. То се може учинити помоћу параметра -Л. Дакле, пуна команда за излаз датотека која садржи низ "секундарно" у мапи / ЕТЦ-у ће изгледати на следећи начин:

Греп -Л "Секундарно" / итд

Излаз у боји помоћу Грепа

Остатак са другом бојом је одличан начин да се визуализује жељени улазак који значајно смањује оптерећење на очима ако се операција често изводи. Испада да је Грас има опцију за овај излаз резултата претраге:

Грепор - Болор "Секундарно" / итд

Настављамо на разматрање примера коришћења услужног програма за проналазак у Линуку.

Потражите све датотеке

Да бисте повукли листу датотека које се налазе у тренутном каталогу, користимо наредбу у следећем формату:

Пронаћи .

Ако требате да покажете пуно име датотека, користимо команду

Пронаћи . -Штампа

Излаз датотеке у датом каталогу

Да бисте тражили датотеке у фасцикли коју је дефинисао корисник, користимо команду

Пронаћи ./ итд

Али како можете пронаћи датотеке које садрже дато фрагмент у тренутном каталогу:

Пронаћи . -Име "*.Гиф "

Ако се претрага мора извршити без рачуноводства за регистар, наредбу је потребно изменити:

Не узимајте у обзир регистар када претражите по имену:

Пронаћи . -У мени "*.Гиф "

Ограничавајући дубину претраге

Други прилично типични задатак је да потражите датотеке у одређеној мапи у складу са датим именом:

Пронаћи . -макдептх01 1 -Наме "*.Хтмл "

Инвертирање шаблона

Већ смо сматрали аналогном тима да тражи линије које не садрже дато фрагмент. На исти начин можете да урадите са датотекама које не одговарају датом предлошку:

Пронаћи . -Не -Наме "Корисник *"

Претражите по неколико критеријума

Дајемо пример командне линије користећи услужни програм Проналажење за претрес по два критеријума користећи оператер не (искључење):

Пронаћи . -Назив "Корисник" -Нет -Наме "*.Хтмл "

У овом случају датотеке чије име укључује кориснички фрагмент, али који имају продужење, неће се наћи. Уместо оператора изузетка можете користити логички "/" или "::

Пронађите -Наме "*.ЈС "-О -Наме" *.СКЛ "

У овом случају, добићемо комплетну листу датотека са обе проширења смештене у тренутном директорију.

Претражите у неколико каталога

Ако морамо пронаћи датотеке у два каталога, само назначите од јаза:

Пронађите -тип ф ./ тест01 ./ тест02 -Наме "*.СКЛ "

Потражите скривене датотеке

У Линуку, као и у оперативним системима, постоје скривене датотеке које, када користе наредбу за проналажење, неће се приказати без посебног симбола. Овај симбол је Тилда, а Директива ће имати следећи поглед:

Пронађи ~ -Наме ".* "

Потражите датотеке у Линуку путем дозвола

Понекад постоји потреба за филтром каталога за одређену маску права. На пример, ако морамо пронаћи датотеке са атрибутом 0661, користимо команду:

Пронаћи . -Перм 0661

Задатак филтрирања датотека са атрибутом "Само за читање" је решено на следећи начин:

Пронађи / итд / усер--перм / у = р

Али шта ће потражити извршне датотеке у каталогу ЕТЦ-а изгледа:

Пронађи / ЕТЦ -ПЕРМ / А = Кс

Потражите датотеке по групама / корисника

Администратор се често мора суочити са задатком да се тражи датотеке које су власништво одређеног корисника и / или групе. Тражи по кориснику:

Пронаћи . -Корисник славко

За групе корисника користи се још један параметар:

Пронађи / ВАР -Гроуп Девс

Претражите по датуму последње измене

Видљиви формат датума датотеке у Линуку ОС је управо датум његове модификације (исти принцип користи се у оперативним системима Виндовс). Да би се добила листа по датуму, користи се опција ММи. Рецимо да морамо пронаћи датотеке промењене пре два месеца:

Пронађи / ХОМЕ -МТИМЕ 60

Међу атрибутима датотеке постоји датум његовог последњег открића (без давања промена). Такве датотеке се приказују следећим наредбом:

Пронађи / дом -Атиме 60

Такође можете подесити временски интервал. Да бисте тражили датотеке модификоване пре четири до два месеца, користимо директиву:

Пронађи / ХОМЕ -МТИМЕ +60 -МТИМЕ -120

Али како пронаћи свеже измењене датотеке (пре два сата):

Пронађи / дом -Цмин 120

Потражите датотеке по величини

Осумњичени да неко користи диск за филмове? Тражимо величину датотека 1.4ГБ:

Пронађите /--Сизе 1400м

Или користите опсег:

Пронађите /--Сизе + 1400М -Сизе -2800м

Потражите празне датотеке / каталоге

Да, не чуди се. Задатак рестаурације на медијима карактеристичан је не само за Андроид ОС. У Линуку се одлучује уз помоћ такве директиве:

Пронађи / ВАР-тип ф -емпти

Пример радњи са пронађеним датотекама

У Линуку, тим Проналажење може рекурзивно извршити одређене радње са тим датотекама, потрагом за коју вршите. Да бисте извршили команде датотека, морате да користите параметар ЕКСЕЦ. Дакле, Директива за приказивање информација о свим датотекама користећи ЛС наредбу ће изгледати овако:

Пронаћи . -ЕКСЕЦ ЛС -Л \;

Али како једноставно можете да избришете привремене датотеке са датом маском у директорију / кући / темп.:

Пронађи / ТМП -ТИПЕ Ф -НАМЕ "*.ХТМЛ "-ЕКСЕЦ РМ -Ф \;

Наравно, за почетнике, коришћење командне линије са огромним бројем опција биће донекле сложени начин, али у Линуку је то редослед ствари. И како бисте решили проблеме описане овде у Виндовс-у? То је исто. У овом аспекту, Линук је очигледно пред нама.