- •Зачем и для кого статья?
- •Что такое шелл
- •Где встречаются системы с командной строкой?
- •Какие задачи разумно решать шеллом?
- •Абсолютно первые шаги
- •Начинаем работу: войти и выйти
- •История команд (history)
- •Copy-paste
- •Ключи и опции
- •less
- •Права
- •STDIN, STDOUT, конвейеры (пайпы)
- •Перенаправление ввода-вывода
- •Что делать, когда что-то непонятно
- •Топ полезных команд, конструкций и приемов
- •Методы работы
- •Базовые команды
- •Аналитика
- •Диагностика системы
- •Массовое и полуавтоматическое выполнение
- •Разное
- •Составление конвейера-однострочника
- •Задания для тренировки
- •Что изучать дальше?
- •Кому сегодня нужна командная строка?
- •Вопросы, предложения?
- •Немного полезных и интересных ссылок
ЧЕРНОВИК-2 Unix shell: первые шаги
Елена Большакова 2015-02-15
Содержание
Зачем и для кого статья? . . . . . . . . . . . . . . . . . . . . . . . . . |
2 |
Что такое шелл . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
2 |
Где встречаются системы с командной строкой? . . . . . . . . . . . |
3 |
Какие задачи разумно решать шеллом? . . . . . . . . . . . . . . . . |
3 |
Абсолютно первые шаги . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
Начинаем работу: войти и выйти . . . . . . . . . . . . . . . . . |
4 |
Кто я, где я? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
История команд (history) . . . . . . . . . . . . . . . . . . . . . . |
5 |
Copy-paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
5 |
Ключи и опции . . . . . . . . . . . . . . . . . . . . . . . . . . . |
5 |
man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
6 |
less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
7 |
Права . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
7 |
STDIN, STDOUT, конвейеры (пайпы) . . . . . . . . . . . . . . |
8 |
Перенаправление ввода-вывода . . . . . . . . . . . . . . . . . . |
9 |
Что делать, когда что-то непонятно . . . . . . . . . . . . . . . |
10 |
Топ полезных команд, конструкций и приемов . . . . . . . . . . . . |
10 |
Методы работы . . . . . . . . . . . . . . . . . . . . . . . . . . . |
10 |
Базовые команды . . . . . . . . . . . . . . . . . . . . . . . . . . |
11 |
Аналитика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
11 |
Диагностика системы . . . . . . . . . . . . . . . . . . . . . . . . |
11 |
1
Массовое и полуавтоматическое выполнение . . . . . . . . . . |
12 |
Разное . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Составление конвейера-однострочника . . . . . . . . . . . . . . . . . 12
Задания для тренировки . . . . . . . . . . . . . . . . . . . . . . . . . 13
Что изучать дальше? . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Кому сегодня нужна командная строка? . . . . . . . . . . . . . . . . 14
Вопросы, предложения? . . . . . . . . . . . . . . . . . . . . . . . . . |
15 |
Немного полезных и интересных ссылок . . . . . . . . . . . . . . . . 15
Зачем и для кого статья?
Эта статья рассчитана на тех, кто не имеет предыдущего опыта работы в unix-овой командной строке, но по тем или иным причинам хочет или должен научиться эффективно с нею взаимодействовать.
Здесь не будет пересказа манов (документации), и статья никак не отменяет и не заменяет их чтение. Вместо этого я расскажу о главных вещах (командах, приемах и принципах), которые надо осознать с самого начала работы в unix shell-е, чтобы работа происходила эффективно и приятно.
Статья касается полноценных unix-подобных окружений, с полнофункциональным шеллом (предпочтительно zsh или bash) и полноценным набором стандартных программ.
Что такое шелл
Shell (шелл, он же “командная строка”, он же CLI, он же “консоль”, он же “терминал”, он же “черное окошко с белыми буковками”) – это текстовый интерфейс общения с операционной системой (ну, строго говря, это программа, которая таковой интерфейс обеспечивает, но сейчас это различие несущественно).
В целом работа через шелл выглядит так: пользователь (т.е. вы) с клавиатуры вводит команду, нажимает Enter, система выполняет команду, пишет на экран результат выполнения, и снова ожидает ввода следующей команды. См. также рисунок 1.
Шелл – это основной способ для взаимодействия со всеми Unix-подобными серверными системами.
2
Рис. 1: Типичный вид шелла
Где встречаются системы с командной строкой?
Популярные варианты, где вас может поджидать unix-овый шелл:
•MacOS (bash);
•удаленный доступ на сервер по работе или для личного веб-проекта;
•домашний файл-сервер с удаленным доступом;
•Ubuntu, PC-BSD на ноутбуке/десктопе – unix-подобные системы сегодня просты в установке и использовании.
Какие задачи разумно решать шеллом?
Естественные задачи, для которых шелл пригоден, полезен и незаменим:
•интерактивная работа в терминале:
–выполнение компиляции, запуск заданий через make;
–сравнение текстовых файлов;
–быстрый ad-hoc анализ данных (количество уникальных ip в логе, распределение записей по часам/минутам и т.п.);
3