Работа с командной строкой – незаменимый навык для разработчиков, DevOps-инженеров, администраторов и всех, кто увлечен компьютерами. Этот гайд поможет освоить основы работы с терминалом и настроить его под себя.
Доступ к терминалу и первое знакомство
Для практики идеально подходят дистрибутивы Linux или macOS. При отсутствии возможности установить Linux, воспользуйтесь VirtualBox – он позволит запустить виртуальную машину с Linux. В этом гайде используется Debian, но вы можете использовать любую удобную систему.
Терминал в графическом интерфейсе Linux обычно находится в меню. При отсутствии графического интерфейса, вы уже находитесь в терминале. Пользователям Windows рекомендуется установить терминал. При первом запуске масштаб терминала может быть слишком маленьким – его следует изменить в настройках.
Главный элемент терминала – приглашение, которое может выглядеть по-разному. В стандартном варианте оно содержит имя пользователя (@), имя компьютера, путь к текущей директории и символ $, указывающий на режим обычного пользователя (не администратора). ~ обозначает домашний каталог (в Unix-системах используют термин «директория» или «каталог»).
Работа с терминалом заключается в вводе команд и нажатии Enter. Shell интерпретирует команду и заставляет операционную систему выполнить соответствующее действие. Shell – это командная строка. В этом гайде используется Bash.
Команда whoami возвращает имя пользователя, а pwd – абсолютный путь к текущей директории. / обозначает корневой каталог. В отличие от Windows, в Unix нет отдельных дисков; флешки и другие устройства монтируются в файловую систему. При вводе несуществующей команды Bash сообщит об ошибке.
Управление пакетами и программным обеспечением
Установка программ осуществляется через пакетный менеджер – программу, скачивающую пакеты (программы) из проверенного хранилища. Примеры пакетных менеджеров: apt (Ubuntu), dnf (Fedora), brew (macOS, требует отдельной установки).
На свежеустановленной системе сначала обновите список доступных пакетов: sudo apt update (для apt). Вам потребуется ввести пароль (ввод пароля не отображается символами *). sudo повышает привилегии для выполнения команды от имени администратора (root).
Установка программы: sudo apt install <имя_пакета>. Этот способ установки безопаснее и удобнее, чем скачивание .exe-файлов из интернета, так как в хранилища попадают только проверенные программы с открытым исходным кодом. Пароль запрашивается только один раз, и его действие сохраняется около 15 минут.
Работа с файлами и директориями
Команда ls выводит список файлов в текущей директории. mkdir <имя_директории> создает директорию. Команды выполняются в текущей директории. Для создания директории с пробелами в имени используйте экранирование: mkdir "My directory" или mkdir My directory.
cd <имя_директории> переходит в указанную директорию. cd .. переходит на уровень выше в файловой иерархии. . обозначает текущую директорию. cd без аргументов возвращает в домашнюю директорию, cd — – в последнюю директорию.
touch <имя_файла> создает пустой файл. echo "<текст>" > <имя_файла> записывает текст в файл (перезаписывает файл). echo "<текст>" >> <имя_файла> добавляет текст в конец файла.
cat <имя_файла> выводит содержимое файла.
Потоки ввода-вывода и пайплайны
Unix-системы используют три потока: stdin (стандартный ввод, 0), stdout (стандартный вывод, 1), stderr (стандартный поток ошибок, 2). Пайплайны позволяют перенаправлять вывод одной программы на ввод другой: ls | grep ".txt" (выведет список файлов с расширением .txt).
Пример программы на C++:
// Пример программы на C++
#include <iostream>
#include <string>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
cout << line << endl;
}
return 0;
}
Удаление файлов и директорий
rm <имя_файла> удаляет файл. В Unix нет корзины, файлы удаляются безвозвратно. rm -r <имя_директории> удаляет директорию и все ее содержимое.
Права доступа к файлам
ls -l выводит информацию о файлах, включая права доступа: первый символ указывает тип файла (- – файл, d – директория), далее идут три группы по три символа, обозначающие права доступа для владельца, группы и остальных пользователей (r – чтение, w – запись, x – исполнение).
chmod <число> меняет права доступа. Число формируется суммированием прав: r=4, w=2, x=1. Например, chmod 777 устанавливает все права для всех, chmod 000 – убирает все права.
chown меняет владельца и группу файла.
Копирование, перемещение и работа с архивами
cp <исходный_файл> <копия_файла> копирует файл.
mv <исходный_файл> <новый_файл> переименовывает или перемещает файл.
tar – работа с архивами.
find – поиск файлов по имени, размеру и другим параметрам.
Настройка терминала и полезные сочетания клавиш
Для повышения эффективности работы с терминалом используйте:
- Tab: автодополнение команд и имен файлов.
- Стрелки вверх/вниз: просмотр истории команд.
- history: вывод истории команд.
- Ctrl+U: очистка текущей строки.
- Ctrl+W: удаление последнего слова.
- Ctrl+C: прерывание выполнения программы.
Для настройки внешнего вида рекомендуется установить Zsh: sudo apt install zsh. Затем замените Bash на Zsh (команда зависит от системы). Установите oh-my-zsh (команда для установки из репозитория oh-my-zsh). Установите шрифт для иконок (например, Meslo). Настройте тему в файле .zshrc. Можно установить плагины (подсветка синтаксиса, автодополнение).
Этот гайд предоставил базовые знания для работы с командной строкой. Практика и эксперименты помогут вам освоить этот мощный инструмент.