Bash: Раскройте всю мощь командной строки Linux

Bash: Раскройте всю мощь командной строки Linux

Представьте, что вы можете управлять своей системой с молниеносной скоростью, автоматизируя рутину и чувствуя себя настоящим повелителем консоли. Это не магия, это Bash — ваш главный проводник в мир Linux.

Каждый раз, открывая терминал, вы запускаете именно его. Но знаете ли вы, на что он на самом деле способен? Эта оболочка — не просто черное окно с мигающим курсором, а мощнейший инструмент, который превращает ваши слова в действия.

Вы узнаете, как заставить команды работать в связке, создавая сложные сценарии из простых кирпичиков. Забудьте о бесконечных кликах — одна грамотно составленная строка сделает всё за вас. Мы покажем, как перенаправлять потоки данных и запускать процессы в фоне, освобождая время для действительно важных задач.

Откройте для себя управляющие символы — эти маленькие хитрости вроде `!!` или `!?tmp?`, которые мгновенно вызывают прошлые команды и экономят ваши силы. Это ваш шанс работать умнее, а не больше.

И, конечно, горячие клавиши. Сочетания вроде Ctrl+R для поиска по истории или Ctrl+A для прыжка в начало строки станут вашими верными спутниками. Они превратят набор команд из кропотливого труда в стремительный и точный процесс.

Готовы перестать бояться терминала и начать извлекать из него максимум пользы? Всё, что нужно для уверенного старта и серьезного прорыва, ждет вас в полной версии статьи. Переходите и начните командовать!


Bash - это самый популярный интерпретатор команд, который используется в большинстве дистрибутивов Linux. Вы сталкиваетесь с Bash каждый раз, когда открываете терминал в своей системе и начинаете выполнять там команды, а также когда пишите различные скрипты для автоматизации выполнения системных задач.

Мы уже много писали о Bash, его возможностях и особенностях, теперь пришло время написать статью, в которой будет описана работа с Bash в целом, как пользоваться Bash, горячие клавиши и другие полезные моменты, которые помогут вам пользоваться Bash более эффективно.


Содержание статьи

Что такое Bash?

Как я уже говорил, Bash - это интерпретатор команд. По сути, это обычная программа, которая запускается при старте сеанса оболочки. Мы могли бы запускать не Bash, а скажем, интерпретатор python или ruby, и тогда нам пришлось бы выполнять методы этих языков вместо команд Bash для администрирования системы.

Bash принимает команды от пользователя и передает их системному загрузчику, а также обеспечивает взаимодействие между командами, обмен информацией и потоками ввода-вывода. Также оболочка предоставляет пользователю удобный интерфейс для работы с историей команд, поиска и замены, а также исправления ранее выполненных команд, а также автодополнение путей.

Команды Bash

Основу работы в Bash составляют команды. Именно с помощью команд вы будете выполнять большинство действий над системой. Команды можно поделить на два типа. Это встроенные в оболочку, которые существуют только виртуально, мы рассматривали их в статье основные команды Bash, а также внешние команды - обычные утилиты или скрипты, расположенные в файловой системе.

Возвращаясь к встроенным командам, можно привести пример, вы не найдете в файловой системе команду cd. Ее нет, она встроена.

Обычные же команды находятся в файловой системе. Они могут находиться в одной из папок, указанных в переменной PATH. Для выполнения встроенной или внешней команды достаточно набрать ее имя, интерпретатор отлично справляется с поиском команд по папкам, указанным в PATH. Например:

ls /

Но если команда находится в одной из сторонних папок, то необходимо ввести ее полный адрес:

/usr/local/bin/simplenote

Bash: Раскройте всю мощь командной строки Linux

Иначе оболочка не сможет найти исполняемый файл команды.

Объединение команд

Оболочка Bash позволяет не только выполнять команды, но и объединять их в сложные конструкции для получения нужного эффекта. Использование Bash таким способом очень эффективно. Как вы знаете, система Linux создает три потока для каждой программы - поток ввода, поток вывода и поток ошибок. Оболочка позволяет перенаправить поток одной программы прямо в другую с помощью специальных операторов. Читайте более подробно обо всем этом в статье перенаправление ввода вывода в Bash.

Кроме того, Bash позволяет объединять команды по времени выполнения. Существуют такие операторы для объединения команд:

  • && - выполнить первую команду, а вторую выполнять только если первая завершится успешно;
  • || - выполнить первую команду, а вторую выполнять только если первая завершится неудачей;
  • ; - выполняет последовательно каждую следующую команду, как только завершится предыдущая;
  • & - запустить команду в фоне и сразу же вернуть управление в командную оболочку для выполнения следующей команды.

Например, сначала выполняем загрузку файла, а затем открываем его в плеере, если загрузка прошла успешно:

wget https://archive.org/download/testmp3testfile/mpthreetest.mp3 && mplayer mpthreetest.mp3

Bash: Раскройте всю мощь командной строки Linux

Чтобы продолжить этот пример, мы можем удалить загруженный файл, если произошла ошибка:

wget https://archive.org/download/testmp3testfile/mpthreetest.mp3 || rm mpthreetest.mp3

Чтобы выполнить обновление системы, а затем завершить работу выполните:

sudo apt update ; shutdown -h now

И наконец, вы можете запустить какой-либо сервис или приложение, например, браузер в фоне и свободно продолжить работу в терминале:

firefox &

Bash: Раскройте всю мощь командной строки Linux

Управляющие символы Bash

Перенаправление вывода, организация тоннелей и поочередное выполнение команд - это очень хорошо, но у Bash есть еще и другие полезные возможности. Например, с помощью специальных символов вы можете модифицировать команды, искать в истории и многое другое.

Чтобы вставить в положение курсора предыдущую команду напишите !!. Например, чтобы выполнить последнюю команду с sudo достаточно выполнить:

sudo !!

Bash: Раскройте всю мощь командной строки Linux

Чтобы выполнить не последнюю команду, а скажем, предпоследнюю или выполненную еще раньше, то после восклицательного знака нужно указать ее номер:

!-1

Если вы укажите один восклицательный знак и несколько символов, то выполнится последняя команда, которая начиналась на эти символы:

!l

Bash: Раскройте всю мощь командной строки Linux

Также может понадобиться искать команду не по первому символу, а по вхождению в нее определенного набора символов. Тогда можно использовать такую конструкцию. Ищем последнюю команду, в которой встречалось tmp:

!?tmp?

 

Если перед командой написать пробел, то она не сохранится в истории:

 ls

Bash: Раскройте всю мощь командной строки Linux

Символ $? позволяет вывести код завершения последней команды:

echo $?

Символ звездочки возвращает массивом содержимое текущей папки:

echo *

Bash: Раскройте всю мощь командной строки Linux

С помощью символа ^ можно заменить несколько букв из предыдущей команды. Работает это вот так:

ls file1
^ls^rm

Bash: Раскройте всю мощь командной строки Linux

В результате файл будет удален.

Горячие клавиши Bash

Работа с Bash была бы не такой удобной без горячих клавиш, которые позволяют упростить множество действий. Рассмотрим основные сочетания, некоторые из них вы и так используете каждый день:

  • Tab - автодополнение, наберите начало команды или пути и нажмите Tab, если такая команда только одна оболочка ее дополнит. Если доступно несколько вариантов, нажмите два раза Tab чтобы их увидеть;
  • Стрелка вверх - предыдущая команда в истории;
  • Стрелка вниз - следующая команда в истории;
  • Ctrl+R - поиск по истории. Просто нажмите эту кнопку и начните вводить нужную команду;
  • Ctrl+G - выйти из режима поиска;
  • Alt+. - предыдущее слово последней команды;
  • Ctrl+L - очистить вывод терминала;
  • Ctrl+A - перейти в начало строки;
  • Ctrl+E - в конец строки;
  • Ctrl+K - удалить символы начиная от курсора и к концу команды;
  • Ctrl+U - удалить символы от курсора до начала команды;
  • Ctrl+W - удалить все символы этого слова слева;
  • Ctrl+Y - удалить все символы этого слова справа;
  • Ctrl+S - остановить вывод на экран;
  • Ctrl+Q - возобновить вывод на экран.

Это все основные сочетания клавиш, которые вам понадобятся чтобы пользоваться bash. Конечно, существуют и другие, но эти основные.

Выводы

В этой статье мы рассмотрели как пользоваться Bash. Как применять основные возможности оболочки, как выполнять команды и какие бывают основные горячие клавиши, этой информации должно быть вполне достаточно новичкам для того, чтобы освоить на начальном уровне эту оболочку. Надеюсь, эта информация была полезной для вас.

На завершение видео по теме от Акцент профи:

 

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив