Как использовать все поисковые команды Linux

Командная строка Linux, также называемый терминал, оболочка, или консолью, текстовый интерфейс для вашего компьютера. С помощью этой компьютерной программы вы можете интерпретировать команды и писать свои собственные сценарии.

Использование командной оболочки для поиска и навигации

В ОС Линукс для навигации предназначена специальная утилита cd. Чтобы перейти в домашний каталог, достаточно ввести:

Для достижения того же самого результата можно использовать переменную среды $НОМЕ:

$cd$HOME

В Linux включены несколько команд из проекта GNU, которые можно использовать для проведения поиска в файловой системе: whereis commands – возвращает местоположение команды и ее справочной страницы; whatis commands – возвращает однострочное резюме из справочной страницы команды; locate file – возвращает местоположение всех файлов, удовлетворяющих условиям поиска (можно применять метасимволы); apropos subject – возвращает список команд относящихся к данной теме.

Поиск папки

На самом деле поиск папки в linux ничем не отличается от поиска файла, так как папка — это файл. Однако find дает нам возможность указать тип. Например, чтобы явно выполнить поиск только папок, имена которых содержат слово, например, mysql, выполните

# find / -type d -name «*mysql*»

Здесь ключ «-type» указывает на тип. На текущий момент времени find поддерживает следующие типы:

  • b — блочное устройство
  • c — символьное устройство
  • d — папка (дирректория)
  • p — именнованный канал
  • f — обычный файл
  • l — символическая ссылка
  • s — сокет
  • D — дверь (только для Solaris)

Подробнее о различных параметрах поиска find вы можете почитать, введя команду

$ man find

Читайте также:  Как установить adobe flash player на linux

Поиск текста в Linux при помощи утилиты grep

Да, grep действительно очень хорош, когда речь заходит о поиске текста в файлах в linux по паттерну. Сразу оговоримся, что искать текст мы будем в файлах в формате plain text — чистый текст, таких как конфигурационные файлы, сценарии командного интерпретатора (bash. python, php…) и др. Искать по файлам Word и Excel грепом эффективно вряд ли получится.

Итак, чтобы выполнить поиск строки по всем файлам в каталоге, например /etc следует ввести

# grep -lri root /etc/*

Такая команда выведет имена всех файлов, в которых удастся найти заветные 4 буквы «root». Здесь ключ «-l» заставляет grep выводить только имена файлов. Т.е. если вы хотите увидить ещё и ту саму строку, где удалось найти запрашиваемое слово, то «-l» стоит не указывать. Ключ «-r» выполняет поиск не только по /etc, но и по всем файлам во всех подпапках. И наконец ключ «-i» говорит не принимать во внимание регистр, т.е. grep будет искать не только слово «root», но и «ROOT», и «rOOt»… Вы поняли

Конечно, вмемогущий grep поддерживает регулярные выражения. Чтобы выполнить, например, поиск строки, явно начинающийся всё с того же слова, введите

# grep -lri ^root /etc/*

Крышка в начале слова «root» обязывает grep выводит только те файлы, где слово «root» стоит в начале строки. И таких трюков достаточно много. Если вы еще не знакомы с regex, то стоит начать хотябы с википедии

Команды администрирования

su — смена пользователя. su alex — сменит пользователя на alex. Набрав su без параметров, вы получите права суперпользователя (root), при этом символ подсказки $ сменится на #.

В этом режиме не стоит находиться постоянно, а лучше вообще его не использовать, а пользоваться командой sudo.

Читайте также:  Права на файлы и папки в Linux, FreeBSD и MacOS

Для выхода из сессии и возврата к предыдущему пользователю нужно набрать exit.

sudo — позволяет выполнять другие программы с правами суперпользователя, набирается перед другой командой, например

sudo rm file — удалит файл, созданный любым пользователем.

sudo -i или sudo -s — аналоги команды su.

Использовать команду sudo нужно также очень внимательно и только в случае необходимости.

passwd — смена пароля текущего пользователя. passwd alex — смена пароля пользователя alex.

adduser или useradd — добавить нового пользователя. adduser katya — добавит пользователя katya. После набора команды нужно ввести пароль. Для выполнения команды нужно быть суперпользователем.

userdel — удалить пользователя. userdel vasya — удалит пользователя vasya.

groupadd — создание новой группы. groupadd students — создаст группу students.

groupdel — удаление группы. groupdel students — удалит группу students.

chmod — изменить права доступа файла или каталога. chmod 644 file — установит права 644 на файл. chmod +x file — даст файлу права на выполнение.

chown — изменить хозяина файла. chown alex file — в результате выполнения этой команды хозяином файла станет alex.

chgrp — изменение группы файла. chgrp students laba1 — смена группы файла laba1 на students.

Опция -типа

Опция -type позволяет вам искать тип объекта, который вы ищете. Мы собираемся предоставить индикатор типа «f» в качестве параметра опции -type потому что мы хотим, чтобы поиск выполнял поиск только файлов.

находить . исполняемый тип -f

На этот раз подкаталоги не перечислены. Исполняемый файл сценария является единственным элементом в результатах.

Мы также можем попросить find включить в результаты только каталоги. Чтобы вывести список всех каталогов, мы можем использовать опцию -type с индикатором типа «d».

находить . тип -d

В каталогах перечислены только каталоги и подкаталоги.

Как писать собственные скрипты

Теперь, когда вы знакомы с некоторыми основами, давайте перейдем к сценариям оболочки. Сценарии оболочки — это программа с открытым исходным кодом, предназначенная для работы в Linux. Вы пишете серию команд, а оболочка их выполняет.

Читайте также:  Bash. Запись в файл

Перво-наперво, что такое оболочка? Shell — это интерфейс, который позволяет вам общаться с операционной системой. Вы получаете доступ к оболочке через терминал, вводите свои команды, оболочка обрабатывает их и выдает результат.

В Linux есть следующие оболочки:

  • csh Оболочка C: синтаксис этой оболочки похож на C
  • sh или Bourne Shell: эта оболочка доступна во всех системах Linux. Оболочка является базовой и предлагает несколько функций.
  • ksh или Korn Shell
  • Bash или Bourne Again Shell: этот мощный инструмент является стандартной оболочкой GNU. Он гибкий и интуитивно понятный.

Чтобы узнать больше о BASH, прочтите нашу шпаргалку по 25 лучшим командам BASH.

Приступим к нашему первому сценарию. Откройте текстовый редактор и напишите код ниже.

#!/bin/sh # This is a comment echo Hello World!

Сохраните файл как hello_ Будем распечатывать Hello World!. Первая строка — это директива, означающая, что все последующее должно интерпретироваться оболочкой Bourne. Вторая строка — комментарий. Третья команда печатает Hello World!.

Далее мы установим разрешения для этого файла, например:

[email protected]:~$ chmod 755 hello_

Чтобы запустить файл, используйте:

./filename

Вот и все. Ваш самый первый сценарий оболочки!

Создадим еще один, name_ переменные. Ниже у нас есть две переменные: nameи age. Сценарий принимает ввод с помощью чтения и выводит значения переменных на экран.

#!/bin/sh echo What is your name? read name echo Hello, $name! How old are you? read age echo You are $age years old!