Командная​ ​строка​ ​Ubuntu: ​команды​ ​bash

Простые команды, которые помогут автоматизировать некоторые рутинные операции, возникающие при администрирование сервера, ускорить и облегчить работу администратора.

Фокусировка

Работая в CLI, вы видите только символы цифр и букв. Сначала черно-белый интерфейс, где любое действие активируется командой, откровенно пугает, но как только вы их заучите и освоите, поймете, что в командной строке вы всегда получаете только то, что вам требуется. Любая информация находится в нескольких клавишах, вы сосредотачиваетесь на цели. 2. Информация

Фокусировка

Текста и параметров в командной строке при определенных действиях много, никакой графический интерфейс не сможет предоставить пользователю доступ ко всем функциям и параметрам, которые в CLI можно сделать. Грубо говоря, когда в GUI-интерфейсы Windows или любой другой системы вы хотите изменить какой-то параметр, его выполнение происходит в фоновом режиме именно в командной строке. Разумеется, CLI всегда будет иметь более обширный набор функций, изменяемых параметров.

Как запускать команды Linux в фоновом режиме

Павел Соловьёв Full Stack Developer 02 ноября, 2019 93

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

Что если выполнение команды займет много времени, а вы хотите выполнить другие команды в это время? В вашем распоряжении несколько вариантов. Самая очевидная и простая опция — запустить новый сеанс командной строки и запустить в нем команду. Другой вариант — запуск команды в фоновом режиме.

Фоновый процесс — это процесс/команда, запускаемая с терминала и выполняемая в фоновом режиме, без взаимодействия с пользователем.

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

Запускаем команду Linux в фоновом режиме

Чтобы выполнить команду в фоновом режиме, добавьте символ амперсанда (&) в конец команды:

command &

ID задания (окруженное скобками) и ID процесса напечатаются в терминале:

[1] 30431

В фоновом режиме можно запускать несколько процессов одновременно. В данном случае фоновый процесс будет продолжать писать сообщения в терминал, с которого вы вызвали команду. Для подавления сообщений stdout и stderr используйте следующий синтаксис:

Читайте также:  Android против iOS: какая мобильная операционная система лучше?

command > /dev/null 2>&1 &

/dev/null 2>&1 означает перенаправление stdout на /dev/null и stderr на stdout.

Используйте утилиту jobs для отображения статуса всех остановленных и фоновых заданий в текущем сеансе командной строки:

jobs -l

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

[1]+ 31102 Running ping > /dev/null 2>&1 &

Чтобы вывести фоновый процесс на передний план, используйте команду fg:

fg

Если у вас несколько фоновых заданий, укажите % и ID задания после команды:

fg %1

Чтобы завершить фоновый процесс, используйте команду kill, за которой следует ID процесса:

kill -9 31447

[1]+ Killed ping > /dev/null 2>&1 Перенос процесса с переднего плана в фоновый режим

Перемещение выполняющегося процесса с переднего плана в фоновый режим:

  • Остановите процесс, нажав Ctrl+Z.
  • Переместите остановленный процесс в фоновый режим, набрав bg.

Поддерживание фоновых процессов в рабочем состоянии после выхода оболочки

Если ваше соединение прервется или вы выйдете из сессии командной строки, фоновые процессы будут прерваны. Существует несколько способов сохранить процесс после завершения сеанса интерактивной оболочки. Один из способов — удалить задание из системы управления заданиями оболочки с помощью команды disown:

disown

Если у вас несколько фоновых заданий, укажите % и ID задания после команды:

disown %1

Убедитесь, что задание удалено из таблицы активных заданий с помощью команды jobs -l. Чтобы перечислить все запущенные процессы, включая процессы, от которых отказались, воспользуйтесь командой ps aux. Другой способ сохранить процесс запущенным после выхода из оболочки — использовать nohup.

Команда nohup выполняет другую команду, указанную в качестве аргумента, и игнорирует все сигналы SIGHUP (зависание). SIGHUP — это сигнал, посылаемый на процесс, когда его управляющая оболочка закрыта. Чтобы выполнить команду в фоновом режиме с помощью команды nohup, введите ее:

nohup command &

Вывод команды перенаправляется в файл

nohup: ignoring input and appending output to »

Если вы выйдете из системы или закроете терминал, процесс не будет завершен.

linux process

Об авторе Павел Соловьёв Комментарии Пока что нет комментариев, вы можете быть первым. Войти или Регистрация , чтобы оставлять комментарии.

Команды консоли Ubuntu

В Ubuntu команды используются для выполнения разных задач. Посмотреть список всех команд и дополнительную информацию вы можете в документации Ubuntu.

Читайте также:  71 команда Linux на все случаи жизни. Ну почти

Мы рассмотрим основные команды терминала Ubuntu, с которыми сталкивается каждый пользователь:

Команда ls

Отображает список всех файлов и папок в той директории, в которой вы находитесь.

Команда cd

Переходит в другую указанную директорию или папку.

Команда cp

Копирует файлы и папки в любое место файловой системы.

Команда mv

Перемещает файлы и папки в любое место файловой системы.

Команда rm

Удаляет файлы и папки.

Команда mkdir

Создаёт новую пустую директорию.

Команда cat

Отображает содержимое файла в консоли.

Команда nano и команда vim

Открывают текстовые редакторы nano и vim, в которых можно редактировать файл прямо в консоли.

Отображение содержимого каталога с помощью команды ls

Команда ls – одна из самых мощных команд, предоставляемых пользователям Linux. Чтобы получить максимальную отдачу от команд в терминале, вы можете попробовать научиться объединять команды вместе. Вы даже можете передать команду mv по конвейеру для перемещения файлов с помощью ls.

Совет номер один, чтобы освоиться с Linux, – это запомнить некоторые основные команды. Это, несомненно, поможет вам стать более эффективным и быстрым при использовании вашей системы.

Связанный

Основные команды для работы в командной строке Linux

Команды для службы с файлами и каталогами:

  • pwd – отобразить путь текущего каталога
  • cd – перейти в указанный каталог
  • ls – показать список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
  • cp – копирование файлов/папок
  • mv – смещение файлов/папок
  • mkdir – создать папку
  • rm – удалить файлы/папки, с ключом -r устраняет и все вложенные папки, с ключом -f — удаляет открытые файлы или каталоги
  • rmdir – удаление порожний папки
  • chmod – изменить права доступа к файлу
  • chown — сменить владельца файла или каталога
  • find — отыскать файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* — разыскивать от корневого каталога файлы, содержащие в имени символы .X
  • which — отобразить полный путь выполняемого файла, доступного в данной оболочке, например which ifconfig
  • touch — изменить преходящие отметки файла. Удобно использовать для создания пустых файлов – touch myfile основывает пустой файл myfile .

Системные команды

Эти команды обычно используется от имени суперпользователя ( с бригадой sudo ).

Управление действиями

  • ps – отобразить список текущих активных процессов
  • lsof — отобразить список открытых файлов процесса или юзера
  • strace — отобразить список системных вызовов
  • last — отобразить историю перезагрузок и регистраций юзеров в системе
  • kill – послать сигнал процессу, обычно используется для принудительного завершения службы процесса.
  • killall – завершение работы всех процессов, имена которых заданы метеопараметром командной строки
  • top – отображение списка текущих процессов и интерактивное управление ими.
Читайте также:  Включаем темную тему в Инстаграм, инструкция для Айфон, Андроид и ПК

Сетевые бригады

  • ifconfig – конфигурация сетевых интерфейсов
  • route — таблица маршрутизации
  • ifup / ifdown — подсоединить /выключить сетевой интерфейс
  • ip — просмотр или изменение параметров конфигурации протокола IP
  • netstat — показать состояние сетевых соединений
  • arp, ping, nslookup, traceroute — наиболее часто используемые бригады сетевой диагностики.

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

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

# 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 # выводит количество повторов для каждой строки

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

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

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

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