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(138 ratings)
607 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 sections34 lectures5h 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