Основы командной строки

Тема дорожной карты · Linux & Unix Fundamentals

CLI в Linux — это интерфейс командной строки, основанный на shell, который чаще всего реализован через Bash или Zsh. Shell выполняет команды, раскрывает шаблоны файлов (globs), управляет переменными окружения и связывает программы через пайпы (|) и редиректы (>, <, 2>&1). Освоение shell позволяет управлять задачами (Ctrl+Z, bg, fg, jobs), использовать историю (Ctrl+R, !!, !$), tab-дополнение и различать встроенные команды (cd, export) и внешние программы из переменной окружения $PATH. Это основа для более сложных навыков работы с Linux: управление файлами, сетью, пакетами и автоматизация скриптов.

Как это работает

Основы командной строки включают в себя базовые команды для навигации, работы с файлами, инспекции и справки. Навигация: cd для перехода в директорию, ls для просмотра содержимого директории, pwd для отображения полного пути текущей директории. Работа с файлами: cp для копирования, mv для перемещения или переименования, rm для удаления, mkdir для создания директории, touch для обновления времени последнего изменения файла, ln для создания ссылок. Инспекция: cat для вывода содержимого файла, less для просмотра большого файла, head и tail для вывода начала и конца файла, file для определения типа файла, stat для получения информации о файле. Справка: man для просмотра руководства по команде, --help для получения краткой справки, tldr для получения сжатой информации, apropos для поиска команд по ключевым словам. Глоббинг позволяет использовать шаблоны для выбора файлов, например, * для всех файлов, ? для одного символа, [a-z] для диапазона символов, {a,b} для выбора между двумя шаблонами. Пайпы соединяют stdout одной команды со stdin следующей, а редиректы используются для перенаправления ввода и вывода в файлы или другие команды.

Когда применять

CLI является мощным инструментом для управления системой, особенно на удалённых серверах, где графический интерфейс недоступен. Освоение CLI позволяет выполнять задачи быстрее и эффективнее, а также позволяет автоматизировать процессы с помощью скриптов. tldr (community cheatsheet) является отличным источником быстрой справки, когда man слишком подробен. --help полезен для получения быстрой подсказки о команде. В любом скрипте следует использовать set -e для выхода при ошибке и set -u для предотвращения ошибок при использовании неопределённых переменных.

Типичные ошибки

Часто встречающиеся ошибки в CLI включают использование команды rm -rf с опечаткой, что может привести к необратимому удалению файлов. Другой распространённой ошибкой является копирование длинных команд из блогов без предварительного чтения, особенно если эти команды содержат sudo. Забывание экранирования в именах файлов с пробелами также является распространённой ошибкой, например, rm $file вместо rm "$file". Использование цепочек cd .. вместо pushd/popd или абсолютных путей может привести к сложностям при написании скриптов. Всегда учтите, что вы работаете на машине, которую вы не боитесь потерять или повредить.

Связанные понятия

Полезные ресурсы