15 Примеров использования в linux команды top

1. Показать процессы, отсортированные по любому столбцу выходных данных команды top — нажимаем O

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

Это номер рядом с владельцем процесса, который является ID процесса.

Мы будем использовать это, чтобы определить, какой процесс отменить. Для этого мы используем программу, которая соответственно называется kill .

Иногда запустив kill, процесс будет остановлен и завершен. Когда вы делаете это, kill отправляет процессу сигнал, который просит процесс завершиться. Мы всегда пробуем эту опцию в первую очередь, это лучший вариант. К сожалению, временами это не работает.

Не беспокойтесь, мы снова можем закрыть, но на этот раз подаем сигнал 9.

Блокировка рабочего стола

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

Большую часть времени мы видим только консоль которая является графическим интерфейсом, но мы можем легко добраться до остальных. Если GUI заблокирован, можно добраться до другой консоли и оттуда отменить процесс, вызывающий нарушение. Для переключения между консолями вы используете последовательность клавиш CTRL + ALT + F <Console>.

Таким образом, CTRL + ALT F2 приведет вас к консоли, где вы можете запускать команды, как указано выше, чтобы идентифицировать процессы и отменить их.

Затем CTRL + ALT F7 вернет вас в графический интерфейс, чтобы увидеть, было ли это исправлено. Общий подход заключается в том, чтобы сохранить процессы отмены, пока не будет устранена блокировка.

Синтаксис

Рассмотрим синтаксис утилиты.

cp [параметр] [что копировать]  [куда купировать]

Как только команда будет активирована, отправляемый файл перенесется в место для приема, при указании на конце файла значка «/» он также будет перенесен, но с новым именем.

Основные параметры:

  • —attributes-only – переместить не сам файл, а только данные пользователя и флаги доступа;
  • -f —force – вместо старых данных записать новые;
  • -i —interactive – спросить о необходимости переписывать старую информацию;
  • -L – создать копию не ссылок-символов, а того, что находится по этим ссылкам;
  • -n – оставить старые файлы на их месте;
  • -P – игнорировать ссылки-символы;
  • -r – скопировать данные Linux используя рекурсию;
  • -s – ничего не копировать, просто создать ссылки-символы;
  • -u – копировать файл, но при условии, что он уже был изменен;
  • -x – проводить все действия только внутри одной системы файлов;
  • -p – во время копирования сохранить все информацию о файле;
  • -t – команда дает возможность считать файл для приема директорией, и отправлять в него нужный объект;

Чтение из STDIN

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

Читайте также:  10 сервисов на замену «Вконтакте»: музыка, сериалы и общение

Баш вмещает трубопроводы и перенаправление посредством специальных файлов. Каждый процесс получает собственный набор файлов (один для STDIN, STDOUT и STDERR соответственно), и они связаны при вызове или перенаправлении. Каждый процесс получает следующие файлы:

  • STDIN — /proc/<processID>/fd/0
  • STDOUT — /proc/<processID>/fd/1
  • STDERR — /proc/<processID>/fd/2

Чтобы сделать жизнь более удобной, система создает для нас несколько ярлыков:

  • STDIN — /dev/stdin or /proc/self/fd/0
  • STDOUT — /dev/stdout or /proc/self/fd/1
  • STDERR — /dev/stderr or /proc/self/fd/2

fd в дорожках выше обозначает дескриптор файла.

Чтение из STDIN

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

summary

Shell #!/bin/bash # Основное резюме моего отчета о продажах echo Here is a summary of the sales data: echo ==================================== echo cat /dev/stdin | cut -d’ ‘ -f 2,3 | sort

12345678 #!/bin/bash# Основное резюме моего отчета о продажах echo Here is a summary of the sales data:echo ====================================echo cat /dev/stdin | cut d‘ ‘ f 2,3 | sort

Давайте разберем это:

  • Строки 4, 5, 6 — Распечатайте заголовок для вывода
  • Строка 8 — cat файл, представляющий STDIN, вырезает установку разделителя на пробел, поля 2 и 3 затем сортируют вывод.

Просмотр файлов с помощью cat в Linux

Для просмотра файла просто наберите:#cat

[[email protected] ~]# cat new_file это новый файл

1234 [hc@host~]# cat new_fileэтоновыйфайл

Можно вывести с номерами строк:

[[email protected] ~]# cat -n new_file 1 это 2 новый 3 файл

1234 [hc@host~]# cat -n new_file 1 это 2 новый 3 файл

Можно просмотреть содержимое нескольких файлов.

[[email protected] ~]# cat -n new_file old_file 1 это 2 новый 3 файл 4 Это старый файл

12345 [hc@host~]# cat -n new_file old_file 1 это 2 новый 3 файл 4 Этостарыйфайл

Обратите внимание, что содержимое выводится единым массивом данных, что хорошо видно по тому, что содержание второго файла вывелось строкой под номером 4 – нумерация не началась заново при выводе этого файла. Т.е. cat, как это и заложено в ее названии, склеила файлы.

Команды Linux, дающие информацию о системе

whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (, etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, #количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep :searchd #процессы с пояснением параметров сверху netstat -lnp | grep :9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора

Читайте также:  5 способов установки программ в Ubuntu. Пошаговые инструкции

Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено

PID to kill:

нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.

Основные команды для работы в командной строке 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 — наиболее часто используемые бригады сетевой диагностики.

Компиляция и запуск программ C, C++

Сначала посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.

Компиляция и запуск программ на C

Напишите свой код/программу в любимом редакторе CLI/GUI.

Я собираюсь написать свою программу на Си с помощью редактора nano.

$ nano ostechnix.c

Примечание. Вам необходимо использовать расширение .c для программ на Си или .cpp для программ на Си++.

Скопируйте/вставьте следующий код:

#include <stdio.h> int main() { printf(«Welcome To OSTechNix!»); return 0; }

Нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла.

Чтобы скомпилировать программу, запустите:

$ gcc ostechnix.c -o ostechnix

Или:

$ cc ostechnix.c -o ostechnix

Если в вашем коде/программе есть синтаксические или семантические ошибки, они будут отображены. Сначала необходимо их исправить, чтобы двигаться дальше. Если ошибки нет, то компилятор успешно сгенерирует исполняемый файл ostechnix в текущем рабочем каталоге.

Наконец, запустите программу с помощью команды:

$ ./ostechnix

Вы увидите вывод, как показано ниже:

Читайте также:  Топ 5 инструментов потокового мультимедиа для Linux

Welcome To OSTechNix!

Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:

$ gcc source1.c source2.c -o executable

Для разрешения предупреждений, необходима отладка символов на выходе:

$ gcc source.c -Wall -Og -o executable

Скомпилировать исходный код в инструкции ассемблера:

$ gcc -S source.c

Скомпилировать исходный код без связывания:

$ gcc -c source.c

Вышеприведенная команда создаст исполняемый файл под названием source.o.

Если ваша программа содержит математические функции:

$ gcc source.c -o executable -lm

За более подробной информацией обращайтесь к man-страницам (страницы руководства).

$ man gcc

Компиляция и запуск программ на C++

Напишите вашу C++ программу в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.

Пример простой C++ программы:

$ cat

Программа:

#include <iostream> int main() { std::cout << «Welcome To OSTechNix!» << std::endl; return 0; }

Чтобы скомпилировать эту программу на C++ в Linux, просто запустите:

$ g++ -o ostechnix

Если ошибок не было, то можно запустить эту Си++ программу под Linux с помощью команды:

$ ./ostechnix

Выведет:

Welcome To OSTechNix!

В качестве альтернативы мы можем скомпилировать приведенную выше программу на C++, используя команду «make«, как показано ниже.

$ make ostechnix

Вы заметили? Я не использовал расширение .cpp в вышеприведенной команде для компиляции программы. Нет необходимости использовать расширение для компиляции Си++ программ с помощью команды make.

Запустите, используя команду:

$ ./ostechnix Welcome To OSTechNix!

За более подробной информацией обращайтесь к man-страницам.

$ man g++

Надеюсь, что статья помогла.

Обновление по требованию выходных данных команды top системы unix (или) изменение интервала обновления данных

По умолчанию команда top системы linux обновляет выходные данные каждые 3 секунды. Если вы хотите дать запрос на обновление выходных данных, нажмите клавишу пробела.

Для того, чтобы изменить частоту обновления выходных данных, нажмите в интерективном режиме клавишу d и введите время, указываемое в секунда, так, как показано ниже:

Change delay from 3.0 to: 10 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 27m S 0 21.8 45: gagent 1882 geek 25 0 2485m 26m S 0 21.7 22: gagent

Информация о системе

Команда Действие
date показать время и дату
cal показать календарь
uptime проверить аптайм (время безотканой работы)
w покажет количество пользователей, которые в данный момент используют сервер
whoami покажет Ваш логин
finger юзер покажет инфу о пользователе «юзер»
uname -a информация про ядро
cat /proc/cpuinfo информация про CPU
cat /proc/meminfo информация про память
man команда покажет все о команде
df информация о дисках
du покажет, сколько памяти занимает текущий каталог
free сколько памяти используется
whereis программа найдет место расположения программы
which программа определеяет, что «программа» будет запущена первой
vmstat покажет загрузку процессора

Создание зеркала веб-сайта

Чтобы создать зеркало веб-сайта с помощью wget , используйте параметр -m . Это создаст полную локальную копию веб-сайта, следуя и загружая все внутренние ссылки, а также ресурсы веб-сайта (JavaScript, CSS, изображения).

wget -m

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

wget -m -k -p

Параметр -k заставит wget преобразовать ссылки в загруженных документах, чтобы сделать их пригодными для локального просмотра. Параметр -p сообщает wget нужно загрузить все необходимые файлы для отображения HTML-страницы.