Говорите на BASH/Введение
Рекомендуется при освоении курса запускать команды в терминале вашего компьютера (Не запускайте их с правами суперпользователя).
Как запустить консоль
[править]Операционные системы GNU/Linux и BSD поддерживают несколько виртуальных консолей. Графический сервер обычно работает на седьмой, то есть чтобы вернуться оттуда, куда мы сейчас направимся нужно будет нажать одновременно Ctrl+Alt+F7.
Теперь нажмите Ctrl+Alt+F1.
Вы только что переключались в виртуальную консоль. Всего пользователю доступно 7 таких консолей. В каждой консоли можно войти в систему под именем разных пользователей.
Переключаться последовательно между консолями можно с помощью сочетания Alt+"Стрелка влево" и Alt+"Стрелка вправо".
В оконной среде удобно использовать так называемые эмуляторы терминала. Их можно запустить через меню. Если Вы знаете, какие эмуляторы установлены у Вас, можно вызвать комбинацией Alt+F2 окно "Выполнить программу" и набрать в строке название эмулятора. В среде GNOME это xterm или gnome-terminal, в среде KDE - konsole
Вместо предисловия
[править]В общем виде команда состоит из имени программы, параметров и аргументов.
rm | -ri | "/home/user/anime" | ||||
имя программы для удаления |
параметры | аргумент | ||||
Назначение:Удалить каталог, требуя подтверждение перед удалением каждого файла |
Трюки
[править]Если Вы читаете эти строки, значит Вы хоть раз задавали себе вопрос:"На какие удобства можно рассчитываь в терминале". Ответ:"Автозаполнение." Это опция чрезвычайно удобна при работе с длинными командами и файлами с длинными названиями. Чтобы увидеть как она работает, наберите в командной строке cle и нажмите клавишу TAB. Компьютер закончит за вас: "clear". Аналогично дополняются аргументы: ls / ,два нажатия TAB, и компьютер выведет содержимое корневого каталога.
Клавиша "Стрелка вверх" выводит на экран предыдущую команду. Это позволяет легко повторить выполненную программу. Более того, Вы можете её отредактировать.
Файлы и каталоги
[править]cd | /var/log |
перейти | куда (каталог) |
- cd (без аргументов) - перейти в домашний каталог
- cd .. перейти на уровень вверх (в родительский каталог текущего каталога)
ls | -l | /home |
список файлов | подробно |
Перенаправления
[править]Перенаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент философии UNIX. Приведённый ниже пример состоит из двух частей - команда до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.)
cat | /dev/urandom | ">>" | /dev/dsp | |||
вывести содержимое файла в стандартный вывод |
генератор псевдослучайных символов |
перенаправить вывод в файл |
файл звуковой карты | |||
Назначение:Быстро проверить работоспособность звуковой карты |
Здесь используется "конвейер" - символ ("|"). Он перенаправляет стандартный вывод одной программы на стандартный ввод другой программы.
man | useradd | "конвейер" | grep | -i | -- | -e |
вызвать справку | для программы useradd | перенаправить вывод на ввод фильтра |
фильтр | не учитывать регистр |
конец списка опций |
что ищем |
Назначение:Быстро проверить назначение опции |
for | FILE | "in " | *.md5 | do | md5sum | -c | $FILE; | done |
Управляющий элемент |
Помещаем имя в переменную |
Управляющий элемент |
маска файла |
Управляющий элемент |
программа для работы с md5-хешами |
опция проверки |
подставляем имя файла |
Управляющий элемент |
Назначение:Проверить md5-хеши всех пакетов в каталоге (для который есть файл с хешем) |
Золотое правило
[править]В терминологии командных оболочек UNIX, командами одинаково называются и встроенные команды, и сторонние программы. Это объясняется тем, что в UNIX- подобных ОС программы вызываются по имени. Хотя подобное смешение может вызвать поначалу некоторую путаницу, на самом деле представляет собой большое удобство.
Существует не менее двух способов сделать что-то. Следующие команды выполняют одну и ту же операцию распаковывают все targz- архивы(тарболлы) в текущем каталоге.
Фильтр
[править]Одна из полезнейших программ. Вместе с механизмом перенаправления позволяет очень легко осуществлять нетривиальную обработку информации. Сравните два примера.
grep, как мы уже знаем, - это фильтр. Опция -v инвертирует условие поиска (шаблон), "OK" - наш шаблон. Что выведет на экран вторая команда?
Задания для отработки материала
[править]
Проверочный тест
[править]