пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Python — один из самых популярных языков программирования для анализа данных и Data Science. Почему? Всё дело в его простоте, огромном сообществе и экосистеме библиотек. Библиотеки Python значительно упрощают работу, потому что в них уже содержится готовый код, который разработчики могут использовать для своих проектов. Это позволяет фокусироваться на решении сложных задач, а не писать заново код. Давайте рассмотрим топ-20 библиотек, которые должны быть в арсенале каждого, кто занимается Data Science. 1. NumPy NumPy (или Numerical Python) — основа числовых вычислений в Python. Она состоит из высокоэффективных массивов (arrays) и функций для работы с ними. NumPy обладает высокой производительностью благодаря оптимизации на уровне Си и является основой для многих других библиотек Python.  Преимущества: Быстрая обработка больших массивов данных. Удобные математические операции, включая линейную алгебру, статистику и генерацию случайных чисел. 2. Pandas Pandas позволяет эффективно работать с данными в таблицах. У этой библиотеки есть удобные инструменты для обработки и анализа данных, например, манипуляции с отсутствующими значениями, выполнение математических операций и обработку временных рядов. Pandas особенно полезна для анализа больших наборов данных и их предобработки. Преимущества: Удобные структуры данных для работы с таблицами. Фильтрация, группировка, очистка данных. Простота интеграции с другими библиотеками. 3. Matplotlib Matplotlib — библиотека для создания графиков и визуализаций данных. Её гибкость позволяет кастомизировать графики под любые нужды аналитиков. Преимущества: Гибкость построения графиков. Поддержка различных видов визуализации: гистограммы, линейные графики, scatter plots. 4. Seaborn Seaborn — расширение Matplotlib, которое упрощает создание статистических графиков. У этой библиотеки упрощённый синтаксис и привлекательный дизайн визуализаций. Её часто используют для изучения взаимосвязей между переменными. Преимущества: Простота работы с категориальными и числовыми данными. Интуитивный синтаксис. Красивые и стильные графики. 5. Scikit-learn Эта библиотека является стандартом для машинного обучения в Python. У неё есть множество алгоритмов и инструменты для предобработки данных и оценки моделей. Scikit-learn тесно интегрирована с NumPy и Pandas, что делает её универсальным инструментом для задач ML. Преимущества: Поддержка множества алгоритмов машинного обучения (регрессия, классификация, кластеризация). Интеграция с NumPy и Pandas. Множество встроенных инструментов для предобработки данных и оценки моделей. 6. TensorFlow TensorFlow — библиотека для глубокого обучения, разработанная Google. Она поддерживает создание нейронных сетей любого уровня сложности, от простых до многоуровневых моделей. TensorFlow используется для обработки изображений, текста и анализа данных. Преимущества: Поддержка нейронных сетей любого уровня сложности. Понятная документация и поддержка сообществом. Возможность разрабатывать сложные модели для работы с разными типами данных. 7. PyTorch  PyTorch — гибкая библиотека для глубокого обучения. Благодаря своей скорости и вычислительной графике она получила признание в академических кругах. PyTorch упрощает создание и отладку моделей, что делает её популярной для исследовательских целей. Преимущества: Простота и гибкость для исследовательской работы. Поддержка динамических вычислений. 8. Keras Keras — высокоуровневая оболочка для TensorFlow, которая позволяет быстро и просто создавать нейронные сети. Обладает интуитивным интерфейсом, что  особенно полезно для новичков в области глубокого обучения. Преимущества: Лёгкость в изучении и использовании. Быстрое прототипирование моделей. Хорошая поддержка для начинающих. 9. SciPy SciPy — библиотека для научных и инженерных вычислений, которая расширяет возможности NumPy. Она включает модули для оптимизации, интеграции, интерполяции, обработки сигналов и изображений, что делает её полезным инструментом для исследователей. Преимущества: Инструменты для численного интегрирования, оптимизации, интерполяции и статистики. Хорошая интеграция с NumPy. 10. Statsmodels Эта  библиотека подходит для сложного статистического анализа, включая линейные и нелинейные модели, тесты гипотез и временные ряды. Она является мощным дополнением к Pandas и SciPy для задач анализа данных. Преимущества: Расширенные методы статистического моделирования. Анализ временных рядов. Поддержка множества статистических тестов. 11. NLTK NLTK (Natural Language Toolkit) — библиотека для обработки естественного языка. Это идеальный выбор для базовых задач NLP. Преимущества: Инструменты для токенизации, стемминга, парсинга текста. Поддержка работы с корпусами текстов. 12. spaCy spaCy — ещё одна библиотека для обработки текста. Содержит инструменты NLP, включая Named Entity Recognition и Part-of-Speech Tagging. Её API удобно интегрируется с другими библиотеками. Преимущества: Высокая производительность. Мощные инструменты для анализа текстов (Named Entity Recognition, Part-of-Speech Tagging). Простота интеграции с другими библиотеками. 13. Gensim Gensim — библиотека с открытым исходным кодом, которая специализируется на тематическом моделировании. Она включает популярные модели и может работать с большими текстовыми массивами.  Преимущества: Модели Word2Vec и Doc2Vec. Эффективная обработка больших текстовых корпусов. 14. Plotly Plotly — библиотека для создания интерактивных графиков, которые можно интегрировать с веб-приложением. Это мощный инструмент для визуализации больших наборов данных. Преимущества: Поддержка интерактивных графиков. Интеграция с веб-приложениями. Удобная работа с большими данными. 15. Bokeh С помощью  Bokeh можно создавать интерактивные веб-графики и дашборды, которые подходят для работы с большими данными в реальном времени. Преимущества: Интерактивные дашборды. Возможность масштабирования графиков для больших данных. 16. Dash Dash — фреймворк на основе Plotly, который упрощает разработку аналитических веб-приложений. Он подходит для пользовательских интерфейсов и визуализации данных. Преимущества: Лёгкость в разработке интерактивных панелей управления. Интеграция с Plotly. 17. OpenCV OpenCV — библиотека для компьютерного зрения с инструментами для обработки изображений и видео, включая поиск объектов и работу с потоками. Преимущества: Инструменты для обработки изображений и видео. Поддержка работы с камерами и потоковыми данными. 18. PyCaret PyCaret — библиотека AutoML, которая упрощает создание, обучение и оценку моделей машинного обучения. PyCaret особенно полезна для быстрого прототипирования. Преимущества: Быстрое прототипирование моделей. Интеграция с популярными ML-фреймворками. 19. LightGBM LightGBM — библиотека для градиентного бустинга, оптимизирована для работы с большими данными. Преимущества: Высокая производительность. Эффективная работа с большими данными. 20. XGBoost XGBoost — ещё один популярный инструмент для градиентного бустинга, который обеспечивает точность и скорость предсказаний благодаря многим встроенным оптимизациям. Преимущества: Точность предсказаний. Ускоренная работа благодаря оптимизациям.
img
Написать SQL-код с несколькими условиями может быть не так просто, особенно если вам нужно выполнить целый ряд проверок. Например, выражение альтернативы  if () else if () else {} обрабатывает все условные операторы SQL. Если первое условие выполняется, то запрос прекращает свое выполнение и возвращает значение. Значение, которое было указано в  else , возвращается только в случае, если ни одно условие не выполнилось. В этой статье мы с вами рассмотрим:  Что такое оператор SQL CASE и как он работает Как решить задачу с помощью оператора SQL CASE Что означают такие немаловажные термины, такие как ORDER BY, LIMIT, OFFSET, LEFT JOIN и ALIAS. Что такое оператор SQL CASE? В программировании при заданном наборе условий для того, чтобы узнать, какой блок кода необходимо выполнить, вы используете условные операторы ( switch или  if else ).  В SQL это можно сделать с помощью оператора CASE. Для того, чтобы выполнить блок кода условного оператора, ключевое слово CASE нужно использовать вместе с оператором WHEN. Чтобы вернуть результат выражения, вам понадобиться также оператор THEN. Если не выполняется ни одно из условий, то в игру вступает последний оператор ELSE для того, чтобы вернуть резервный результат. Оператор SQL CASE имеет следующий синтаксис: CASE    WHEN conditional_statement1 THEN result1    .    .    .    .    WHEN condition_statementN THEN resultN       ELSE result END; Синтаксис оператора SQL CASE Когда вы используете оператор CASE, следующим должен быть WHEN, затем THEN и результат, который возвращается при выполнении первого условия. Если первое условие не выполняется, то проверяются следующие условия вплоть до n-го (или последнего) условия. Если они также не выполняются, то выполняется условие ELSE. При этом здесь конструкция ELSE не является обязательной. В тех случаях, когда его нет, результат запроса просто возвращает NULL. Задача Здесь мы рассмотрим реальный пример, чтобы помочь вам научится решать задачи в SQL с помощью оператора CASE. С этой задачей я столкнулся на Coderbyte. Это платформа для отработки задач по программированию. Ее было не так просто решить, и сейчас я разберу решение этой задачи пошагово. В чем заключается задача? Задача заключается в следующем: необходимо придумать такой SQL-запрос, который бы вернул из таблицы строку сотрудника с третьей по величине заработной платой.  Вам нужно построить запрос таким образом, чтобы найти этого сотрудника и вернуть его строку. Также вы должны заменить значение DivisionID соответствующим значением DivisionName из таблицы company_divisions. Затем, если значение ID есть в таблице и не равен NULL, то вам нужно заменить это значение на значение ManagerName. Какую проблему решает оператор SQL CASE в этой задаче? В этой задаче мы будем использовать оператор CASE для того, чтобы выполнить следующее: Проверить, что ManagerID не равен NULL Сопоставить ManagerID из таблицы company и ID из таблицы company и вернуть Name в качестве значения ManagerName Сделать так, чтобы, если Name не возвращается, то в качестве значения ManagerName по умолчанию возвращается имя Susan Wall Вот, что должно получиться: ID Name DivisionName ManagerName Salary 222 Mark Red Sales Susan Wall 86000 А ниже представлены данные, которые вам нужны для решения этой задачи: Таблица 1: company ID Name DivisionID ManagerID Salary 356 Daniel smith 100 133 40000 122 Arnold Sully 101 null 60000 467 Lisa Roberts 100 null 80000 112 Mary Dial 105 467 65000 775 Dennis Front 103 null 90000 111 Larry Weis 104 35534 75000 222 Mark Red 102 133 86000 577 Robert Niger 105 12353 76000 133 Susan Wall 105 577 110000 Таблица 2: company_divisions ID    DivisionName  100    Accounting  101    IT  102    Sales  103    Marketing  104    Engineering  105    Customer Support  Как решить задачу с помощью оператора SQL CASE? Здесь мы рассмотрим пошаговый процесс решения этой задачи. Шаг 1: получение строки сотрудника с третьей по величине заработной платой Для начала нам нужно построить запрос, который вернет строку сотрудника с третьей по величине заработной платой. Вы можете сделать это следующим образом: упорядочить таблицу company по значениям заработной платы (так как именно это значение нас интересует) и выбрать третью строку сверху. Выглядеть это будет примерно так: SELECT * FROM company ORDER BY salary DESC limit 1 offset 2; Выбор строки с третьим по величине значением заработной платы Как и ожидалось, запрос вернул строку сотрудника с третьей по величине заработной платой. ID Name DivisionID ManagerID Salary 222 Mark Red 102 133 86000 Итак, что же творится в этом запросе? SELECT : команда SELECT со звездочкой (*) (также известной как подстановочный знак) извлекает все столбцы из таблицы company. ORDER BY : команда ORDER BY упорядочивает столбцы в порядке возрастания или убывания. По умолчанию SQL упорядочивает по возрастанию (ASC), но мы упорядочим столбец заработной платы по убыванию (DESC). Мы делаем именно так, поскольку нам нужен убывающий список заработных плат, от самой высокой до самой низкой, то есть от 110 000 до 40 000. limit : команда limit ограничивает количество записей, которые будут возвращены, с помощью установленного значения. Так как нас интересует строка конкретного сотрудника, то мы ограничим вывод одной строкой и установим значение равное 1. Это гарантирует нам, что при каждом выполнении запроса мы будем получать только одну запись.  offset : оператор offset помогает нам указать количество строк, которые необходимо пропустить, прежде чем возвращать строки из запроса. С помощью offset мы можем пропустить две строки с самыми высокими заработными платами (Susan Wall и Dennis Front) и вернуть строку с третьей по величине заработной платой (Mark Red). Шаг 2: замена DivisionID на DivisionName Теперь нам нужно изменить запрос так, чтобы он выбирал только нужные нам столбцы – ID, Name, ManagerID, DivisionName и Salary. И затем заменить столбец Division ID соответствующим столбцом DivisionName из таблицы company_divisions. Вы можете сделать это так: SELECT c.ID, c.Name, c.ManagerID, c.salary, cd.DivisionName FROM company as c LEFT JOIN company_divisions as cd ON c.DivisionId = cd.id ORDER BY salary DESC limit 1 offset 2; Выбор столбцов и объединение с таблицей company_division Вот результат: ID Name DivisionName ManagerID Salary 222 Mark Red Sales 133 86000 Давайте обсудим, что же творится в запросе выше: LEFT JOIN : так как записи возвращаются с левой стороны (company), то мы сопоставляем их с правой стороны (company_division) с помощью  company_division.id и  company.DivisionID . В случае, если была обнаружена совпадающая запись, то есть если ID из таблицы company также есть и в таблице company_division, то столбец DivisionName заполнятся фактическим значение из левого соединения (в нашем случае это Sales). Если записи нет, то ничего не возвращается.  as   (alias): alias используется для задания временного псевдонима таблицы. Таким образом, с учетом того, что у таблицы company есть псевдоним (c), вместо company.name мы можем использовать c.name. Использование таких псевдонимов помогает улучшить читаемость кода.  Шаг 3: Замена ManagerID на ManagerName За основу возьмем результат запроса из шага 2. Мы будем использовать оператор CASE, который мы уже изучили, для того, чтобы добавить условия: равен ли ManagerID NULL и существует ли ManagerID.  В первую очередь нам нужно проверить, не является ли значение company.ManagerID   нулевым, и убедиться, что ID существует в таблице. Для этого мы применим оператор CASE. CASE WHEN c.ManagerID IS NOT NULL AND c.ManagerID = c.ID Первый шаг оператора CASE Вторая часть оператора CASE нам нужна для того, чтобы заменить столбец ManagerID на столбец ManagerName. Для этой цели мы будем использовать блок THEN, который мы уже изучили ранее: CASE WHEN c.ManagerID IS NOT NULL AND c.ManagerID = c.ID THEN Name ELSE 'Susan Wall' END AS 'ManagerName' Готовый оператор CASE для решения задачи И наконец, мы должны добавить блок CASE в уже имеющийся фрагмент кода, который у нас получился на шаге 2. И теперь он будет выглядеть примерно так: SELECT c.ID, c.Name, c.salary, cd.DivisionName CASE WHEN c.ManagerID IS NOT NULL AND c.ManagerID = c.ID THEN Name ELSE 'Susan Wall' END AS 'ManagerName' FROM company as c LEFT JOIN company_divisions as cd ON c.DivisionId = cd.id ORDER BY salary DESC limit 1 offset 2; Оператор SQL CASE вместе с операторами SELECT и JOIN Результат шага 3 – это то, что мы и хотели получить, а именно строку сотрудника с третьей по величине заработной платой.  ID Name DivisionName ManagerName Salary 222 Mark Red Sales Susan Wall 86000 Подводим итоги Я надеюсь, что эта статья помогла понять, что такое оператор SQL CASE и как можно с его помощью решать реальные задачи. Также мы рассмотрели и другие команды SQL, такие как SELECT, ORDER BY, LIMIT, OFFSET, LEFT JOIN и ALIAS. 
img
  Введение На протяжении десятков лет Bash (Bourne Again SHell) была основным интерфейсом в Unix-подобных системах. Это универсальная настраиваемая оболочка, полная функций, которые позволяют обычным пользователям, программистам и системным администраторам эффективно использовать командную строку. Эта статья призвана познакомить вас с Bash, рассказать о ее функциях и особенностях, а также объяснить, почему она по-прежнему остается востребованной даже в эпоху новомодных графических интерфейсов.  Что такое Bash? Bash – это программа-оболочка, которая предоставляет пользователям среду, где они могут вводить команды и запускать другие приложения. Когда вы открываете терминал, вы уже по умолчанию используете оболочку Bash (так происходит в большинстве дистрибутивов Linux).  Пользователи могут вводить команды в командной строке Bash для того, чтобы перемещаться по файлам, управлять процессами, устанавливать программное обеспечение и выполнять практически любые операции, которые поддерживает операционная система.  Для того, чтобы узнать, используете вы Bash или нет, откройте окно терминала и введите вот эту команду: echo $0   Система ответит, указав, что запущена оболочка Bash. Кроме того, Bash – это язык описания сценариев, а это значит, что пользователи могут создавать сценарии, содержащие несколько команд Bash, которые будут выполняться в определенной последовательности. Это те же команды, которые пользователи вводят в терминале вручную. Bash-скрипты (Bash-сценарии) позволяют автоматизировать повторяющиеся задачи, оптимизировать сложные операции и создавать новые инструменты и утилиты.  Примечание : Bash-сценарии являются переносимыми и могут работать в любой системе, где установлена оболочка Bash. Что такое оболочка? Оболочка – это пользовательский интерфейс, который переводит команды, вводимые пользователями, в действия, которые может выполнять операционная система. К этим действиям относятся управление файлами, взаимодействие с аппаратным обеспечением и запуск приложений.  Есть два основных типа оболочек: Командная оболочка . Это тип оболочки, предоставляющий командную строку для операционной системы. Пользователи вводят команды в терминал, которые потом обрабатываются оболочкой. Среды популярных командных оболочек можно выделить следующие: Bash, Zsh, Tcsh, Fish и KornShell.  Графическая оболочка . Здесь пользователи взаимодействуют с системой через графический интерфейс и его значков, кнопок и окон. Для взаимодействия используются мышь и клавиатура (сочетание клавиш). Вот примеры графических оболочек: GNOME Shell (часть рабочей среды GNOME) и интерфейс macOS Finder.  Большая часть оболочек также предлагают среду разработки, где пользователи могут писать сценарии и выполнять задачи программным путем. Краткая историческая справка о Bash Некоторые решения, та же оболочка Bash, так крепко вошли в технологическую экосистему, что легко забыть о том, что их все-таки кто-то придумал.  Брайан Фокс разработал Bash в 1989 году в рамках проекта GNU в качестве бесплатной альтернативы оболочки Bourne ( sh ). Ее название -  Bourne Again Shell , означает, что Bash – это новая улучшенная версия  sh . В основе Bash лежит  sh , но при этом в ней есть дополнительные функции, которых нет в оригинальной оболочке Bourne, например, Управление заданиями История команд Функции оболочки и их псевдонимы Редактирование и автозаполнение командной строки Команды условий (операторы bash if и bash case) Базовая отладка и обработка сигналов Индексированные массивы без ограничений на размер Поддержка HereDocs Внедрение Bash в дистрибутивы Linux укрепило ее позиции в качестве главной оболочки Unix-подобных операционных систем.  Примечание : Bash была оболочкой по умолчанию в macOS до того, как вышла MacOS Catalina. После ее заменила оболочка Zsh. Но при этом Bash по-прежнему может использоваться в macOS. Для этого необходимо заменить оболочку Zsh обратно на Bash. С момента своего выпуска оболочка Bash претерпела несколько изменений, введя новые функции и улучшения. Чет Рэми взял на себя разработку еще в конце 1980-х годов и по-прежнему сопровождает эту оболочку.  Для чего нужна Bash? IT-специалисты часто используют Bash для выполнения самых разных задач, в частности: Выполнение команд . Командная строка Bash позволяет пользователям управлять запущенными процессами, файлами и каталогами, перемещаться по файловой системе и запускать приложения. Создание сценариев . Программисты могут писать Bash-скрипты и выполнять, таким образом, последовательность команд, которые помогают автоматизировать рабочие процессы и создавать новые инструменты и функции. Конвейер и обработка данных . Bash поддерживает использование символа конвейера (|) для передачи вывода одной команды другой. Таким образом, вы можете применять к данным целую цепь операций. Например, специалисты по обработке данных и аналитики используют конвейер Bash для того, чтобы быстро обрабатывать данные. Персонализация и настройка среды . Файлы конфигурации, например, .bashrc и .bash_profile, позволяют пользователям настраивать среду Bash в соответствии со своими потребностями, а также устанавливать псевдонимы, переменные среды и строки приглашения.  Планирование задач . Bash-скрипты можно планировать для того, чтобы запускать их в определенное время или через определенные промежутки времени. Например, администраторы баз данных используют Bash для того, чтобы планировать процедуры резервного копирования или оптимизации баз данных и проводить их в периоды неполной нагрузки.  Составление программ и разработка . Разработчики используют Bash для того, чтобы компилировать и запускать программное обеспечение, управлять зависимостями проектов и автоматизировать рабочие процессы разработки.  Системное администрирование . Системные администраторы используют Bash для того, чтобы настраивать службы, контролировать ресурсы, развертывать приложения и выполнять соответствующие задачи управления системой. Работа в сети . Сетевые администраторы используют такие команды, как ssh и netstat, для того, чтобы упростить процессы передачи данных и удаленного управления системой. Интерактивные рабочие процессы . Bash может запрашивать у пользователей ввод данных, что позволяет создавать управляемые рабочие процессы. Например, специалисты службы поддержки клиентов могут разрабатывать управляемые рабочие процессы для того, чтобы устранять какие-то типичные проблемы, вместо того, чтобы лично помогать пользователю на протяжении всего процесса.  Как работает Bash? Как и любая другая оболочка, Bash выполняет функцию интерфейса между пользователем и базовой операционной системой, в частности ядром. Ниже представлен обобщенный обзор того, как работает Bash: 1. Инициализация. При запуске Bash считывает и выполняет сценарии инициализации (.bashrc для отдельных пользователей или /etc/profile для общесистемной настройки). Эти сценарии определяют среду Bash и ее функции, а также настраивают логику работы оболочки.  2. Приглашение к вводу команды.  После инициализации Bash отображает приглашение и ожидает от пользователя ввода команды.  3. Считывание команды. Пользователь вводит команду в командной строке и нажимает Enter. Bash считывает команду. 4. Анализ команды. Bash разбивает команду на слова и операторы. Она определяет названия команд, аргументы, операторы и символы перенаправления.   5. Расширения. Если команда содержит фигурные скобки, переменные или расширения имен маршрутов, Bash изменит или расширит исходную команду на основе шаблонов или результатов других команд.  6. Выполнение команды. Bash определяет, что это за команда (встроенная, внешняя или функция), после чего выполняет ее и запускает соответствующую программу. 7. Перенаправление и конвейер. Bash обрабатывает любые перенаправления, то есть то, куда направляется вывод команды и откуда поступает ввод. Кроме того, она обрабатывает конвейерные операции, отправляя результат одной команды на вход другой. 8. Управление заданиями. Bash может управлять несколькими задачами (заданиями) одновременно. При этом пользователи могут приостанавливать, завершать и управлять фоновыми или приоритетными задачами, используя команды bg и fg. 9. Повтор. После того, как команда выполнена, Bash возвращается к шагу 2, предлагает пользователю ввести следующую команду и ожидает ввода.  10. Завершение.  Когда пользователь вводит команду exit или нажимает Ctrl+D, он выходит из оболочки, а Bash завершает фоновые процессы и выполняет сценарии завершения, после чего закрывается.  Во время всего этого процесса Bash взаимодействует с ядром посредством системных вызовов, выполняя, таким образом, все необходимые действия.  Функции Bash Вот некоторые из самых важных функций Bash: Встроенные команды. У Bash есть огромное количество встроенных команд, например, cd, echo и pwd, которые выполняются непосредственно внутри оболочки без обращения к внешним двоичным файлам.  История команд. Bash хранит историю пользовательских команд, позволяя, таким образом, запускать их повторно. Редактирование командной строки. Пользователи могут перемещаться по командам и редактировать их с помощью специальных сочетаний клавиш, подобных тем, что используются в vim. Автозаполнение. Нажав клавишу Tab, можно автоматически заполнить (или получит предложение по заполнению) названий команд, имен файлов и каталогов или прочих интересующих вас данных в зависимости от контекста и символов, которые были введены.  Псевдонимы. Bash поддерживает пользовательские сочетания клавиш для длинных команд или их последовательностей.  Сценарии оболочки. Пользователи могут использовать команды Bash и создавать с их помощью сценарии с переменными, функциями, условными операторами и циклами. Это помогает автоматизировать работу.  Перенаправление. Ввод и вывод команд можно направлять в файлы или устройства с помощью специальных операторов направления, таких как >, >> и <. Конвейер. С помощью оператора конвейера (|) пользователи могут использовать результат одной команды в качестве входных данных для другой.  Переменные и среда. Пользователи могут настраивать локальные переменные и переменные среды, например,  $PATH или $ HOME , чтобы изменять настройки оболочки и соответствующих программ.  Арифметические вычисления. Bash может выполнять арифметические операции непосредственно внутри оболочки, используя следующий синтаксис:  $((expression)) . Интерактивные функции. Оболочка Bash может взаимодействовать с пользователями и запрашивать у них ввод данных в процессе выполнения сценария или команды. Предложения к вводу можно настроить так, чтобы пользователю было максимально удобно.  Расширяемость. Bash позволяет пользователям создавать собственные команды и функции, что, в свою очередь, позволяет расширять ее возможности.  Работа в сети. В сценариях и последовательностях команд можно использовать сетевые инструменты, например, Curl и scp. Концепции Bash Огромное количестве концепций Bash определяет то, как оболочка функционирует и как она взаимодействует с пользователем и системой: Концепция Bash Описание Приглашение к вводу Отправная точка в командной строке, где вводятся команды. Как правило, это значит, что оболочка ожидает команду. Аргументы Дополнительная информация, которая предоставляется команде и которая определяет поведение команды. Флаги Специальные аргументы с префиксом - или --, которые позволяют изменить поведение команды. Функции Функция Bash – это группа многоразовых частей кода под одним именем, которую можно будет использовать в дальнейшем.  Специальные символы Такие символы, как  * ,  ? или [] , используются для обозначения или сопоставления имен файлов или строк на основе шаблонов. Переменные Bash-скрипты используют переменные для того, чтобы хранить данные и управлять ими. Переменные могут содержать строки, числа или результаты выполнения команд. Расширения Механизм, при котором оболочка заменяет определенные операторы соответствующими значениями, например,  расширение переменной  $VARNAME , подстановка команды  $(command) или раскрытием скобок  {1..100} . Код завершения Числовое значение, которое возвращается командой после того, как она завершится. Оно указывает на успешное выполнение команды ( 0 ) или тип ошибки ( не 0 ). Фоновые задания Команды или процессы выполняются в фоновом режиме, при этом пользователь может продолжать работу. Подстановка Процесс, с помощью которого оболочка сопоставляет имена файлов на основе шаблонов, которые были предоставлены пользователем. Интерактивный и неинтерактивный режимы Bash может работать как в интерактивном режиме (то есть взаимодействовать напрямую с пользователем), так и в неинтерактивном (то есть выполнять сценарии). Оболочка входа и оболочки без входа в систему Оболочки входа (запускаются, когда пользователь входит в систему) и оболочки без входа в систему используют разные файлы конфигурации. Что такое Bash-скрипты? Bash-скрипт – это текстовый файл, который содержит последовательность команд Bash. При выполнении скрипта (сценария) оболочка Bash считывает и обрабатывает эти команду одну за другой. Bash-скрипты позволяю расширить возможности оболочки. Вместо простого выполнения команд в терминале в интерактивном режиме появляется хитроумное объединение команд в цепочку, выполнение условной логики и перебор значений последовательности. Для того, чтобы создать простой сценарий Bash, вам нужно выполнить следующие шаги: 1. Откройте терминал и воспользуйтесь текстовым редактором, чтобы создать простой текстовый файл. В данном случае используется текстовый редактор nano, и с его помощью создается файл с именем  test_script.sh : nano test_script.sh Bash-скрипт начинается с последовательности символов, которая называется шебанг (#!). За ней следует путь к исполняемому файлу Bash. Таким образом, система получает указание, что этот сценарий необходимо выполнить с помощью оболочки Bash.  Примечание : в Bash-скриптах, как и в других языках программирования, для комментирования используется символ #. 2. Скопируйте и вставьте в файл  test_script.sh следующий код: #!/bin/bash # Prompt the user for input { # Просим пользователя ввести данные } echo "Please enter your name:" # Read the user's input into a variable called 'username' { # Считываем ввод пользователя и сохраняем его в переменной username } read username # Print a greeting { # Печатаем приветственное сообщение } echo "Hello, $username! Welcome to the Bash world." Команды в сценарии  test_script.sh указывают Bash о необходимости выполнить следующее: Попросить пользователя ввести имя Сохранить имя, которое ввел пользователь, как переменную  username Вывести приветственное сообщение, используя переменную  username 3. Сохраните файл и выйдите их редактора.  4. Введите следующую команду, чтобы сделать сценарий исполняемым: chmod +x test_script.sh 5. Введите следующую команду, чтобы запустить сценарий: ./test_script.sh Сценарий запросит имя и поприветствует пользователя. Сценарий, приведенный выше, - это простой пример Bash-сценария. Bash-сценарии поддерживают продвинутые механизмы программирования, например, условные выражения, блоки многократного использования и ассоциативные массивы. 25 самых популярных команд Bash Знание команд и концепций Bash – это основа для написания хороших сценариев. Ниже перечислены 25 самых популярных команд Bash: Операции с файлами и каталогами  ls – перечисляет содержимое каталога cp – копирует файлы или каталоги rm – удаляет файлы или каталоги cat – объединяет и отображает содержимое файла mkdir – создает каталог rmdir – удаляет каталог Права доступа и владение choown – изменяет владельца и группу файла chgrp – изменяет группу файла Управление процессами top – отображает процессы реального времени kill – отправляет процессам команды (чаще всего используется для завершения процессов) Работа в сети ping – отправляет хосту эхо-запросы протокола ICMP ifconfig – отображает или изменяет конфигурацию сетевого интерфейса Архивирование и сжатие tar – создает архивы и извлекает из них данные gzip и  gunzip – сжимает и разворачивает файлы Обработка текста grep – производит поиск определённых шаблонов в файлах  sed – открывает потоковый редактор для работы с текстом awk – открывает инструмент обработки текста и извлечения данных Прочее alias – создает комбинации клавиш для быстрого вызова команд  history – показывает историю команд eval – выполняет динамические команды со строками и переменными read – считывает текст из стандартного ввода find – выполняет поиск файлов в структуре каталогов let – вычисляет арифметические выражения trap – прогнозируемо выходит из сценария  wait – указывает оболочке дождаться завершения фоновых процессов перед выходом Этот список – это лишь часть команд, инструментов и утилит Bash, предлагаемые крупной экосистемой UNIX.  Заключение Прочитав эту статью, вы узнали о том, как работает оболочка Bash, о том, как она появилась и какие у нее есть функции, а также ее основные концепции. Запуская терминал в своей системе Linux, вашим интерфейсом становится Bash. Она не только отлично подходит для выполнения простых команд, но, что еще более важно, является «ключом» к автоматизации повторяющихся задач и оптимизации операций. 
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59