105 команд для работы с сервером Linux по SSH

Для вывода текста на экран консоли в Windows используется команда ECHO. Ещё одно её предназначение — переключение режима отображения команд на экране.

Утилита grep ищет строки, содержащие шаблон поиска. Когда мы изучали команду alias, мы использовали grep для поиска выходных данных другой программы. Команда grep также может искать содержимое файлов. Для примера, найдем слово «train» во всех текстовых файлах текущей директории.

grep train *.txt

В выходных данных отображается имя файла и совпадающие строки. Соответствующий текст выделен.

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

Пример BASH Скрипта с Оператором CASE

#!/bin/bash printf ‘Какой Linux дистрибутив Вы знаете? ‘ read DISTR case $DISTR in ubuntu) echo «Я тоже знаю Ubuntu! Эта система основана на Debian.» ;; centos|rhel) echo «Эй! Это мой любимый серверный дистрибутив!» ;; windows) echo «Очень смешно…» ;; *) echo «Хмм, кажется я никогда не использовал этот дистрибутив.» ;; esac

Примеры работы скрипта:

$ ./ Какой Linux дистрибутив Вы знаете? centos Эй! Это моя любимая серверная операционная система! $ ./ Какой Linux дистрибутив Вы знаете? rhel Эй! Это моя любимая серверная операционная система! $ ./ Какой Linux дистрибутив Вы знаете? ubuntu Я тоже знаю ubuntu! Это операционная система, основанная на Debian. $ ./ Какой Linux дистрибутив Вы знаете? pfff Хмм, кажется я никогда не использовал этот дистрибутив.

Условные операторы

Двойные квадратные скобки [[ … ]] bash интерпретирует как один элемент с кодом возврата. Внутри разрешается использование операторов && и ||.

## Однострочная запись [[ -f /dir/file ]] || { echo «File not exists»; exit 1; } ## Вложенные условия if [ … ] && [ … ]; then … elif [[ … && … ]]; then … else … fi;

Пример проверки что переменная не пустая:

if [[ $some_var != » ]]; then echo ‘Переменная не пустая’ fi

Комбинированные условия с отрицанием:

if [ -f /path/ ] && [ ! -z «$status» ]; then echo «Файл и переменная существуют» else echo «Нет файла или переменной» fi

Оператор case:

case «$extension» in (html|htm) echo «Это HTML файл» ;; pdf) echo «Это PDF файл» ;; *) echo «Не известный тип файла: $extension» ;; esac

Условия сравнения

Смотрите доп. условия проверки файлов —

### Файлы ### -e Проверить что файл существует (-f, -d) -f Файл существует (!-f — не существует) -d Каталог существует -s Файл существует и не пустой -r Файл существует и доступен на чтение -w … на запись -x … на выполнение -h Символическая ссылка -b Файл существует и является блочным устройством -с Файл существует и является символьным устройством (character device) -p Файл существует и является потоковым устройством (pipe device) -S Файл существует и является сокетом ### Строки ### -z Пустая строка -n Не пустая строка == Равно (!= не равно) ### Числа ### -eq Равно -ne Не равно -lt Меньше -le Меньше или равно -gt Больше -ge Больше или равно

Читайте также:  Как читать и определять переменные окружения и оболочки на Linux

Установка дефолтного значения переменной

Не работает для массивов!

Установка значения по умолчанию для аргумента:

SOME_VAR=${1:-‘default’} # Если первый аргумент ($1) пустой — присвоить строку SOME_VAR=${2:-$default} # Если аргумент $2 пустой — установить значение $default : ${my_var:=$default} # Если $my_var пустая — присвоить ей значение из $default

Установка дефолтного значения для существующей переменной:

TEST=’YES’ : ${TEST:=’some string’} echo $TEST # YES

Команда echo в Linux

Команда echo — это очень простая и в то же время часто используемая встроенная команда оболочки Bash. Она имеет только одно назначение — выводить строку текста в терминал, но применяется очень часто в различных скриптах, программах, и даже для редактирования конфигурационных файлов.

В этой статье мы рассмотрим что представляет из себя команда echo linux, как ее можно использовать и в каких ситуациях. Но сначала рассмотрим синтаксис самой команды.

  • Команда echo linux
  • Примеры работы echo
  • Выводы

Команда echo linux

Команда echo — это не системная утилита, у нее нет исполняемого файла. Она существует только внутри интерпретатора Bash. Синтаксис команды echo linux очень прост:

$ echo опции строка

Опций всего несколько, давайте рассмотрим их, чтобы вы могли лучше ориентироваться в работе утилиты:

  • -n — не выводить перевод строки;
  • -e — включить поддержку вывода Escape последовательностей;
  • -E — отключить интерпретацию Escape последовательностей.

Это все опции, если включена опция -e, то вы можете использовать такие Escape последовательности для вставки специальных символов:

  • /c — удалить перевод строки;
  • /t — горизонтальная табуляция;
  • /v — вертикальная табуляция;
  • /b — удалить предыдущий символ;
  • /n — перевод строки;
  • /r — символ возврата каретки в начало строки.

Пожалуй, это все, что нужно знать о команде echo, а теперь давайте рассмотрим как с ней работать.

Примеры работы echo

Давайте рассмотрим как пользоваться echo. Сначала просто выведем строку на экран:

echo Linux Open Source Software Technologies

Также можно вывести значение переменной. Сначала объявим переменную:

export VAR=losst

Затем выведем ее значение:

echo Наш сайт $VAR

Как уже говорилось, с помощью опции -e можно включить интерпретацию специальных последовательностей. Последовательность \b позволяет удалить предыдущий символ. Например, удалим все пробелы из строки:

echo -e «Linux \bopen \bsource \bsoftware \btechnologies»

Последовательность переводит курсор на новую строку:

echo -e «Linux open source software echnologies»

С помощью \t вы можете добавить горизонтальные табуляции:

echo -e «Linux \topen \tsource \tsoftware \ttechnologies»

Можно совместить переводы строки и табуляции:

Команда echo в Linux

echo -e «Linux \tnopen \tnsource \tnsoftware \tntechnologies»

Точно так же можно применить вертикальную табуляцию:

Читайте также:  Ввод значений пользователем в Bash с помощью команды read

echo -e «Linux \vopen \vsource \vsoftware \vtechnologies»

С помощью последовательности \r можно удалить все символы до начала строки:

echo -e «Linux \ropen source software technologies»

Последовательность -c позволяет убрать перевод на новую строку в конце сообщения:

echo -e «Linux open source software technologies\c»

Дальше — больше. Вы можете разукрасить вывод echo с помощью последовательностей управления цветом Bash. Для доступны такие цвета текста:

  • \033[30m — чёрный;
  • \033[31m — красный;
  • \033[32m — зелёный;
  • \033[33m — желтый;
  • \033[34m — синий;
  • \033[35m — фиолетовый;
  • \033[36m — голубой;
  • \033[37m — серый.

И такие цвета фона:

  • \033[40m — чёрный;
  • \033[41m — красный;
  • \033[42m — зелёный;
  • \033[43m — желтый;
  • \033[44m — синий;
  • \033[45m — фиолетовый;
  • \033[46m — голубой;
  • \033[47m — серый;
  • \033[0m — сбросить все до значений по умолчанию.

Например. раскрасим нашу надпись в разные цвета:

echo -e «\033[35mLinux \033[34mopen \033[32msource \033[33msoftware \033[31mtechnologies\033[0m»

С основными параметрами команды echo разобрались, теперь рассмотрим еще некоторые специальные символы bash. Вы можете вывести содержимое текущей папки просто подставив символ *:

echo *

Также можно вывести файлы определенного расширения:

echo *.mkv

Я уже говорил, что echo можно использовать для редактирования конфигурационных файлов. Вы можете использовать запись echo в файл linux, если он пуст:

echo 1 > /proc/sys/net/ipv4/ip_forward

Если файл не пуст, и вам необходимо добавить свою строчку  в конец файла используйте символ перенаправления вывода >>:

echo «UUID=09ec0871-2f55-4dd5-aeb2-cacc4a67907c /var/tmp btrfs [email protected]/var/tmp 0 0» >> /etc/fstab

Если строка содержит какие-либо специальные символы или может быть понята интерпретатором неоднозначно, следует заключить ее в кавычки.

Выводы

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

Просмотр содержимого файла

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

# grep: фильтрация по строкам grep 455 # вывести строку, где есть 455 # cut: отображение столбцов cut -f 3 # вывести только третий столбец cut -f 2-3 # вывести 2-ой и 3-ий столбец cut -c 9-19 # вывести от 9-ти до 19-ти символов каждой строки cut -f 1 -d ‘;’ # в файле использовать ‘;’ в качестве разделителя вместо tab # awk: то же, что и cut, но имеет ещё больше разделителей, фильтров и он более сложный в вычислении awk ‘{print $3}’ # вывести 3-ий столбец awk ‘{print $2 «, » $3}’ # вывести 2-ой и 3-ий столбец, и разделить запятой awk ‘{print $2 + $3}’ # вывести сумму 2-го и 3-го столбца awk ‘length($0) > 20’ # вывести все строки длиннее 20 символов awk ‘$2 > 100′ # вывести строки, в которых значение второго столбца больше 100 # wc wc # вывести количество строк, слов и символов в текстовом файле ls -1 | wc # вывести количество строк, слов и символов каждого файла в текущем каталоге # sort: сортировка строк по алфавиту sort # сортировка строк файла sort -r # сортировка в обратном порядке sort -R # сортировка в случайном порядке sort -t $’\t’ -k 3n,3 # сортировать строки по числовому значению третьего столбца # uniq: отображает неповторяющиеся и повторяющиеся строки файла uniq # опускает повторяющиеся строки uniq -d # выводит только повторяющиеся строки uniq -u # выводит только те строки, у которых нет повторов uniq -c # выводит количество повторов для каждой строки

Читайте также:  Как сделать FTP сервер — FileZilla Server

Надеюсь вам понравится эта шпаргалка!

  • Как писать Bash-однострочники для клонирования и управления GitHub/GitLab репозиториями
  • Автоматизированное семантическое управление версиями с помощью GitVersion
  • Основы Git за 5 минут

Читайте нас в Telegram, VK и

Перевод статьи Guillermo Barreiro: The Essential Bash Cheat Sheet

Установка, обновление и удаление пакетов

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

apt (в Debian, Ubuntu и им подобных)

sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.

sudo apt remove название пакета — удаляет из системы установленный пакет.

sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».

sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.

sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

dnf (в Red Hat Linux, CentOS, Fedora)

sudo dnf install название пакета — устанавливает программу на выбор.

sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.

sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.

pacman (в Arch Linux и Manjaro)

sudo pacman -S название пакета — устанавливает пакет на выбор.

sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.

sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.