голосование
PHP
jQuery
Firebird
BASH
HTML
Ресурсы
GIT
SEO
Oracle
Python
Программы
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Первые шаги в освоении BASH

Рано или поздно вам как разработчикам придется осваивать администрирование linux-серверов. Это довольно непростая задача. Вам придется писать скрипты для интрепритатора BASH и применять массу команд. Если вы всю жизнь работали в операционной системе windows, то вам придётся не легко. Управление в операционках виндовс осуществляется через окошки, а в операционках линукс через командную строку. Если сравнивать виндовс и линкс с точки зрения надёжности, то выигрывает с большим отрывом linux. В linux есть командный язык shell (в переводе - раковина, скорлупа). Shell фактически язык программирования очень высокого уровня. Вам придется писать скрипты на shell для BASH.

Что же такое баш? Bash — это командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом (или сценарием). Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и директорий (клавиша tab при наборе), подстановку вывода результата команд, переменные, контроль за порядком выполнения, операторы ветвления и цикла. Ключевые слова, синтаксис и другие основные особенности языка были заимствованы из sh. Именно так написано в википедии. Вам не нужно всё знать! Необходимо знать базовый минимум для администрирования системы.

Базовый минимум BASH

  1. команды sh для управления операционной системой
  2. поиск файлов
  3. установка атрибутов файлов
  4. вызов мануалов для определённой команды
  5. задания для планировщика
  6. установка программ

Хочу предложить вам свой путь для изучения BASH. Я прошёл его сам и не жалею о потраченном времени. Тут подробно описаны первые шаги по освоению bash

  1. серия видеоуроков: SHELL BASH Основы работы в командном процессоре
  2. онлайн курс: Bash: Основы командной строки
  3. статьи с моей категории BASH
  4. любая книга для начинающих программистов BASH. Советую прочитать Advanced-Bash-Scripting-Guide в pdf на русском языке

Схема обучения BASH

схема обучения BASH

Эта схема разбита по шагам. Если вы сразу броситесь писать скрипты, то у вас может ничего не выйти. Не бросайтесь на сложное задание! Читать умные книги сразу не советую. Для начала посмотрите на видео. Пройдите онлайн курс: Bash: Основы командной строки. Только потом читайте книги. Так хоть представление будет о среде linux. Ниже основа без которой сложно будет работать.

  1. Перемещение по файловой системе Linux cd , mc (Midnight Commander)
  2. Вывод папок и файлов: ls
  3. Поиск текста в файлах: grep
  4. Создание текстовых файлов: touch, vim
  5. Смена прав у файлов: chmod
  6. Чтение и редактирование файлов в редакторах: Vim, nano

Практические задания BASH

После того как ваш багаж знаний пополнится, советую приступить к написанию скриптов. Практика в освоении языков очень много значит. Постарайтесь написать несколько скриптов. У меня получилось выполнить 5 скриптов и они успешно работают. Выберите любой пункт из списка скриптов и постарайтесь написать скрипт. Этот эксперимент закрепит ваши знания.

  1. Скрипт для вывода списка файлов и запись данных в файл.
  2. Простейшее логирование
  3. Скрипт для архивации файлов
  4. Скрипт для последовательного запуска sh – скриптов
  5. Бекап базы данных
  6. Скрипт для создания шаблона сайта
  7. Создание alias
  8. Скрипты для CRON с установкой задания

Скажу напоследок небольшое напутствие. Какие бы языки вы не изучали без BASH не обойтись. Программирование на среде windows хорошо для программистов 1C. Если вы веб разработчик, то изучение Linux обязательно. Сила BASH скриптов в хорошей скорости. Вы можете написать короткий скрипт sh в одну строку или написать большой PHP скрипт для одной и той же задачи. Скрипт PHP для обработки больших данных будет долго работать и может зависнуть, а sh скрипт для подобных задач быстро отработает. Как бы я не хвалил BASH у него есть недостатки:

  • Сложно выполнять арифметические операции с числами
  • Немного запутанный синтаксис. К нему непросто привыкнуть
  • Нет синтаксического сахара
  • Нет многомерных ассоциативных массивов. Можно собрать только простой индексированный массив.
  • Нет ООП

Я до сих по не знаю как относиться к этому языку. Он похож на набор команд для консоли и в нем есть функции для работы с данными. Есть условия if-else как у любого другого языка. Плюсов у языка shell много:

  • Установка любимых серверов при помощи команд sh. Например Nginx, Apache
  • sh - язык высокого уровня. Минимум кода даёт максимум результата
  • Синхронизация между папками
  • Быстрое массовое удаление файлов и папок
  • Удобная работа с ключами команд. Например команда ls -1 и ls -al даст разный результат.
  • Настройка окружения для работы вашего веб приложения. Что может быть важнее ))
просмотры: 701, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-02-13 09:26:51
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
https://my.colobridge.net/aff.php?aff=047 серверы vps/vds облачный vps/vds сервер colobridge от 9,9 евро в месяц