Инструменты командной строки
Инструменты командной строки (англ. command line tools) — это программы, которые управляются через интерфейс командной строки (CLI), а не через привычный графический интерфейс (GUI). Для выполнения задач нужно вводить текстовые команды в окне терминала или консоли. Такие инструменты есть в большинстве операционных систем, включая Linux, macOS и Windows. Без них не обойтись системным администраторам, разработчикам и всем, кто плотно работает с данными.
Эти утилиты обладают мощным функционалом, а главное — их можно комбинировать и встраивать в скрипты для автоматизации сложных рабочих процессов. В качестве примеров можно привести программы для работы с файлами вроде cp и mv, текстовые редакторы вроде vim и nano, а также сетевые инструменты вроде ping и ssh. Их ценят за скорость, гибкость и полный контроль над системой и файлами.
Советы и хитрости
Остановка команды
- Нажми Ctrl + C: это прервёт выполняющуюся команду и вернёт строку ввода.
Очень полезная штука, если случайно запустить команду, которая работает слишком долго или ведёт себя не так, как ожидалось. Это сработает и в том случае, если команда ждёт ввода данных, а нужно просто её отменить. Наконец, это быстрый способ начать заново, если при наборе команды была допущена ошибка.
Автодополнение
- Нажатие Tab: дописывает команду, путь или флаг, если совпадение только одно.
- Двойное нажатие Tab: показывает все варианты, если совпадений несколько.
Это работает для команд, файлов, папок и многих флагов. Например:
gi→gitcd Doc→cd Documents/git ch→git checkout/git cherry-pick
История команд
- Up / Down (стрелки вверх/вниз): листает ранее запущенные команды.
- Ctrl + R: обратный поиск по истории команд (начни печатать для фильтрации, нажми Enter для запуска).
history: выводит полный список истории.!!: запускает предыдущую команду заново.
Аргументы, кавычки и спецсимволы
При передаче аргументов командам стоит обращать внимание на пробелы и специальные символы. Если пути или имена файлов содержат пробелы, их нужно брать в кавычки (" или '), чтобы терминал воспринял их как один целый аргумент. Как вариант, пробел можно экранировать обратным слешем (\). Например:
- Неправильно:
rm My Project(терминал попытается удалить два разных пути:MyиProject) - Правильно:
rm "My Project"git add 'My Project'git add My\ Project
Если забыть закрыть кавычку, терминал подумает, что ввод аргумента ещё не закончен, и будет ждать продолжения (выведя dquote> на новой строке). Можно либо закрыть кавычку на этой новой строке, либо отменить ввод, нажав Ctrl + C.
Многострочные аргументы
Обычно нажатие Enter в терминале сразу же запускает набранную команду.
Но иногда длинную команду или аргумент хочется разбить на несколько строк для удобства чтения. В таком случае в конце строки можно поставить обратный слеш (\) — он скажет терминалу, что команда продолжается на следующей строке. Например:
git rebase -i HEAD~5 \--autosquash \--keep-empty
Но тут есть один подвох: использование обратных слешей таким образом влияет только на то, как команда выглядит в терминале, и не добавляет реальных переносов строк в сам аргумент. Например:
echo "First line\Second line"
Выведет:
First lineSecond lineЧтобы добавить настоящий перенос строки в текст, нужно использовать символ новой строки (обозначается как \n) внутри кавычек:
echo "First line\nSecond line"Или, если хочется визуально разбить текст в терминале:
echo "First line\n\Second line"
Результат будет таким:
First line
Second line.gitignoregit checkoutgit configgit taggit worktree