- Основные команды Bash
- Основные команды Bash
- 1. source
- 2. alias
- 3. bind
- 5. declare
- 6. dirs
- 7. echo
- 8. enable
- 9. exit
- 10. export
- 11. bg
- 12. fg
- 13. history
- 14. kill
- 15. let
- 16. popd
- 17. printf
- 18. pushd
- 19. pwd
- 20. read
- 21. suspend
- 22. umask
- 23. time
- 24. wait
- Выводы
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как запустить Bash скрипт в Linux
- Подготовка
- Запустить Bash скрипт из пути к скрипту
- Запустить Bash скрипт, используя bash
- Полезно?
- Почему?
- Что такое bash в Linux? Гайд по созданию bash-скриптов
- Что такое терминал?
- Команды в bash
- Редактор nano
- Гайд по созданию bash-скриптов
- Создание bash-скрипта
- Выполнение bash-скрипта
Основные команды Bash
Bash — это командная оболочка или по-другому — интерпретатор команд, который используется по умолчанию в большинстве дистрибутивов Linux. Оболочка Bash обладает огромным количеством возможностей. Это больше чем интерпретатор, в умелых руках Bash может превратиться в полноценный язык программирования.
Основная задача оболочки — выполнять команды, но кроме утилит, расположенных в файловой системе, Bash имеет свой набор команд, многими из которых вы пользуетесь каждый день сами этого не понимая. Эти команды Bash находятся не на диске, а встроены в саму оболочку. В этой статье мы рассмотрим основные команды bash в linux, которые могут быть полезны в некоторых ситуациях.
Основные команды Bash
В этой статье не будет очень длинны вступлений и мы сразу перейдем к делу. Все элементы списка расположены в случайном порядке. После рассмотрения всех их, вы будете лучше понимать работу в Bash.
1. source
Эта команда позволяет прочитать и выполнить все команды из указанного файла в текущей командной оболочке. Это значит, что все заданные в нем переменные окружения будут видны во всех скриптах или командах, которые вы будете выполнять. Напомню, что если вы запускаете обычный скрипт и объявляете в нем переменную, то она будет доступна только ему потому что для скриптов создается отдельный экземпляр оболочки. Он наследует переменные родителя, но не наоборот. Эта команда часто применяется для обновления окружения после chroot:
2. alias
Команда alias позволяет создавать псевдонимы для других команд. Например, вы можете настроить так, чтобы когда вы вводите update, выполнялась команда sudo apt update && sudo apt upgrade. Если вызвать команду без параметров, то она выведет список уже заданных псевдонимов. Смотрите подробнее о том как создавать алиасы Linux в отдельной статье.
3. bind
С помощью этой команды вы можете связать нажатие клавиши с определенной командной или функцией. Например, настроим, чтобы при нажатии F12 в окне терминала выполнялась команда pwd:
Команда cd используется очень часто при работе с папками в терминале. Она позволяет сменить текущую папку на произвольную. Можно использовать чтобы не набирать длинные пути, также она необходима при компиляции. По умолчанию, текущая папка — домашняя:
5. declare
Встроенная команда bash — declare позволяет объявлять переменные. Опция -a позволяет вывести все уже существующие переменные окружения. В отличии от обычного объявления вы можете задать различные параметры, например, сделать переменную только для чтения с помощью опции -r. Также можно объявлять функции.
6. dirs
Команда dirs отображает историю смены текущей папки. Каждая предыдущая папка отображается с новой строки. С помощью опции -n можно указать, сколько последних элементов выводить.
7. echo
Это одна из самых простых, но в то же время очень полезных команд. Она выводит указанную строку на экран. Часто используется в различных скриптах или для отправки значений в конфигурационные файлы. Подробнее про команду echo смотрите в отдельной статье.
echo «Это строка»
8. enable
Команда enable позволяет включать или отключать встроенные команды bash. Для включения встроенной команды достаточно передать ее в параметрах. Если вы хотите отключить команду, используйте опцию -n, после этого вместо встроенной команды, будет выполняться утилита из файловой системы.
9. exit
Универсальная команда, которая позволяет закрыть сеанс оболочки, выйти из терминала или завершить текущую сессию.
10. export
Еще одна команда для объявления переменных. Все объявленные с помощью нее переменные экспортируются во внешнее окружение среды и будут доступны всем скриптам и программам. С помощью опции -p вы можете посмотреть экспортированные на данный момент переменные.
11. bg
Команда bg позволяет посмотреть команды, которые выполняются в фоне. Если вы нажмете сочетание клавиш Ctrl+Z, то утилита будет свернута в фоновый режим. Этой командой вы можете посмотреть все такие процессы для данной оболочки.
12. fg
Эта команда позволяет восстановить команду из фона, в параметрах ей нужно передать только идентификатор нужного процесса, который вы можете узнать с помощью bg.
13. history
Команда history linux позволяет посмотреть историю команд, которые вы выполняли ранее. Здесь сохраняется более 1000 последних команд, вы можете все их увидеть, выполнять по них поиск и так далее. Вы можете задать нужное количество записей просто передав нужное значение.
14. kill
Команда kill может быть системной утилитой или командой оболочки. Она позволяет отправить указанному процессу сигнал. Например, SIGKILL, SIGTERM и другие. С помощью нее вы можете завершить процесс по его PID или идентификатору Bash.
15. let
Команда let выполняет функцию калькулятора, ей нужно передать математическое выражение, которое она подсчитает. Можно передать несколько таких выражений.
16. popd
Это еще одна команда, которая используется для навигации по каталогах. Команда удаляет последнюю директорию из стека каталогов. Таким образом, вы перемещаетесь в ранее выбранную текущую папку с помощью cd, на уровень выше. Команде можно передать в параметрах сколько папок нужно удалить. Для этого добавьте плюс, а затем цифру.
17. printf
Эта команда похожа на echo по своему назначению похожа на echo. Она позволяет вывести в терминал строку, но перед выводом вы можете настроить ее форматирование. Синтаксис форматирования очень похож на тот, что используется в популярных языках программирования, таких как Си или PHP. Например, с помощью этой команды bash вы можете подставить значения переменных в произвольные места строки:
printf «Var: %s\n» «$VAR»
18. pushd
Команда pushd выполняет действие, обратное до popd и по назначению аналогична cd. Она устанавливает указанную папку на верхушку стека директорий, тем самым меняет текущую рабочую директорию на указанную вами.
19. pwd
Позволяет отобразить текущую рабочую папку:
20. read
С помощью команды read, вы можете прочитать строку из стандартного ввода или файла в переменную. Есть подобные ей команды оболочки bash, которые позволяют считывать строку в массив. Команде можно передать файл для считывания, а также несколько переменных:
21. suspend
Позволяет приостановить выполнение оболочки пока не будет отправлен сигнал SIGCONT. Можно также приостановить выполнение одного из процессов, выполняющихся в фоне.
22. umask
Во время создания файлов, им присваиваются определенные права доступа. Право на чтение, запись и выполнение для владельца, группы и остальных пользователей. С помощью этой команды вы можете изменить правила, по которым присваиваются эти права.
23. time
Встроенная команда time позволяет замерять время выполнения любого скрипта или программы. Измеряется отдельно время выполнения программы и время на ввод пользователя.
24. wait
Наш список команд bash завершает wait. Она позволяет ожидать пока указанный процесс завершит свое выполнение. Вы можете использовать PID или идентификатор Bash для выбора нужного процесса.
Выводы
В этой статье мы рассмотрели основные команды Bash, которые вы можете применять для управления терминалом Linux. Наверное, вы и не догадывались, что многие из часто используемых программ на самом деле встроенные команды bash. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как запустить Bash скрипт в Linux
Как системный администратор, вполне вероятно, что вы написали несколько сценариев Bash для автоматизации вашей работы. Например, вы можете запускать сценарии Bash для резервного копирования вашей работы или для регистрации некоторых событий, происходящих на вашем сервере.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Скрипты Bash, как и скрипты, написанные на других языках программирования, могут запускаться различными способами.
В этой статье мы расскажем о всех способах запуска скрипта Bash в Linux.
Подготовка
Прежде чем вы сможете запустить ваш скрипт, вам нужно, чтобы ваш скрипт был исполняемым. Чтобы сделать исполняемый скрипт в Linux, используйте команду chmod и присвойте файлу права execute . Вы можете использовать двоичную или символическую запись, чтобы сделать ее исполняемой.
Если вы не являетесь владельцем файла, вам необходимо убедиться, что вы принадлежите к правильной группе или что права доступа предоставлены «другой» группе в вашей системе.
В некоторых дистрибутивах ваш файл будет выделен другим цветом, когда он исполняемый.
Теперь, когда ваш файл исполняемый, давайте посмотрим, как можно легко запустить скрипт Bash.
Запустить Bash скрипт из пути к скрипту
Чтобы запустить Bash скрипт в Linux, просто укажите полный путь к скрипту и укажите аргументы, которые могут потребоваться для запуска Bash скрипта.
В качестве примера, скажем, у вас есть Bash-скрипт, расположенный в вашем домашнем каталоге.
Чтобы выполнить этот скрипт, вы можете указать полный путь к скрипту, который вы хотите запустить.
Кроме того, вы можете указать относительный путь к скрипту Bash, который вы хотите запустить.
Таким образом вы узнали, как легко запустить Bash-скрипт в своей системе.
Запустить Bash скрипт, используя bash
Чтобы запустить скрипт Bash в вашей системе, вы должны использовать команду bash и указать имя скрипта, который вы хотите выполнить, с необязательными аргументами.
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Источник
Что такое bash в Linux? Гайд по созданию bash-скриптов
Обновл. 29 Июл 2021 |
bash (сокр. от «Bourne-Again shell») — это командная оболочка (или «интерпретатор командной строки»), используемая по умолчанию в операционных системах на базе Unix и Linux, созданная в 1989 году Брайаном Фоксом с целью усовершенствования командной оболочки sh.
bash позволяет автоматизировать различные задачи, устанавливать программное обеспечение, настраивать конфигурации для своего рабочего окружения и многое другое. В этой статье мы рассмотрим использование нескольких основных команд в bash, а также рассмотрим гайд по созданию bash-скриптов.
Что такое терминал?
Терминал — это программа, которая используется для взаимодействия с шеллом. Это просто интерфейс к нему и другим программам командной строки, которые работают внутри нее. Вот как выглядит типичный терминал (Konsole) в Debian 11 (окружение рабочего стола — KDE Plasma):
Типичный терминал в Linux
Всякий раз, когда мы открываем окно терминала, мы видим приглашение шелла — имя_пользователя@имя_машины:
$ . Символ $ означает, что мы работаем под учетной записью обычного пользователя, а символ
(тильда) означает, что в данный момент мы находимся в домашнем каталоге /home/ .
Команды в bash
Команда в bash — это наименьшая единица кода, которую bash может выполнить. С помощью команд мы сообщаем шеллу, что нам нужно, чтобы он сделал. bash обычно принимает от пользователя одну команду и возвращается к нему после того, как команда будет выполнена. Чтобы немного освоиться в bash, давайте попробуем выполнить несколько простых команд.
Команда echo — возвращает всё, что вы вводите в командной строке:
Пример использования команды echo
Команда date — отображает текущее время и дату:
Пример использования команды date
Команда pwd (сокр. от «print working directory») — указывает на текущий рабочий каталог, в котором команды шелла будут искать файлы.
Файловая иерархия в Linux имеет древовидную структуру, поэтому, чтобы добраться до указанного каталога или файла, нам нужно пройти определенный путь, каждый узел которого отделен от других узлов символом / .
Пример использования команды pwd
Команда ls (сокр. от «list») — отображает содержимое каталога. Обычно, команда ls начинает с просмотра нашего домашнего каталога. Это означает, что если мы просто напечатаем ls , то данная команда выведет содержимое текущего каталога, которым в нашем примере является домашний каталог /home/diego:
Пример использования команды ls
Команда cd (сокр. от «change directory») — изменяет текущую директорию на заданную пользователем. Рассмотрим некоторые примеры использования данной команды:
cd — меняет текущую директорию на заданную. Давайте попробуем с помощью команды ls перейти к корневому каталогу / и ознакомимся с его содержимым. Обратите внимание, что мы также можем использовать точку с запятой ; для записи двух команд в одной строке.
Пример объединения двух команд в одной строке
cd .. — вернуться в родительский каталог.
cd — вернуться в домашний каталог.
Команда mkdir (сокр. от «make directory») — создает новый каталог.
Команда mv (сокр. от «move») — перемещает один или несколько файлов/каталогов из одного места в другое (заданное пользователем). Для этого нужно указать, что мы хотим переместить (т.е. источник), и куда мы хотим переместить (т.е. пункт назначения).
В качестве примера я создам новый каталог Ravesli в своей домашней директории и перемещу в него все .txt-файлы (ну как «все», у меня там только один файл — Адреса.txt) из /home/diego/Документы/ с помощью двух вышеприведенных команд:
Перемещение файлов с помощью команды mv
Команда touch — создает новые пустые файлы (а также изменяет временные метки в существующих файлах и каталогах). Вот как мы можем создать пустой файл под названием foo.txt в папке Ravesli из домашнего каталога:
Создание файла с помощью команды touch
Команда rm (сокр. от «remove») — удаляет файлы/каталоги. По умолчанию, команда rm НЕ удаляет каталоги, но если используется как rm -r * внутри заданного каталога, то каждый подкаталог и файл внутри заданного каталога — удаляются.
Давайте удалим ранее созданный файл foo.txt:
Удаление файла с помощью команды rm
Команда rmdir (сокр. от «remove directory») — удаляет каталоги.
Давайте удалим созданный ранее каталог /home/diego/Ravesli:
Удаление каталогов с помощью команды rmdir
Команда cat (сокр. от «concatenate») — считывает файл и выводит его содержимое. Она может работать с несколькими файлами, объединяя их вывод в единый поток (отсюда и происходит её название). У меня в домашнем каталоге есть папка untitled с файлами С++/Qt-проекта, и ниже я использую команду cat для просмотра содержимого файла main.cpp из untitled:
Пример использования команды cat
Чтобы просмотреть несколько файлов, укажите друг за другом (через пробел) имена требуемых файлов после команды cat , например:
Просмотр нескольких файлов с помощью команды cat
Команда man (сокр. от «manual») — отображает справочные страницы, которые являются руководством пользователя, встроенным по умолчанию во многие дистрибутивы Linux и большинство систем Unix. Например, команда man bash отобразит руководство пользователя, а команда man ls отобразит справку по команде ls .
Отображение справочной информации с помощью команды man
Редактор nano
nano — это маленький, простой, консольный текстовый редактор *nix-подобных операционных систем, впервые увидевший свет в далеком 1999 году. Для запуска редактора достаточно ввести в терминале всего одну команду — nano . Если же нужно отредактировать какой-то конкретный файл, то применяется команда nanо / . Отличительной чертой данного редактора является то, что он управляется сочетаниями клавиш. Например, для сохранения текущего документа применяется сочетание Ctrl+O, для вызова меню поиска — Ctrl+W, для выхода из редактора — Ctrl+X, а для получения всего списка доступных сочетаний клавиш — Ctrl+G.
Гайд по созданию bash-скриптов
Наш шелл, это не только промежуточное звено между пользователем и системой, но еще и мощный язык программирования. Программы, написанные на языке шелла, называются shell-скриптами (или shell-сценариями) и имеют соответствующее расширение файлов — .sh. Сам язык содержит полный набор утилит и команд, доступных в *nix-системах, а также циклы, условные операторы, объявление переменных и пр. Такие скрипты будут очень полезными там, где не требуется использование полноценных языков программирования, например, в задачах администрирования операционной системы.
Создание bash-скрипта
Чтобы создать новый файл bash-скрипта, откройте в любом редакторе текстовый файл и сохраните его с расширением .sh. Все дальнейшие эксперименты я будут проводить в Debian Linux, с применением текстового редактора nano.
Давайте создадим новый файл ravesli.sh:
$ touch ravesli.sh
diego@debian:
$ ls -l
-rw-r—r— 1 diego diego 0 мар 9 14:59 ravesli.sh
diego@debian:
Чтобы выполнить файл bash-скрипта, нужно изменить права доступа к файлу и сделать его исполняемым. Разрешение, как вы наверняка помните из предыдущих уроков, изменяется командой chmod +x :
$ chmod +x ravesli.sh
diego@debian:
$ ls -l
итого 40
drwxr-xr-x 2 diego diego 4096 фев 27 00:23 build-untitled-Desktop-Debug
-rw x r- x r- x 1 diego diego 0 мар 9 14:59 ravesli.sh
Выполнение bash-скрипта
Файл bash-скрипта может быть запущен двумя способами:
Способ №1: bash . Чтобы выполнить скрипт, просто напишите в терминале команду bash , а затем (через пробел) имя файла и нажмите Enter.
Способ №2: ./ . Чтобы выполнить скрипт введите команду ./ и нажмите Enter.
Источник