Основы Bash в Linux: что это за командная оболочка и как с ней работать — пишем первый скрипт

План статьи

  1. Введение
  2. Что такое Bash?
  3. Основные команды Bash
  4. Как написать первый Bash-скрипт
  5. Популярные вопросы и ответы
  6. Заключение

Введение

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

Что такое Bash?

Bash (Bourne Again SHell) — это командная оболочка и язык сценариев, которые используются в Unix-подобных операционных системах, таких как Linux. Bash обеспечивает интерфейс командной строки, позволяя пользователям выполнять команды, управлять файлами и автоматизировать задачи с помощью скриптов.

История создания Bash

Bash был создан в 1989 году Брайаном Фоксом как свободное программное обеспечение для проекта GNU. Bash является улучшенным вариантом более старой оболочки sh (Bourne Shell), добавляя множество новых возможностей, таких как управление историей команд, улучшенные функции программирования и расширенные возможности настройки.

Основные особенности Bash

  • Поддержка циклов и условий
  • Встроенные команды и функции
  • Мощные возможности редактирования командной строки
  • Высокая совместимость с POSIX-стандартами

Основные команды Bash

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

Навигация по файловой системе

  • cd — смена текущего каталога. Пример: cd /home/user
  • ls — список файлов и каталогов. Пример: ls -l
  • pwd — вывод текущего рабочего каталога. Пример: pwd

Управление файлами и каталогами

  • cp — копирование файлов и каталогов. Пример: cp file1.txt file2.txt
  • mv — перемещение/переименование файлов и каталогов. Пример: mv oldname.txt newname.txt
  • rm — удаление файлов и каталогов. Пример: rm file.txt
  • mkdir — создание нового каталога. Пример: mkdir newdir

Группы команд и пайпы

  • | — пайп, или конвейер, позволяет передавать вывод одной команды как входные данные для другой команды. Пример: ls -l | grep filename
  • && — выполняет следующую команду, если предыдущая завершилась успешно. Пример: mkdir newdir && cd newdir
  • || — выполняет следующую команду, если предыдущая завершилась ошибкой. Пример: cd non_existent_dir || echo Каталог не существует

Просмотр содержимого файлов

  • cat — вывод содержимого файла на экран. Пример: cat file.txt
  • less — постраничный просмотр содержимого файла. Пример: less file.txt
  • head — вывод первых нескольких строк файла. Пример: head -n 10 file.txt
  • tail — вывод последних нескольких строк файла. Пример: tail -n 10 file.txt

Как написать первый Bash-скрипт

Теперь, когда вы знакомы с основными командами Bash, давайте рассмотрим, как написать ваш первый Bash-скрипт.

Шаг 1: Создание файла скрипта

Откройте текстовый редактор и создайте новый файл с расширением .sh. Например: nano myscript.sh.

Шаг 2: Добавление заголовка

В начале файла добавьте shebang — специальную строку, указывающую интерпретатор, который должен исполнять этот скрипт. Для Bash это будет:

#!/bin/bash

Шаг 3: Написание команд

Добавьте команды, которые вы хотите выполнить. Например, создадим простой скрипт, который выводит сообщение на экран и показывает список файлов в текущем каталоге:

#!/bin/bash
echo Hello, World!
ls -l

Шаг 4: Сохранение и закрытие файла

Сохраните файл и закройте текстовый редактор.

Шаг 5: Сделать скрипт исполняемым

Сделайте скрипт исполняемым, используя команду chmod:

chmod +x myscript.sh

Шаг 6: Запуск скрипта

Теперь вы можете запустить свой скрипт, набрав в командной строке:

./myscript.sh

Вы должны увидеть следующее:

Hello, World!
total 4
-rw-r--r-- 1 user user  28 Mar  3 12:34 myscript.sh

Популярные вопросы и ответы

Вопрос: Как добавить комментарии в скрипт?

Ответ: В Bash-комментарии начинаются с символа #. Всё, что следует после #, интерпретатор игнорирует. Пример:

# Это комментарий
echo Это команда

Вопрос: Как передать аргументы в скрипт?

Ответ: В Bash аргументы передаются в виде $1, $2 и т.д. Пример:

#!/bin/bash
echo Первый аргумент: $1
echo Второй аргумент: $2

Запуск: ./myscript.sh arg1 arg2

Вопрос: Как выполнить команду с ожиданием?

Ответ: Вы можете использовать команду sleep для паузы. Пример:

#!/bin/bash
echo Ждем 5 секунд...
sleep 5
echo Продолжаем

Заключение

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