Как да използвате примерите за команда Grep и Tree Linux

Съдържание

Една от най -универсалните операционни системи за управление чрез терминала несъмнено е Linux във всяка от наличните му дистрибуции и това благодарение на интегрирането на множество команди, налични в неговата конзола. Няма значение дали използваме терминална система (като сървърните версии) или среда, базирана на графичен потребителски интерфейс (като версиите за настолни компютри), във всички тях терминалът и неговите команди винаги ще бъдат надежден източник за управление и поддържа.

В рамките на ежедневните ни дейности е създаването и редактирането на папки и файлове, които могат да бъдат многобройни в зависимост от изиграната роля. Това в даден момент на поддръжка е нормално, че по един или друг начин се отразява негативно на търсенето на елементи не само от броя на файловете, но и от местоположението, където се хостват.

За да улесним управлението на тези видове дейности по много по -опростен начин, имаме две основни команди както за търсене, така и за преглед на обекти в Linux и те са командите Grep и Tree. Solvetic ще обясни подробно тяхното използване и как да ги приложим цялостно в дистрибуцията на Linux, която използваме.

1. Какво представлява командата GREP

Какво представлява командата GrepGrep е команда, разработена за изпълнение на задачи за търсене на текст, Grep отговаря за търсенето във файла, който посочваме редовете, в които се открива съвпадение или с думите, или с низа, който задаваме по време на изпълнението на това. Името му е получено от редактора на UNIX g / re / p. По време на изпълнението на Grep ще бъде възможно да се посочи име на файл или е възможно да се напусне стандартното въвеждане, като по този начин Grep отговаря за генерирането на съответстващите редове.

Греп променливиИма три (3) променливи, управлявани по време на процеса Grep, които са:

  • -G, --basic-regexp: това е отговорно за интерпретирането на шаблона като основен регулярен израз, това е стойността по подразбиране.
  • -E, --extended-regexp: Тази опция валидира модела като разширен регулярен израз.
  • -F, --fixed-strings: с тази опция моделът се интерпретира като списък с фиксирани символни низове, разделени с прекъсвания на редове, където съвпадението ще бъде намерено във всеки от тях.

Командата Grep (Global Regular Expression Print) е команда, която ще ни позволи да анализираме системата, за да намерим съвпаденията и след като бъдат открити, да продължим да отпечатваме резултатите, така че да е възможно централно управление на тези резултати.

Греп синтаксисСинтаксисът за използване на командата Grep е следният:

 grep (опция) Pattern (файл) 

Параметри на командата GrepИма редица параметри, които можем да използваме с командата grep, за да получим най -добри резултати, това са:

  • -E, --extended-regexp: Моделите се разбират като регулярни изрази
  • -F,-фиксирани низове: Моделите са низове
  • -G, --basic-regexp: Моделите са основни регулярни изрази
  • -P, --perl-regexep: Моделите са изрази на Perl
  • -e, regexp = PATTERNS: Търсене на модели за съвпадения
  • -F. -файл (файл): Използвайте шаблони като файл
  • -i, --ignore-case: Игнорирайте изписването с главни букви
  • -w, --word-regexp: Съпоставете всички едни и същи думи
  • -x, --line-regexp: Сравнете всички редове
  • -s, --no-messages: Премахване на съобщения за грешка
  • -v, --invert-match: Изберете редовете, които не отговарят на критериите за търсене
  • -V, --version: Показва използваната версия на grep
  • -m, --max-count = NUM: Спрете търсенето след определен брой редове
  • -b, --byte-offset = Показване на изместването на байта до изходните редове
  • -n, --line-number: Отпечатайте броя редове
  • -H, --with-filename: показва името на файла в изходните редове
  • -q, --quiet: Потискайте всички резултати
  • -d, --directories = Действие: Показва как се обработва директории
  • -l, --files-without-match = Отпечатайте само имена на файлове, без редове
  • -c, --count: Печат на избрани редове на файл

Нямам команда GrepКомандата grep е по подразбиране в дистрибуциите на Linux, но ако по някаква причина нямате такава, можете да я инсталирате със следните команди:

 sudo apt-get install grep (Debian и Ubuntu) sudo yum install grep (Redhat, CentOS и Fedora)

Етап 1
Общият синтаксис, който може да съдържа множество параметри, е следният:

 grep [-AB] номер] [-CEFGVbchiLlnqsvwxyUu] [[-e] модел | -f файл] [--extended-regexp] [--фиксирани низове] [--basic-regexp] [--regexp = PATTERN] [--file = FILE] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--version] [--help] [--byte-offset] [- -line-number] [--with-filename] [--no-filename] [--quiet] [--silent] [--files-without-match] [--files-with-matcces] [-брой ] [--before- context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] файлове … 
Стъпка 2
Ще видим някои примери за използване на Grep, преди да знаем неговите параметри. Ако искаме да търсим в директорията / etc / passwd за всичко, свързано с конкретен потребител, можем да изпълним следното:
 grep "потребител" / etc / passwd 
Стъпка 3
Резултатът ще бъде следният:

Стъпка 4
Също така ще бъде възможно да принудите командата Grep да игнорира главни и малки букви, тоест да разреши съвпадението на решение, Solvetic или SOLVETIC заедно с всички комбинации, използвайки параметъра -i:

 grep -i "решаващ" / etc / passwd 

Стъпка 5
Тази опция може да се изпълни и с помощта на командата cat по следния начин:

 cat / etc / passwd | grep -i "решаващ" 

2. Примери за използване на командата Grep


Използването на команди в операционни системи Linux е задължителна задача за всички ИТ администратори и потребители, тъй като благодарение на тях можем да изпълняваме стотици административни, информационни и задачи за поддръжка. Има множество команди, всяка със свои критерии и функции, но една от тях, специална за търсене на текст във файлове, разположени в директории или папки, е командата Grep.

Сега ще видим как да използваме командата Grep в Linux.

Как да използвате Grep като цялоЗа да разберем как работи Grep, ще търсим в директорията / etc / passwd за всички резултати, свързани с нашия потребител:

 grep solutiontic / etc / passwd 
В резултат на това ще видим следното:

Като допълнителен момент, нека си припомним, че е възможно да се каже на grep да игнорира главни и малки букви в резултатите, за това изпълняваме следното:

 grep -i "решаващ" / etc / passwd 

Grep е идеален за търсене на конкретни термини в известни файлове, например, нека изпълним следното търсене:

 grep Solvetic Solvetic.txt 
В резултат на това ще видим редовете, където тази дума се повтаря:

Можем да търсим същия този термин в различни файлове едновременно, за това ще използваме следния ред:

 grep Solvetic Solvetic.txt Solvetic1.txt 

По -кратък начин да направите това е като изпълните следното:

 grep Solutiontic *. * 

Как да използвате grep за пренасочване на резултатите към файл в LinuxТова е полезно за случаи, в които по -късно трябва да изпълняваме задачи по администриране на файловете, така че е възможно да пренасочим изхода на командата grep към конкретен файл, например ще направим следното:

 grep Solvetic Solvetic.txt> Solvetic2.txt 
В резултат на това ще видим, че необходимия текстов файл е създаден:

Увеличете

Как да използвате grep за търсене в директорииБлагодарение на параметъра -r ще можем да търсим стойност в наличните поддиректории, ще изпълним следното:

 grep -r Solvetic / home / Solvetic 
Това ще търси в цялата домашна директория термина, подчертаващ откритите резултати:

Как да използвате grep за показване на номера на редЗа одитни или разширени задачи за поддръжка е идеално да се покаже номерът на реда, където е намерен шаблонът за търсене, за това можем да използваме параметъра -n, както следва. Там откриваме номера на реда, където се намира всяка стойност.

 grep -n Solvetic Solvetic.txt 

Как да използвате grep, за да подчертаете резултатитеТъй като знаем, че текстът може да се обърка много пъти, решението е да подчертаем критериите за търсене, които фокусират изгледа ни директно върху този ред, за това ще използваме цветовия параметър по следния начин:

 grep -цветен Solvetic Solvetic.txt 

Как да използвате grep за показване на редове, които започват или завършват с посочения шаблонВъзможно е да искаме да видим само резултатите от редовете, които започват или завършват с критерии за търсене, за това, ако искаме да търсим редовете, които започват, ще използваме следния ред:

 grep Solvetic Solvetic.txt 

Сега, за да покажем редовете, които завършват, ще използваме следното:

 grep Solvetic $ Solvetic.txt 

Как да използвате grep за отпечатване на всички редове, без да виждате кои от тях съвпадатАко искаме да видим всички редове с изключение на тези, където се търси стойността, трябва да използваме параметъра -v по следния начин:

 grep -v Solvetic Solvetic.txt 

Как да използвате grep с други командиGrep, подобно на много команди на Linux, може да се използва едновременно с други команди за по -ясни резултати, например, ако искаме да внедрим HTTP процеси, ще използваме grep заедно с ps, както следва:

 ps -ef | grep http 

Как да използвате grep, за да преброите колко дума се повтаря във файлАко искаме да знаем колко пъти даден модел се повтаря в определен файл, ще използваме параметъра -c:

 grep -c Solvetic Solvetic.txt 

Как да използвате grep за обратно търсенеВъпреки че звучи странно, това не е нищо повече от показване на думите, които не посочваме в резултата, постигаме това с параметъра -v:

 grep -v Solvetic Solvetic2.txt

Как да използвате grep, за да видите подробности за хардуераВиждали сме преди, че можем да комбинираме grep с други команди, за да покажем резултат, добре, ако искаме да получим конкретни хардуерни подробности, можем да използваме cat с grep по следния начин:

 cat / proc / cpuinfo | grep -i 'Модел' 

Научихме глобално за използването на командата grep за достъп до много по -конкретни резултати от критериите за търсене в Linux.

3. Как да използвате командата Grep Linux рекурсивно

Етап 1
Grep ни дава възможност за изпълнение на рекурсивно търсене, тоест това търсене чете всички файлове във всяка директория за конкретен низ, например IP адреса на компютъра, можем да изпълним някоя от следните опции:

 grep -r "192.168.0.25" / etc / или grep -R "192.168.0.25" / etc /

ЗабележкаТам можем да въведем текущия IP адрес на използваното оборудване.

Стъпка 2
Можем да изпълним същото и с IP 192.168.1.5, който системата използва за стандартни изходи:

Стъпка 3
Можем да забележим, че и с двата IP адреса се показва отделен ред, предшестван от името на файла, в който е открит, ако искаме да премахнем включването на тази стойност, ще бъде възможно да го потиснем с помощта на опцията -h като този:

 grep -h -R "192.168.1.5" / etc / или grep -hR "192.168.1.5" / etc /

ЗабележкаТази команда трябва да се изпълнява като root или чрез добавяне на sudo към командата.

4. Как да използвате командата Grep Linux за търсене на думи

Етап 1
Grep е полезен за търсене на термини в определен файл, като по този начин резултатът ще покаже по подчертан начин всеки ред, където е намерена думата за търсене, както и думите (не са подчертани), които придружават термина за търсене, синтаксисът, който трябва да се използва, е следното. В този случай са открити 3 съвпадения във файла Solvetic1.

 grep -w "word" файл

Стъпка 2
В случай, че искаме да търсим два термина във файл, трябва да изпълним следния синтаксис с помощта на командата egrep. Както виждаме, търсените думи ще бъдат маркирани в резултата.

 egrep -w 'term1 | term2' файл 

5. Как да използвате командата Grep Linux за броене на думи

Етап 1
Друга от практическите опции на Grep е възможността да знаете колко пъти дадена дума се повтаря в конкретен файл, това се постига благодарение на параметъра -c по следния начин:

 grep -c 'word' файл 

Стъпка 2
Като алтернатива можем да използваме параметъра -n, за да предхождаме всеки изходен ред с номера на реда, в който е въведен в избрания файл:

 grep -n 'word' файл 

6. Как да принудите командата Grep Linux за обратно търсене


С обратното търсене имаме предвид, че командата Grep ще показва само резултати от тези редове, които не съдържат определената дума, това се постига с параметъра -v по следния начин:
 grep -v "терминен" файл 

7. Как да използвате UNIX / Linux Pipes заедно с командата Grep

Етап 1
Командата Grep в Linux може да се комбинира с тръби на UNIX черупка, например, ако искаме да изброим името на устройствата с твърд диск, ще изпълним следния ред:

 dmesg | egrep '(s | h) d [a-z]' 

Стъпка 2
Там резултатите ще бъдат показани с цялата съответна информация. За да покажем модела на процесора, изпълняваме:

 cat / proc / cpuinfo | grep -i 'Модел' 

Стъпка 3
За същия резултат можем да изпълним и следното:

 grep -i 'Модел' / proc / cpuinfo 
Стъпка 4
Едно от най-специалните приложения на командата Grep или egrep е възможността да филтрирате изхода на традиционните команди като yum, dpkg, apt или apt-get. Например, можем да изпълним следния ред, за да намерим Linux изображения с dpkg:
 dpkg --list | grep linux-образ 

Стъпка 5
Ще бъде възможно да стартирате търсенето с apt:

 подходящо търсене мария | egrep 'сървър | клиент' 

8. Как да изброите само имената на файловете, които съответстват на Grep


За тази цел можем да използваме опцията -l, за да изброим името на файла, в който съдържанието му ще бъде подчертано по следния начин:
 grep -l 'термин' * .c 
Параметри на командата GrepСлед това ще видим различните променливи, които Grep ни предлага за управлението му в Linux:

  • -num: С тази опция съответстващите редове ще бъдат до предишния и следващите номера на редове.
  • -A num, --after-context = NUM: Показва броя на контекстните редове, след като съвпадат с посочените.
  • -B num, --before-context = NUM: Използването на тази опция ще покаже контекстните редове преди тези, които съответстват на търсенето.
  • -V, --version: Показва номера на версията на използвания grep.
  • -b, --byte-offset: Този параметър показва изместването в байтове от началото на входния файл преди всеки ред на неговия изход.
  • -c, --count: Пребройте броя редове, които съответстват на посочения термин.
  • -h, --no-filename: Потиска отпечатването на имена на файлове в изхода.
  • i, --ignore-case: Не се взема предвид дали буквите са главни или малки.
  • -L, --files-without-match: Тази опция показва името на всеки входен файл, където не е намерено съвпадение.
  • -l, --files-with-match: Показва името на всеки входен файл, който може да генерира резултат.
  • -n, --line-number: Картира всеки изходен ред със съответния номер на ред във файла за търсене.
  • -q, --quiet: Активирайте безшумен режим, който потиска нормалния изход и търсенето приключва при първото съвпадение.
  • -s, --silent: Потискане на съобщения за грешка.
  • -v, --invert-match: Тази опция обръща посоката на търсене, тоест ще показва резултатите, които не съвпадат с думата за търсене.
  • w, --word-regexp: Този параметър избира само редове, които съдържат съвпадения, които съставляват цели думи.
  • -x, --line-regexp: Тази опция избира само съвпадения, които се състоят от целия ред.

9. Как да използвате и инсталирате командата Tree в Linux


Сега ще поговорим малко за командата Tree, както показва името й, тя е разработена да показва системните директории под формата на дърво, като по този начин улеснява управлението им.

Командата Tree действа с рекурсивна команда за изброяване на директория, която води до дървовидния формат, проектиран с поредица от цветове само ако е зададена променливата на средата LS_COLORS и изходът е tty, в случай че не са зададени аргументи, тази команда ще изброи файловете в текущата директория.

Етап 1
Общият му синтаксис е следният:

 дърво [-acdfghilnpqrstuvxACDFQNSUX] [-L ниво [-R]] [-H базаHREF] [-T заглавие] [-o име на файл] [--nolinks] [-P модел] [-I модел] [--inodes] [ --device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt формат ] [--matchdirs] [-] [директория …] 
Стъпка 2
Първата стъпка е да инсталирате командата Tree, като изпълните следната команда:
 sudo apt дърво за инсталиране 

Стъпка 3
След като инсталираме, директно изпълняваме командата "дърво", за да изброим текущата директория в дървовиден формат:

10. Как да работите с файлове с помощта на командата Tree в Linux

Преглеждайте скрити файлове с TreeПо подразбиране командата Tree няма да показва скрити файлове от съображения за сигурност, ако искаме да ги видим в резултата, ще бъде възможно да добавим параметъра -a за тази цел:

 дърво -а 

Увеличете

Показвайте само директории с дървоВ случай, че искате Tree да генерира само записи в директорията, ще бъде възможно да го направите с помощта на параметъра -d по следния начин:

 дърво -d 

Увеличете

Прегледайте пълния път на файловете с TreeКомандата Tree ни дава възможност да отпечатаме префикса на пълния път за файловете в директорията, използвайки параметъра -f:

 дърво -f 

Увеличете

Контролирайте измерението на резултата с TreeВ някои случаи е възможно генерираният резултат да е изключително дълъг, дървото ни позволява да контролираме дълбочината на дървото на директориите за неговия изход, за това трябва да използваме параметъра -L, който изисква числова стойност, която показва разрешената дълбочина на директорията:

 дърво -d -L 2 

Увеличете

Използвайте избирателни имена с TreeС параметъра -l ще бъде възможно да се изключат определени думи от резултатите, генерирани от Tree, например, можем да изпълним следния ред, за да генерираме резултати, но без термина Android:

 дърво -d -I * Android 

Увеличете

11. Параметри, които да се използват с командата Tree в Linux

Параметри за използване с TreeСлед това Solvetic ще обясни наличните параметри за използване с Tree:

  • -a: Отпечатайте всички файлове, не забравяйте, че по подразбиране дървото не отпечатва скрити файлове.
  • -d: Избройте само директориите.
  • -l: Продължете символичните връзки, ако сочат към директории, представяйки се за директории.
  • -f: Отпечатайте префикса на пълния път на обектите.
  • -x: Остава само в текущата файлова система.
  • -L Ниво: позволява ви да дефинирате максималната дълбочина на показване на дървото на директориите в резултата.
  • -R: Той действа рекурсивно, пресичайки дървото в директориите на всяко ниво и във всяко едно от тях ще се изпълни. дървото отново, като добавите `-o 00Tree.html '.
  • -P модел: Избройте само файлове, които съответстват на шаблона за заместване.
  • -I модел: Не изброявайте файловете, които съответстват на шаблона за заместване.
  • -matchdirs. Тази опция задава модел за съвпадение, който позволява моделът да се прилага само към имената на директории.
  • --prune: Този параметър премахва празни директории от изхода.
  • --noreport: Пропуснете отпечатването на файла и отчета за директорията в края на списъка с изпълненото дърво.

Дърво общи опцииТова са общите опции на Tree, но имаме и изключителни параметри за файловете, това са:

  • -q: Отпечатване на непечатващи се символи в имена на файлове.
  • -N: Отпечатва непечатващи се символи.
  • -Q: Неговата функция е да задава имената на файловете в двойни кавички.
  • -p: Отпечатайте типа на файла и разрешенията за всеки файл в директорията.
  • -u: Отпечатайте потребителското име или UID на файла.
  • -s: Отпечатайте размера на всеки файл в байтове, както и името му.
  • -g Отпечатайте името на групата или GID на файла.
  • -h: Неговата функция е да отпечатва размера на всеки файл по разбираем за хората начин.
  • --du: Действайте върху всяка директория, генерирайки отчет за нейния размер, включително размерите на всичките й файлове и поддиректории.
  • --si: Използва мощности от 1000 (SI единици) за показване на размера на файла.
  • -D: Отпечатва датата на последната промяна на файловете.
  • -F: Вашата задача е да добавите `/ 'за директории, a` =' за сокет файлове,`* 'за изпълними файлове, a`>' за врати (Solaris) и `| ' за FIFO.
  • --inodes: Отпечатайте номера на inode на файла или директорията.
  • --device: Отпечатайте номера на устройството, към който принадлежи файлът или директорията в изхода.
  • -v: Сортирайте изхода по версия.
  • -U: Не поръчва резултатите.
  • -r: Сортирайте изхода в обратен ред.
  • -t: Сортирайте резултатите въз основа на последното променено време вместо по азбучен ред.
  • -S: Активира линейни диаграми CP437
  • -n: Деактивира оцветяването на резултата.
  • -C: Активира оцветяването.
  • -X: Активира XML изхода.
  • -J: Активирайте JSON изхода.
  • -H baseHREF: Активира HTML изхода, включително HTTP препратки.
  • --help: Помощ за дърво за достъп.
  • --version: Показва използваната версия на командата Tree.

С помощта на тези две команди беше възможно да се администрира по много по -всеобхватен начин всяка задача, която трябва да бъде изпълнена върху файловете в Linux, допълвайки задачите за търсене или управление на тях и достъп до изчерпателни резултати, ако е необходимо.

wave wave wave wave wave