Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Shell and Bash Scripting Beginner's Guide
Highest Rated
Rating: 4.6 out of 5(139 ratings)
631 students

Shell and Bash Scripting Beginner's Guide

Bash, Z shell, Command Basics, Input/Output Basics, Bash scripting
Last updated 10/2022
Russian

What you'll learn

  • Bash
  • Z shell
  • Command Basics
  • Input/Output Basics
  • Bash scripting

Course content

6 sections • 34 lectures • 5h 20m total length
  • Introduction6:03

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

    00:00 - Введение
    00:22 - Что нужно знать для прохождения курса
    01:21 - GUI & CLI
    02:39 - Командная оболочка shell
    03:57 - Командная оболочка bash & zsh
    04:46 - Что будет разбираться в курсе
    05:22 - Зачем знать bash

  • Command Basics9:22

    Для работы с командной оболочкой shell, bash, zsh или какой-либо еще, нам необходимо разобраться с шаблоном написания любых команд. Ведь как мы помним из предыдущего видео, именно команды являются основным инструментом при работе в консоли. Также на видео разберем удобные способы чтение документации любых команд и попрактикуемся с некоторыми из них.

    00:00 - Введение
    00:26 - Общий шаблон всех команд
    01:13 - Параметры команд
    01:54 - Как найти документацию команд
    02:45 - Примеры команд
    04:35 - Базовые команды echo, clean, ls
    06:35 - Документация команд через man
    08:02 - Базовая команда wc
    09:17 - Заключение

  • File System9:00

    Чаще всего обычный пользователь работает с файловой системой: открывает, ищет, создает, перемещает различные директории и файлы. Поэтому наша задача в этом видео узнать основы файловой системы операционных систем и базовые команды работы с директориями.

    00:00 - Введение
    00:25 - Files & Directories
    01:50 - Basic directory commands
    03:24 - Absolute & relative paths
    05:18 - Special directory symbols
    08:55 - Заключение

  • Shell Variables10:13

    Понятие переменной очень распространено в любых языках программирования - это временное хранилище какой-то информации. Командные оболочки - не исключение, они точно так же могут хранить переменные, причем как локальные, так и глобальные, которые еще принято называть переменными окружения (Environment variables). В этом видео мы особое внимание уделим такой переменной окружения как PATH, благодаря которой в принципе операционные системы unix ищут и выполняют любые введенные нами команды. Также затронем тему того, как сделать изменения переменных окружений постоянными.

    00:00 - Введение
    00:17 - How to create local variables
    01:42 - String interpolation
    02:18 - Environment variables. Commands export, printenv
    04:42 - Environment variable PATH
    08:42 - How to change environment variable permanently

  • Text Files Viewing8:13

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

    00:00 - Введение
    00:35 - Базовые команды для чтения текстовых файлов
    02:02 - Команда cat
    04:07 - Команда nl
    05:05 - Команды head & tail
    06:06 - Команда less
    07:52 - Заключение

  • IO Basics11:03

    Второй этап на пути к созданию своей environment variable - это разобраться с основами потоков ввода-вывода в unix operating systems. Для этого как обычно на диаграммах мы познакомимся с тем, что по факту ввод и вывод команд - это всего лишь массив байт (ключевой момент в понимании последующих тем). На видео также узнаем, что существуют потоки ввода-вывода по умолчанию для команд, которые можно без проблем менять в последующем.

    00:00 - Введение
    00:25 - input & output of commands
    01:15 - Standard Input, Standard Output, Standard Error
    03:27 - input & output & error examples
    04:52 - How to change Standard Output
    06:40 - How to change Standard Error
    08:06 - Combine both Standard Output & Standard Error
    10:38 - Заключение

  • Run Commands File7:43

    Наконец-то мы обладаем всем необходимым багажом знаний, чтобы суметь добавить свою собственную environment variable на постоянной основе. И для этого существуют специальные зарезервированные имена файлов в зависимости от используемой командной оболочки: .bash_profile и .bashrc - для bash; .zprofile и .zshrc - для z shell. Также на видео рассмотрим такую команду как source и ее аналог - . (dot).

    00:00 - Введение
    00:47 - Special files .bash_profile, .bashrc & .zprofile, .zshrc
    02:20 - Add environment variables to .zshrc
    04:45 - Command source (or .)
    07:22 - Заключение

  • Pipes6:11

    На занятии по основам потоков ввода-вывода в unix operating systems мы поняли ключевой момент: как input так и output используют массив байт. А это значит, что output одной команды мы можем использовать как input для другой. И таким образом мы можем продолжать довольно долго, создавая огромные конвейеры команд или по-другому Pipes. Также в видео поговорим о комбинации команд через специальные символы ; && ||.

    00:00 - Введение
    00:30 - Конвейер команд (Pipes)
    01:25 - Pipes examples
    03:36 - Commands combination via (; && ||)
    06:06 - Заключение

  • Command history7:23

    На этом видео мы в совершенстве овладеем переиспользованием уже набранных ранее команд, чтобы значительно увеличить нашу производительность и уменьшить время набора новых команд. Также затронем тему размера истории команд и как ее почистить полностью.

    00:00 - Введение
    00:25 - Files .bash_history & .zsh_history
    01:39 - Поиск и итерация по истории команд
    02:49 - Команда history
    04:48 - HISTSIZE variable
    06:56 - Clean all commands via history -c

Requirements

  • Понимание Unix operating systems и основы computer science

Description

Для успешного прохождения этого курса необходимо всего лишь:
- базовое понимание и опыт работы с Unix operating systems
- основы алгоритмизации и программирования
Другими словами говоря, этот курс рассчитан на людей практически с нуля.

В нем будут разобраны основы, самые важные и полезные аспекты, которые необходимы каждому разработчику:
- принципы работы и устройство bash
- часто встречаемые команды
- написание bash скриптов

Зачем нужен bash?
Подавляющее большинство приложений (особенно Java приложений) разрабатываются и разворачиваются на Unix операционных системах (Linux, MacOS). Поэтому в любом случае каждый разработчик столкнется с командной строкой, а значит и bash: либо на локальном компьютере, либо удаленно подключиться к серверу для его настройки и выполнения команд.

Пройдя этот курс, ты уверенно будешь владеть любыми командными оболочками (особенно bash и Z shell). Сможешь комфортно себя чувствовать как со знакомыми и часто встречаемыми командами, так и новыми, потому что ты будешь знать как подходить к их изучению и в последующем использовать любые команды (и даже написать свои!).
Более того, ты поймешь основы потоков ввода-вывода, что означает Standard Input, Standard Output и Standard Error, также перенаправлять их от окна командной оболочки (консоли) в файлы и даже другие команды. Потому что любые входные и выходные параметры - это всего лишь массив байт, т.е. универсальный тип данных. И более того, все в Unix операционных системах - представлено в виде файлов.
В заключительной части курса ты в совершенстве овладеешь навыком написания полноценных bash скриптов, которые можно использовать как отдельные программы, так и для автоматизации любых процессов на локальной или даже удаленной машине.

Who this course is for:

  • Для тех, кто хочет получить или углубить знания о работе командных оболочек и написания bash scripts