Grep е инсталиран по подразбиране в Ubuntu 12.04.
Командата grep е полезна добавка за търсене на чист текст с помощта на регулярни изрази.
Наименованието на командата идва от g/re/p (global / regular expression / print).
Главното предназначение на командата е да търси отделни стрингове във файл локално или отдалечено. Grep търси ред по ред съвпадения с дадена дума или стринг. По подразбиране на стандартния изход се принтират всички редове, в които е намерено такова съвпадение.
Помощ за командата може да получите като въведете в терминала (Ctrl+Alt+T):
Помощ за командата може да получите като въведете в терминала (Ctrl+Alt+T):
man grep
Синтаксис на командата
grep [опция] шаблон [път до файла]
или
grep [опция] [-e шаблон | -f файл] [файл...]
Възможните опции са описани в помощната информация.
Примери
Разполагаме с текстов файл, който искаме да претърсим за наличие на някакъв стринг.
Какво трябва да направим?
Въвеждаме в терминала:
Какво трябва да направим?
Въвеждаме в терминала:
grep “Когато паднеш, стани” /home/poli/Desktop/love.txt

На стандартния изход се извеждат всички намерени съвпадения.
Когато искаме да претърсим всички файлове в дадена директория за наличието на определен стринг, използваме опцията -r на командата grep:
Когато искаме да претърсим всички файлове в дадена директория за наличието на определен стринг, използваме опцията -r на командата grep:

Когато искаме да търсим отделна дума във файл или директория, командата е:
grep -w "Африка" /home/poli/Desktop/love.txt

или
grep -w "Афр" /home/poli/Desktop/love.txt

Файлът /etc/passwd
Файлът /etc/passwd се използва от системата, за да проследява всеки регистриран потребител, който има достъп до нея. Всеки ред от файла описва единичен потребител и съдържа седем полета, отделени с две точки:
name:password:UID:GID:GECOS:directory:shell
name- потребителско име
password- криптирана парола
UID- идентификационен номер на потребителя
GID- идентификационен номер на групата (идентификационния номер на първичната група за този потребител, ако потребителя участва в няколко групи, информация за останалите можете да откриете във файла /etc/group)
GECOS- това поле понякога се нарича поле за коментари. То не е задължително и обикновено съдържа пълното потребителско име. Някои програми, показват информация от това поле.
directory- home директорията на потребителя (работната директория), където потребителят се намира след влизане в системата.
shell- входният шел
password- криптирана парола
UID- идентификационен номер на потребителя
GID- идентификационен номер на групата (идентификационния номер на първичната група за този потребител, ако потребителя участва в няколко групи, информация за останалите можете да откриете във файла /etc/group)
GECOS- това поле понякога се нарича поле за коментари. То не е задължително и обикновено съдържа пълното потребителско име. Някои програми, показват информация от това поле.
directory- home директорията на потребителя (работната директория), където потребителят се намира след влизане в системата.
shell- входният шел
Файлът /etc/passwd е собственост на root потребителя, но трябва да може да се чете от всички потребители, но само root потребителят има право да пише в него. Ако потребителят има поставена парола за вход в системата, на мястото на паролата има символ x, ако парола липсва, знакът е *.
Съдържанието на файла /etc/passwd можем да разгледаме, като в командния ред въведем:
cat /etc/passwd
Криптираните пароли се съхраняват във файла /etc/shadow.
Паролата за вход в системата можем да променим с командата passwd, въведена в терминала.
Ако искаме да покажем редовете от файла /etc/passwd, които съдържат стринга “root”, в терминала въвеждаме:
Ако искаме да покажем редовете от файла /etc/passwd, които съдържат стринга “root”, в терминала въвеждаме:
grep ^root /etc/passwd

Няма коментари:
Публикуване на коментар