Использование оболочки (bash, zsh) в НАЙС ОС

Введение

Оболочки командной строки, такие как bash (Bourne Again SHell) и zsh (Z Shell), являются важными инструментами для работы в операционной системе НАЙС ОС. Они предоставляют средства для выполнения команд, управления файлами и автоматизации задач. В данной документации мы рассмотрим основные возможности и команды, предоставляемые оболочками bash и zsh, а также их настройку и использование.

Установка и настройка оболочек

По умолчанию в НАЙС ОС используется оболочка bash. Если вы хотите использовать zsh, вам потребуется установить ее с помощью пакетного менеджера dnf или tdnf.

Установка zsh

sudo dnf install zsh

Смена оболочки по умолчанию

Чтобы сменить оболочку по умолчанию для текущего пользователя на zsh, выполните следующую команду:

chsh -s $(which zsh)

Вам потребуется выйти из системы и войти снова, чтобы изменения вступили в силу.

Основы bash

bash является одной из наиболее популярных и широко используемых оболочек командной строки. Она предоставляет мощные инструменты для выполнения команд и написания скриптов.

Запуск bash

Для запуска bash просто введите bash в командной строке:

bash

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

  • echo — выводит текст в командную строку.
  • pwd — отображает текущий каталог.
  • cd — изменяет текущий каталог.
  • ls — отображает содержимое каталога.
  • cp — копирует файлы и каталоги.
  • mv — перемещает или переименовывает файлы и каталоги.
  • rm — удаляет файлы и каталоги.

echo "Hello, world!"
pwd
cd /etc
ls
cp source.txt destination.txt
mv oldname.txt newname.txt
rm unwantedfile.txt

Перенаправление ввода/вывода

bash позволяет перенаправлять ввод и вывод команд с помощью символов >, < и |.

  • > — перенаправляет вывод команды в файл, перезаписывая его.
  • >> — перенаправляет вывод команды в файл, добавляя данные в конец файла.
  • < — перенаправляет ввод команды из файла.
  • | — передает вывод одной команды в качестве ввода другой команды (пайплайн).

echo "Hello, world!" > output.txt
cat output.txt >> output.txt
sort < unsorted.txt
cat file.txt | grep "pattern"

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

bash поддерживает создание и использование переменных, а также выполнение условий и циклов.

  • Создание переменной: variable=value
  • Использование переменной: $variable
  • Условие if: if [ condition ]; then ... fi
  • Цикл for: for var in list; do ... done
  • Цикл while: while [ condition ]; do ... done

name="NICE OS"
echo "Welcome to $name"

if [ -f "file.txt" ]; then
  echo "File exists."
else
  echo "File does not exist."
fi

for i in {1..5}; do
  echo "Iteration $i"
done

count=1
while [ $count -le 5 ]; do
  echo "Count: $count"
  count=$((count + 1))
done

Функции

В bash можно создавать функции для организации и повторного использования кода.


greet() {
  echo "Hello, $1!"
}

greet "NICE OS"

Основы zsh

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

Запуск zsh

Для запуска zsh просто введите zsh в командной строке:

zsh

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

zsh поддерживает все команды, доступные в bash, а также предоставляет дополнительные возможности.

Автодополнение

zsh предоставляет мощные средства автодополнения команд и аргументов. Для включения автодополнения добавьте следующие строки в файл конфигурации ~/.zshrc:


autoload -Uz compinit
compinit

Подсветка синтаксиса

Подсветка синтаксиса помогает лучше воспринимать команды и ошибки. Для включения подсветки синтаксиса добавьте следующие строки в ~/.zshrc:


autoload -U colors && colors
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Темы и плагины

zsh поддерживает темы и плагины для настройки внешнего вида и функциональности оболочки. Популярным менеджером для установки тем и плагинов является Oh My Zsh.

Установка Oh My Zsh

Установите Oh My Zsh, выполнив следующую команду:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Выбор темы

После установки Oh My Zsh вы можете выбрать тему, отредактировав файл ~/.zshrc:

nano ~/.zshrc

Найдите строку ZSH_THEME="robbyrussell" и замените robbyrussell на название выбранной темы, например:

ZSH_THEME="agnoster"

Добавление плагинов

Вы можете добавлять плагины, отредактировав файл ~/.zshrc и указав их в строке plugins. Например:

plugins=(git docker zsh-syntax-highlighting)

После внесения изменений перезапустите zsh:

source ~/.zshrc

Писание скриптов на zsh

zsh позволяет писать скрипты аналогично bash, с дополнительными возможностями и улучшенной синтаксической поддержкой.

Пример скрипта на zsh


#!/bin/zsh

name="NICE OS"
echo "Welcome to $name"

if [[ -f "file.txt" ]]; then
  echo "File exists."
else
  echo "File does not exist."
fi

for i in {1..5}; do
  echo "Iteration $i"
done

count=1
while [[ $count -le 5 ]]; do
  echo "Count: $count"
  count=$((count + 1))
done

greet() {
  echo "Hello, $1!"
}

greet "NICE OS"

Продвинутые функции zsh

Работа с массивами

zsh предоставляет улучшенные возможности для работы с массивами по сравнению с bash.


array=(one two three four)
echo ${array[1]}  # Выводит "one"
array[2]=newvalue
echo ${array[@]}  # Выводит "one newvalue three four"

Поддержка глобальных алиасов

zsh поддерживает глобальные алиасы, которые можно использовать в любой части команды.


alias -g G="| grep"
ps aux G ssh

Расширенные функции автодополнения

zsh предоставляет мощные средства автодополнения, которые можно настроить для различных команд и сценариев.


zstyle ':completion:*:*:git:*' script ~/.zsh/completion/git-completion.bash

Заключение

Оболочки bash и zsh являются мощными инструментами для работы в операционной системе НАЙС ОС. Освоение их основных функций и возможностей поможет вам эффективно управлять системой, автоматизировать задачи и повышать производительность. Независимо от того, предпочитаете ли вы простоту и удобство bash или мощные расширенные возможности zsh, обе эти оболочки предоставляют богатый набор инструментов для решения ваших повседневных задач.

Практика и регулярное использование bash и zsh помогут вам углубить свои знания и улучшить навыки работы с командной строкой, что позволит вам стать более эффективным и продуктивным в работе с НАЙС ОС.