Операторы командной строки
Операторы командной строки — это специальные символы, которые помогают управлять выполнением команд и их взаимодействием друг с другом. Их можно представить как «клей», который соединяет разные команды или направляет поток информации. Эти операторы решают типичные задачи в терминале: сохранение вывода команды в файл, последовательный запуск нескольких команд или использование результата работы одной команды в качестве входных данных для другой.
Без операторов пришлось бы вручную копировать и вставлять результаты между командами или запускать каждую из них отдельно, проверяя, успешно ли завершилась предыдущая. Операторы делают рабочий процесс эффективнее и помогают автоматизировать рутину.
Операторы перенаправления (>, >>)
Операторы перенаправления берут вывод команды и отправляют его в файл или другое место назначения вместо того, чтобы выводить на экран. Это полезно для сохранения результатов работы команд или логов.
Вот простое мнемоническое правило, чтобы запомнить разницу:
>: 1 стрелочка = сохранить 1 вещь = сохранить моё>>: 2 стрелочки = сохранить 2 вещи = сохранить твоё и моё
Запись куска текста в файл:
echo "Hello, World!" > hello.txtДобавление последних 5 коммитов в файл со списком изменений (changelog):
git log -5 --oneline >> CHANGELOG.mdОператор конвейера или пайп (|)
Оператор пайпа (или конвейера) берёт вывод одной команды и использует его как входные данные для другой. Создаётся своего рода «трубопровод», по которому данные перетекают от одной команды к другой, как вода по соединённым трубам.
Поиск коммитов, в сообщении которых есть слово fix:
Linux/macOS:
git log --oneline | grep "fix" | sortPowerShell:
git log --oneline | Select-String "fix" | Sort-ObjectЛогические операторы (&&, ||)
Логические операторы, как и в языках программирования, управляют ходом выполнения команд на основе успеха или неудачи предыдущих действий.
&&: запускает следующую команду, только если предыдущая завершилась успешно (код выхода 0).||: запускает следующую команду, только если предыдущая завершилась с ошибкой (ненулевой код выхода).
Добавление файлов в область подготовки и создание коммита, только если добавление прошло успешно:
git add . && git commit -m "Update documentation"Попытка выполнить pull; если не выйдет, тогда просто fetch:
git pull origin main || git fetch origin.gitignoregit checkoutgit configgit taggit worktree