Команды терминала Linux для DevOps

Всем привет.

Эта статья является продолжением статьи про основные команды терминала Linux.

Сегодня я постараюсь рассказать вам про команды терминала, которые чаще всего используют DevOps`ы в своей работе. Что-то будет повторяться, что-то нет. Но здесь каждая команда будет с дополнительным описанием. Начнём.

chown

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

Синтаксис:

chown [OPTION]… [OWNER][:[GROUP]] FILE…

chown [OPTION]… -reference=RFILE FILE…

chmod

Эта команда используется для изменения прав доступа к файлам и каталогам.

Синтаксис:

chmod <permissions of user, group, others> {filename}

4 – разрешение на чтение

2 – разрешение на запись

1 – разрешение на выполнение

0 – нет разрешения

lsof

При работе в системе Linux/Unix может использоваться несколько файлов и папок, некоторые из них будут видны, а некоторые нет. Команда lsof выводит список открытых файлов. По сути, она дает информацию, чтобы узнать, какие файлы открываются каким процессом. За один раз она перечисляет все открытые файлы в выводе в консоль.

Синтаксис:

lsof [option][user name]

ifconfig

Команда ifconfig (конфигурация интерфейса) используется для настройки сетевых интерфейсов. Кроме того, эта команда используется для назначения IP-адреса и сетевой маски интерфейсу или для включения или отключения данного интерфейса.

Синтаксис:

ifconfig […OPTIONS] [INTERFACE]

id

Команда id в Linux используется для определения имен пользователей и групп, а также числовых идентификаторов (UID или идентификатор группы) текущего пользователя или любого другого пользователя на сервере. Эта команда полезна для получения следующей информации, как указано ниже:

  • Имя пользователя и реальный идентификатор пользователя.
  • Узнать конкретный UID пользователя.
  • Показать UID и все группы, связанные с пользователем.
  • Перечислить все группы, к которым принадлежит пользователь.
  • Показать контекст безопасности текущего пользователя.

Синтаксис:

id [OPTION]… [USER]

cut

Команда cut используется для извлечения части файла с использованием столбцов и разделителей. Если вы хотите перечислить все в выбранном столбце, используйте флаг «-c» с командой cut. Например, давайте выберем первые два столбца из нашего файла demo1.txt.

cut -c1-2 demo1.txt

sed

sed — это текстовый редактор, который может выполнять операции редактирования неинтерактивным способом. Команда sed получает данные из стандартного ввода или файла для выполнения операции редактирования файла. Sed — очень мощная утилита, и вы можете выполнять множество манипуляций с файлами с помощью sed. Я объясню важную операцию, которую вы, возможно, захотите проделать с текстовым файлом.

Если вы хотите заменить текст в файле, выполнив его поиск в файле, вы можете использовать команду sed с заменой флага «s», чтобы найти определенный шаблон и изменить его.

Например, давайте заменим «mikesh» в файле test.txt на «Mukesh»

sed ‘s/mikesh/mukesh/’ test.txt

diff

Команда diff используется для поиска различий между двумя файлами. Эта команда анализирует файлы и выводит строки, которыми эти файлы отличаются. Допустим, у нас есть два файла test и test1. Вы можете найти разницу между двумя файлами, используя следующую команду.

Синтаксис:

diff test.txt test1.txt

history

Команда history используется для просмотра ранее выполненной команды. Эта функция не была доступна в оболочке Bourne. Bash и Korn поддерживают эту функцию, в которой каждая выполненная команда рассматривается как событие и связана с номером события, с помощью которого их можно вызвать и изменить при необходимости. Эти команды сохраняются в файле истории.

Синтаксис:

history

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

history 10

dd

dd — это утилита командной строки для Unix и Unix-подобных операционных систем, основной целью которой является преобразование и копирование файлов.

find

Команда find в UNIX — это утилита командной строки для обхода файловой иерархии. Её можно использовать для поиска файлов и каталогов, а также выполнения над ними последующих операций. Она поддерживает поиск по файлу, папке, имени, дате создания, дате изменения, владельцу и разрешениям. С помощью «-exec» другие команды UNIX могут быть выполнены для найденных файлов или папок.

Синтаксис:

find [where to start searching from]

[expression determines what to find] [-options] [what to find]

free

В LINUX существует утилита командной строки, и это команда free, которая отображает общий объем доступного свободного места, а также объем используемой памяти и файла подкачки в системе, а также буферы, используемые ядром.
Синтаксис:

free [OPTION]

ssh-keygen

Используйте команду ssh-keygen для создания пары открытых и закрытых ключей аутентификации. Ключи аутентификации позволяют пользователю подключаться к удаленной системе без ввода пароля. Ключи должны генерироваться для каждого пользователя отдельно. Если вы создаете пары ключей как пользователь root, только root может использовать эти ключи.

В следующем примере создаются общедоступная и закрытая части ключа RSA:

ssh-keygen -t rsa

Используйте параметр –t, чтобы указать тип создаваемого ключа. Возможные значения: «rsa1» для версии протокола 1 и «dsa», «ecdsa» или «rsa» для версии протокола 2.

У вас есть возможность указать парольную фразу для шифрования закрытой части ключа. Если вы шифруете свой личный ключ, вы должны вводить парольную фразу каждый раз, когда используете ключ. Это не позволяет злоумышленнику, который имеет доступ к вашему секретному ключу и может выдать себя за вас и получить доступ ко всем компьютерам, к которым у вас есть доступ, сделать это. Злоумышленнику по-прежнему необходимо указать парольную фразу.

ip

Команда ip в Linux присутствует в сетевых инструментах, которые используются для выполнения нескольких задач сетевого администрирования. Эта команда используется для отображения или управления маршрутизацией, устройствами и туннелями. Эта команда используется для выполнения нескольких задач, таких как назначение адреса сетевому интерфейсу или настройка параметров сетевого интерфейса. Также можно выполнять и ряд других задач, таких как настройка и изменение стандартной и статической маршрутизации, настройка туннеля через IP, перечисление IP-адресов и информации о свойствах, изменение состояния интерфейса, назначение, удаление и настройка IP-адресов и маршрутов.

Синтаксис:

ip [ OPTIONS ] OBJECT { COMMAND | help }

nslookup

nslookup (расшифровывается как «Поиск сервера имен») — полезная команда для получения информации с DNS-сервера. Это инструмент сетевого администрирования для запроса системы доменных имен (DNS) для получения сопоставления доменного имени или IP-адреса или любой другой конкретной записи DNS. Она также используется для устранения неполадок, связанных с DNS.

Синтаксис:

nslookup [option]

curl

curl — это инструмент командной строки для передачи данных на сервер или с сервера с использованием любого из поддерживаемых протоколов (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP или FILE). Эта команда работает на Libcurl. Этот инструмент предпочтительнее для автоматизации, поскольку он предназначен для работы без взаимодействия с пользователем. Он может передавать несколько файлов одновременно.

Синтаксис:

curl [options] [URL…]

tr

Команда tr в UNIX — это утилита командной строки для перевода или удаления символов. Она поддерживает ряд преобразований, включая прописные буквы в строчные, сжатие повторяющихся символов, удаление определенных символов и базовый поиск, а также замену.

Синтаксис:

tr [flag] SET1 [SET2]

iptables

iptables — это интерфейс командной строки, используемый для настройки и обслуживания таблиц брандмауэра Netfilter для IPv4, включенного в ядро Linux. Брандмауэр сопоставляет пакеты с правилами, определенными в этих таблицах, а затем выполняет указанное действие при возможном совпадении.

  • Table — это название набора цепочек.
  • Chain — это набор правил.
  • Rule — это условие, используемое для сопоставления пакетов.
  • Target — это действие, предпринимаемое при совпадении возможного правила. Примерами цели являются ACCEPT, DROP, QUEUE.
  • Policy — это действие по умолчанию, предпринимаемое в случае несовпадения со встроенными цепочками и может принимать значения ACCEPT или DROP.

Синтаксис:

iptables —table TABLE -A/-C/-D… CHAIN rule —jump Target

apt-get

apt-get — это инструмент командной строки, который помогает обрабатывать пакеты в Linux. Его основная задача — извлекать информацию и пакеты из аутентифицированных источников для установки, обновления и удаления пакетов вместе с их зависимостями.

Синтаксис:

apt-get [options] command

df, du

Команда df (disk free) сообщает об объеме доступного дискового пространства, используемого файловыми системами. Команда du (disk usage) сообщает размеры деревьев каталогов, включая все их содержимое и размеры отдельных файлов.

Вывод в удобочитаемом формате:

sudo df -h

Но в большинстве случаев вам нужно проверить, какая часть вашей системы занимает много места на диске. Используйте следующую команду:

sudo du -h -d 1 /var/

htop

Команда htop в системе Linux — это утилита командной строки, которая позволяет пользователю интерактивно отслеживать жизненно важные ресурсы системы или процессы сервера в режиме реального времени.

Синтаксис:

htop <flag>

  • ddelay: используется для отображения задержки между обновлениями в десятых долях секунды.
  • -C —no-color —no-colour: запустить htop в монохромном режиме.
  • hhelp: используется для отображения справочного сообщения и выхода.
  • uuser=ИМЯ ПОЛЬЗОВАТЕЛЯ: используется для отображения только процессов данного пользователя.

ps

Каждый процесс в Linux имеет уникальный идентификатор, и его можно увидеть с помощью команды ps.

sudo ps aux

  • a = показать процессы для всех пользователей
  • u = отображать пользователя/владельца процесса
  • x = также показывать процессы, не подключенные к терминалу

kill

Команда kill в Linux (находится в /bin/kill) — это встроенная команда, которая используется для завершения процессов вручную. Эта команда отправляет сигнал процессу, который завершает процесс. Если пользователь не указывает какой-либо сигнал, который должен быть отправлен вместе с командой kill, то отправляется сигнал TERM по умолчанию, который завершает процесс.

Синтаксис:

kill pid

telnet

Telnet помогает:

  • подключиться к удаленному компьютеру Linux
  • запускать программы удаленно и осуществлять администрирование

Синтаксис:

telnet hostname

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/it_transformation