Использование консоли Linux для завершения процессов

В этой статье мы постарались систематизировать основные команды Linux. Команды, которые вы увидите в этом списке, одинаково верно работают в разных дистрибутивах, включая Debian, Gentoo, Ubuntu, ASPLinux, ALTLinux и т. д. Главная цель статьи — создать список основных команд Linux, что упростит как изучение, так и эксплуатацию этой операционной системы.

Общие команды Linux

Здесь собраны Linux-команды, которым не нашлось место в других разделах.

# uname -a # Показывается версия ядра Linux; # lsb_release -a # На экран выводится информация о версии ОС и основанных на ней дистрибутивах; # clear # Очищается экран терминала; # cat /etc/SuSE-release # На экран выводится информация о версии ОС SuSE; # man hier # Описывается иерархия файловой системы (для чего необходима каждая директория в Linux); # wall Привет # На терминалы других пользователей отправляется сообщение «Привет»; # date # Отображается текущая дата и время; # cal -3 # Отображается в удобной форме предыдущий, текущий и следующий месяц; # uptime # Отображается текущее время и работа системы без выключения и перезагрузки; # hostname # Выводится сетевое имя компьютера; # whois # Показывается информация о домене ; # export http_proxy=:port # Меняется переменная окружения http_proxy для использования интернета посредством proxy-сервера; # wget —convert-links -r # Сайт копируется целиком, конвертируются ссылки для автономной работы. Копирование производится на глубину 5-ти уровней; # wget _ # Файл _ скачивается в текущую папку; # pppconfig # Команда нужна для создания и настройки соединения Dial-Up при выходе в интернет по модему; # pppoeconf # Команда для создания и настройки выхода в сеть через ADSL-модем; # !! # Обеспечивается выполнение последней команды; # history | tail -50 # Отображаются последние 50 набранных команд; # exit # Сеанс текущего пользователя завершается; # passwd # Пароль текущего пользователя меняется; # shutdown -h now # Для выхода из Linux; # poweroff # Для выхода из Linux; # reboot # Система перезагружается; # last reboot # Выводится статистика перезагрузок; # winecfg # Для настройки Wine — неэмулятора WinAPI; # host # Для отображения IP-адреса введённого сайта.

Как открыть командную строку в Linux

В командных оболочках, утилизируемых в Linux, есть масса способов экономии усилий (нажатий на клавиши) при выполнении более распространённых действий: автоматическое дополнение длинных названий команд или имён файлов, розыск и повторное выполнение команды, уже когда-то исполнявшейся раньше, подстановка списков имён файлов по отдельному шаблону и многое другое. Преимущества командной строки становятся особенно очевидны, когда требуется выполнять однотипные операции над множеством объектов. В системе с графическим интерфейсом требуется столько перетаскиваний мышью, сколько есть объектов, в командной строке будет довольно одной (пусть длинной и сложной) команды.

Как получить доступ к командной строке в Ubuntu? Нет ничто проще. Чтобы открыть эмулятор терминала в Ubuntu, выберите на панели пункт «Приложения->Стандартные->Терминал». Опустится эмулятор терминала — Gnome terminal. Также эмулятор терминала Gnome terminal в Ubuntu возможно запустить из окна запуска приложений. Для этого нажмите Alt+F2 и введите в открывшемся окне заглавие программы — «gnome-terminal». Чтобы получить доступ к настоящей текстовой консоли, возможно воспользоваться комбинациями клавиш Ctrl+Alt+F1… Ctrl+Alt+F6. Ctrl+Alt+F7 — переход обратно в графичный режим.

Командная строка, оболочка, консоль — эти термины используются для обозначения взаимодействия человека-оператора с операторной системой с применением стандартных устройств ввода-вывода, обеспечивающих ввод команд и получение итогов их выполнения. В операционных системах семейства Linux подобное взаимодействие обеспечивается специальным программным провиантом — оболочкой ( shell ) . Наиболее распространенной из них, является оболочка проекта GNU bash ( Bourne Again SHell ). Bash строится на оболочке Bourne ( sh ) созданной Стефеном Борном и включает в себя свойства множества иных оболочек — C ( csh ) , Korn ( ksh ), tc ( tcsh ) . Bash была написана Брайаном Фоксом (Brian Fox ) и в истиннее время поддерживается Четом Рейми ( Chet Ramey ).

Читайте также:  Linux Mint — как установить и настроить компьютер на нём

Опции командной строки

В истории развития операционной системы UNIX программы использовали разные способы задания своих опций: ♦ односимвольные, например ls -а -l (что эквивалентно ls -l -а или ls -al или ls -la); ♦ многосимвольные, например find /var  -xdev; ♦ длинные, например ps  —help; ♦ с аргументами, например kill  -n  15 1, или kill  -n15  1, или du  -В  M, или  du -BM,

или find /etc -type d, или даже ls —sort=slze;

♦ «нестандартные», например set +x,  tar  czf ~ или dd  if=/dev/dvd  of=.

Знак «минус», предваряющий опции, естественно используется для того, чтобы отличать их от аргументов. Среди прочих, он был выбран потому, что редко встречается как первый символ в аргументах команд (в качестве которых зачастую выступают имена файлов).

И еще потому, что на терминале классической UNIX набор более логичного знака «плюс» (что могло бы означать «включить»,«активировать») требовал достаточных усилий по нажатию клавиши SHIFT. В результате получилось, что, например, в команде set опция х (execution trace) в форме -х включает, а +х выключает трассировку выполнения команд.

В тех редких случаях, когда аргумент команды все же начинается с символа «минус» и тем самым похож на опцию (представим, что нужно выполнить действие над файлом с именем -=filenames=-), специальная опция — сигнализирует о конце списка опций, за которым следуют лексемы, обязанные расцениваться как аргументы, вне зависимости от их написания.

Конец списка опций

[email protected]: ~$ stat -=filename=-

stat: неверный ключ —  «=» Попробуйте «stat —help» для получения более подробного описания.

[email protected]: ~$ stat  — —  -=filename=-

Файл: «-=filename=-» Размер:  0                         Блоков: 0                     Блок B/B: 4096         пустой обычный файл Устройство: fc00h/64512d                  Inode: 26870044            Ссылки: 1 Доступ: (0600/-rw -)                      Uid: (  1000/    john)                Gid: ( 1000/     john) Доступ: 2018-08-24    01:37: +0300

Модифицирован: 2018-08-24 01:37: +0300

Изменён: 2018-08-24 01:37: +0300

Создан: —

Короткие, односимвольные опции (например -l -а) без своих аргументов издревле можно было объединять в группы (-lа или -al), однако их в этом случае сложно отличать от многосимвольных (-xdev) или односимвольных, склеенных со своими аргументами (-ВМ).

Поэтому позже появились длинные (в так называемом GNU-стиле) опции, обозначаемые двумя знаками «минус», позволяющие навести некоторый порядок в виде —block-size=M вместо -ВМ или, предположим,

—dont-descent вместо -xdev.

Командный интерфейс Linux

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

Читайте также:  Bash скрипты в операционной системе Linux

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

Естественные языки, которые используют люди для взаимодействия между собой, на порядок сложнее формального командного языка операционной системы. Однако использование глаголов (команд), существительных (аргументов) и наречий (опций) родного языка мало у кого вызывает чувство неудобства. Наоборот, странным покажется тот человеческий индивидуум, который попытается в обществе использовать непосредственное манипулирование, например, указывая (щелкая) пальцем в магазине на товары (значки) и мыча что-то нечленораздельное. Скорее всего, мы примем его за иностранца (или это будет ребенок), еще не в полной мере владеющего языком.

Именно командный интерфейс в современном виде — аудиоформе — больше не является уделом художественных фантастических произведений, где капитаны межгалактических кораблей командуют кораблям «включить защитное поле». Теперь мы все можем при помощи командного аудиоинтерфейса смартфона найти ближайшую пиццерию или маршрут к нужному месту. Надеюсь, что и алфавитно-цифровая форма командного интерфейса, доставшаяся «в наследство» от UNIX из 70-х годов прошлого века, вас тоже не особо испугает. Ok, Google?

Команда pkill

Команда pkill позволяет вам убить процесс — или процессы — по имени. Вам не нужно идентифицировать процесс по PID. Для использования pkill вы предоставляете поисковый pkill который pkill использует для проверки по списку запущенных процессов. Соответствующие процессы прекращаются. Таким образом, вы должны быть уверены, что вы правильно написали этот поисковый запрос.

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

Предположим, что есть процесс с «subq» в его имени. Мы будем использовать команду ps -u dave | grep чтобы заглянуть за занавес. Вы можете видеть, что «subq» будет соответствовать этому процессу и только этому процессу. Это было просто, чтобы вы могли увидеть полное название процесса.

ps -u dave | grep subq

Давайте предположим, что наш пользователь этого не сделал; все, что они знают, — это имя процесса, содержащее подстроку «subq». Они используют pgrep чтобы проверить, что существует только одно совпадение с поисковым термином. Затем они используют этот поисковый термин вместе с pkill.

Команда pkill

pgrep subq pkill subq

Вы можете использовать pkill чтобы убить несколько процессов одновременно. Здесь пользователь запускает pgrep чтобы проверить, сколько процессов запущено Chrome. Они используют pkill чтобы убить их всех. Затем они проверяют с помощью pgrep что все они были удалены.

pgrep chrome pkill chrome pgrep chrome

Если запущено несколько процессов с одним и тем же именем, но вы не хотите уничтожать их все, вы можете использовать pgrep с параметром -f (командная строка), чтобы определить, какой процесс какой. Простым примером будут два процесса ping . Вы хотите убить одного из них, но не другого. Вы можете использовать их командные строки, чтобы различать их. Обратите внимание на использование кавычек для переноса параметра командной строки.

pgrep -f «ping » pkill -f «ping «

Читайте также:  GIT команды: Быстрый старт для новичков

Сетевые команды и работа с удаленными компьютерами

ping — проверка связи с определенным адресом в сети. ping — проверка доступности сайта , также можно использовать IP-адрес: ping . Если ответа нет, то это не означает на 100%, что нет связи, иногда работу этой команды блокируют в сети.

traceroute — показывает маршрут прохождения трафика. Например: traceroute . Позволяет определить, на каком участке сети возникают проблемы.

telnet — подключение к удаленному компьютеру. Дает возможность выполнять команды на другом компьютере. В основном используется во внутренней сети, поскольку трафик не шифруется. Пример: telnet .

ssh — подключение к удаленному компьютеру по шифрованному каналу. ssh [email protected] — подключение к серверу пользователя alex. Для подключения через нестандартный порт используется ключ -p, например

ssh -p 12345 [email protected] — подключение к серверу пользователя root через порт 12345.

ftp — подключение к удаленному компьютеру по протоколу передачи файлов. ftp — подключение к серверу

sftp — команда аналогична ftp, но соединение происходит по шифрованному протоколу.

route -n — показывает таблицу маршрутизации.

ifconfig — информация о сетевых соединениях и их настройка.

hostname — отображает или изменяет сетевое имя компьютера.

whois сайт или IP-адрес — выводит информацию о домене, владельце доменного имени или IP-адреса, например whois или whois 8.8.8.8.

dig — выводит информацию о DNS, например dig . Можно обратиться к любому DNS-серверу, указав его следующим образом: dig @8.8.8.8 . Для получения информации с DNS-сервера можно также воспользоваться программами host и nslookup, указав после них доменное имя или IP-адрес, но эти утилиты имеют урезанную функциональность, по сравнению с dig.

wget — программа для загрузки файлов, страниц, сайтов из интернета. wget — загрузить главную страницу wget -r -l 10 -k — загрузит сайт полностью.

lynx, links, links2 (3 отдельные команды) — текстовые браузеры, позволяют просматривать сайты прямо из консоли.

Заключение

Сегодняшнее обсуждение вращалось вокруг различных методов, с помощью которых вы можете проверить запущенные процессы в Linux Mint 20. Эти методы могут использоваться в зависимости от того, какой вывод вы хотите получить. Первый метод просто перечисляет все запущенные процессы сразу, тогда как второй метод представляет их в красивой древовидной структуре, которую легче читать и обрабатывать. Третий метод следует табличной структуре для отображения запущенных процессов вместе с некоторой дополнительной информацией о них, тогда как четвертый более или менее отображает ту же информацию, но с относительно более приятным интерфейсом. Я надеюсь, что после ознакомления с этим руководством вы сможете легко проверить все запущенные процессы в операционной системе Linux Mint 20.

mkdir

Команда mkdir позволяет создавать новые каталоги в файловой системе. Необходимо указать имя нового каталога в mkdir. Если новый каталог не будет находиться в текущей директории, следует указать путь к нему.

Чтобы создать два новых каталога в текущем каталоге, например, под названием “invoices” и “quotes,”, используйте эти две команды:

mkdir invoices mkdir quotes

Еще один пример по созданию каталога. Назовем его “2019” и разместим в каталоге “invoices”. Для этого используем команду:

mkdir invoices/2109

Если вы хотите создать каталог, у которого не существует родительского, используйте параметр-p (parents). Mkdir создаст все необходимые родительские каталоги. В следующей команде мы создаем каталог «2019” внутри “yearly”, который в свою очередь находится в “quotes”. Каталога “yearly» не существует, но мы можем заставить mkdir создать все указанные каталоги сразу:

mkdir -p quotes/yearly/2019

yearly создался в том числе.