25. Sysstat – Система контроля производительности всё-в-одном
Ещё один инструмент мониторинга для вашей системы Linux. На самом деле Sysstat – это не команда, это название проекта. В действительности Sysstat – это пакет, который включает много инструментов слежения за производительностью, к ним относятся iostat, sadf, pidstat и много других инструментов, которые показывают вам множество статистической информации о вашей ОС Linux.
Особенности Sysstat
- Доступна во многих стандартных репозиториях дистрибутивов Linux.
- Может собирать статистику об использовании RAM, CPU, SWAP. Помимо этого, способность мониторить активность ядра Linux, NFS сервера, сокетов, TTY и файловых систем.
- Способность мониторить статистику ввода и вывода для устройств, задач и т.п.
- Способность выводить отчёты о сетевых интерфейсах и устройствах, в том числе с поддержкой IPv6.
- Sysstat может показать вам также статистику энергопотребления (использование, устройства, скорость вентиляторов и т.д.).
- Многие другие функции.
22. Netdata
Netdata – это чрезвычайно оптимизированная утилита Linux, которая в реальном времени (посекундно) обеспечивает мониторинг производительности систем Linux, приложений, SNMP устройств и т.д. и показывает полностью интерактивные графики, которые через веб-браузер показывают абсолютно все собранные значения для их анализа.
Программа была создана чтобы быть установленной на систему Linux без прерывания на ней текущих запущенных приложений. Вы можете использовать этот инструмент для контроля и обзора в реальном времени того, что происходит или только что произошло в ваших системах Linux и приложениях.
Что мониторит Netdata:
- Общее использование и использование каждого ядра ЦПУ, прерывания (interrupts), отложенные прерывания (softirqs) и частоту.
- Общую память, оперативную память, использование раздела подкачки (Swap) и Kernel
- Операции ввода/вывода на диск (по каждому диску: скорость, операции, backlog, utilization и пр.)
- Мониторинг сетевых интерфейсов, включая: скорость пропускания, пакеты, ошибки, отброшенное и пр.)
- Мониторы подключений, события, ошибки и пр. файервола Linux Netfilter / iptables
- Процессы (запущенные, заблокированные, форки, активные и пр.)
- Системные приложения с деревом процессов (ЦПУ, память, swap, чтение/запись на диск, потоки и т.д.)
- Мониторинг статуса Apache и Nginx с mod_status.
- Мониторинг баз данных MySQL: запросы, обновления, блокировки, проблемы, потоки и т.д.
- Очередь сообщений почтового сервера
- Мониторинг пропускной способности и запросов Squid прокси
- Сенсоры железа (температура, вольтаж, вентиляторы, напряжение, влажность и т.д.)
- SNMP устройства
Об установке и описание работы с Netdata смотрите «Как настроить мониторинг производительности реального времени с Netdata на Ubuntu 16.10».
Информация об оперативной памяти
1. Файл /proc/meminfo (Linux)
Команда:
cat /proc/meminfo
Пример ответа:
MemTotal: 8010284 kB
MemFree: 1058580 kB
MemAvailable: 2791616 kB
Buffers: 1884 kB
Cached: 1754092 kB
SwapCached: 122280 kB
Active: 4330296 kB
Inactive: 2006792 kB
Active(anon): 3623768 kB
Inactive(anon): 983120 kB
Active(file): 706528 kB
Inactive(file): 1023672 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1048572 kB
SwapFree: 597684 kB
Dirty: 20 kB
Writeback: 0 kB
AnonPages: 4466532 kB
Mapped: 92808 kB
Shmem: 25776 kB
Slab: 408732 kB
SReclaimable: 308820 kB
SUnreclaim: 99912 kB
KernelStack: 7312 kB
PageTables: 23276 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 5053712 kB
Committed_AS: 3770324 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 159328 kB
VmallocChunk: 34359341052 kB
HardwareCorrupted: 0 kB
AnonHugePages: 3248128 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 257984 kB
DirectMap2M: 8130560 kB
* чаще всего, самое важное:
- MemTotal — общий объем оперативной памяти.
- MemFree — объем памяти, который не используется системой.
- Buffers — память, которая в данным момент ожидает записи на диск.
- Cached — объем, задействованный под кэш чтения с диска.
- MemAvailable — объем памяти, доступной в распределители без необходимости обмена.
- SwapTotal — объем файла подкачки.
- SwapFree — свободный объем файла подкачки.
* Объем используемой памяти = MemTotal – MemFree — Cached — Buffers.
Для перевода килобайт в гигабайты можно воспользоваться онлайн калькулятором.
2. free (Linux)
Данная команда позволяет получить информацию об использовании памяти в удобной таблице. Для еще большего удобства, мы выведем ее с помощью дополнительного параметра -h:
free -m
Пример ответа:
total used free shared buff/cache available
Mem: 3,7G 568M 378M 193M 2,8G 2,6G
Swap: 4,0G 94M 3,9G
sysctl hw.physmem
Пример ответа:
hw.physmem: 2123677696
4. dmesg
Работает на BSD и Linux:
dmesg | grep memory
Итог:
real memory = 2147483648 (2048 MB)
avail memory = 2042109952 (1947 MB)
5. Другие команды
Для получения информации по оперативной памяти также можно использовать команды:
vmstat -s
top
htop
* для htop необходима установка одноименной утилиты.
Команды для управления файлами
А вот то, что через «Терминал» можно просматривать файлы, удалять, перемещать и переименовывать их – уже более серьезная тема.
- ls – с ее помощью возможно просматривать содержимое активного каталога. В этой команде есть две опции: -l, которая выводит информацию в виде списка с описанием, и -a, показывающая скрытые системные файлы.
- cat – выводит список файлов, хранимых в указанной папке. По умолчанию показывается содержимое корневой папки утилиты.
- tac – объединяет все файлы в единый список и отображает их в обратном порядке. Это практически то же самое, что и cat, только сначала выводится последняя строка, и список идет вверх.
- pwd – определяет директорию, открытую на данный момент.
- mkdir – создает новый раздел в папке, открытой в данный момент или указанной конкретно. Путь при этом должен вводиться после самого запроса.
- rmdir – позволяет удалить пустые или конкретно указанные каталоги.
- rm – позволяет удалить как один, так и несколько файлов, но имеющих один общий определенный признак. При введении опции -r содержимое переносится в корзину, а без нее производится безвозвратное удаление данных.
- file – собирает и выводит на диалоговое окно информацию об указанном файле.
- nano – переходит в простейший текстовый редактор и создает новый документ либо открывает уже существующий файл.
- rename – позволяет переименовать один файл или группу по общим признакам (например, расположение в одной директории). Требуется предварительная установка.
- touch – меняет модификацию конкретного указанного файла или дату его последнего открытия.
- cp – создает копию файла в корневой или вручную выбранной директории, причем путь необходимо вводить сразу после введения команды.
- mv – перемещает файлы из одной директории в другую, причем с помощью некоторых опций по дороге можно переименовать конечную папку. Просто после указания конечного пункта нужно изменить название.
- ln – создает ссылку на указанный файл.
- chmod – изменяет права доступа для определенного файла, в том числе возможность чтения, изменения или записи. Команду можно применять по отдельности к каждому пользователю.
- chown – команда доступна только для владельца (суперпользователя, создателя системы); позволяет изменить право первичного доступа, иначе root.
- find – ищет файлы и папки по всему диску. К тому же у данной команды есть множество дополнительных опций, с помощью которых можно упростить и конкретнее настроить поиск.
- locate – тоже ищет файлы и папки по всей системе, но выполняется в updatedb.
- du – показывает пример папок и файлов. При этой команде есть несколько полезных опций: -h преобразует их в читабельный формат, -s выводит данные в сокращенном формате, -d устанавливает в каталогах глубину рекурсий.
- wget – загружает в корневую папку «Терминала» файлы из Интернета.
top — мониторинг активности процессов
Команда top отображает процессы Linux. Она позволяет представить работающую систему в реальном времени, то есть в момент фактической активности процесса. По умолчанию она отображает наиболее ресурсоемкие задачи, выполняемые на сервере, и обновляет их список каждые пять секунд.
Часто используемые горячие клавиши с лучшими инструментами мониторинга Linux
Ниже приведен список полезных горячих клавиш:
Горячая клавиша | Применение |
t | Отображает, включена или выключена опция представления сводных данных |
m | Отображает, включена или выключена опция представления информации о памяти |
A | Сортирует задачи по активности потребления различных системных ресурсов. Полезно для быстрой идентификации задач, требующих высокой производительности в системе. |
f | Вход в интерактивный экран конфигурации для команды top. Полезно для настройки top под конкретную задачу. |
o | Позволяет выбрать способ упорядочивания информации для команды top. |
r | Выполняет команду renice. |
k | Выполняет команду kill. |
z | Включает или выключает цвет/моно |
Узнаем параметры своего компьютера на Mac OS
1-й способ. В левом верхнем углу экрана найдите значок Mac в виде яблока, кликните на него и в выпавшем меню нажмите «Об этом Mac». Появится общая информация о системе, для более подробного обзора нажмите закладку «Подробнее», после чего вы сможете просмотреть всю информацию о железе.
Если и этого мало, нажмите на «Отчёт о системе», в нём в более старом варианте можно посмотреть всю информацию о своём ПК.
2-й способ, «Терминал» или аналог командной строки. Откройте программу, в появившемся окне забейте команду – «system_profiler» — Enter. Подождите, пока программа загрузит данные, после чего можете просмотреть их. Способ не очень удобный и подойдет только для любителей «покопаться» в софте.
3-й способ. Macktracker. Это ещё одно приложение, доступное в AppStore. Само по себе оно уникально, так как кроме информации о ПК, вы найдете каталог программных продуктов и сведения о выпущенных устройствах.
4-й способ. Через браузер, введите в поисковик EveryMac.com. Сайт довольно старый, но на нём есть вся необходимая техническая информация.
Как получить информацию о CPU
Что бы получить информацию о CPU можно воспользоваться командами
Shell
lscpu
или
cat /proc/cpuinfo
1 |
lscpu cat/proc/cpuinfo |
Результат команды будет следующим
Shell
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
stepping : 9
cpu MHz : 3292.582
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6585.16
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
1 |
processor vendor_idGenuineIntel cpu family6 model58 model nameIntel(R)Xeon(R)CPU E3-1230V2@3.30GHz stepping9 cpu MHz3292.582 cache size8192KB physical id siblings8 core id cpu cores4 apicid initial apicid fpuyes fpu_exceptionyes cpuid level13 wpyes flagsfpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms bogomips6585.16 clflush size64 cache_alignment64 address sizes36bits physical,48bits virtual power management |
KDE System Guard — системы и отчеты Linux в режиме реального времени
KSysguard — это приложение для мониторинга системы для рабочего стола KDE. Его можно запускать через сессию ssh. Оно обеспечивает мониторинг локальных и удаленных хостов. Графический интерфейс использует так называемые датчики для извлечения отображаемой информации. Датчик может возвращать простые значения или более сложную информацию, например, таблицы. Для каждого типа информации предоставляется один или несколько дисплеев. Дисплеи организованы в виде листов, которые можно сохранять и загружать независимо друг от друга. Таким образом, KSysguard — это не только простой диспетчер задач, но и очень мощный инструмент для управления большими пулами серверов.
Список процессов
Вывести на экран список текущих процессов, запущенных пользователем, можно командой:
ps
Чтобы посмотреть список всех процессов с дополнительной информацией, вводим:
ps aux
Мы увидим, примерно, следующее:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 661 0.0 0.0 4072 8 tty1 Ss+ Jul03 0:00 /sbin/mingetty
root 662 0.0 0.0 4072 8 tty2 Ss+ Jul03 0:00 /sbin/mingetty
root 16355 0.0 0.0 171636 3308 pts/0 S 15:46 0:00 sudo su
root 16366 0.0 0.0 140896 1556 pts/0 S 15:46 0:00 su
root 16368 0.0 0.0 108316 1944 pts/0 S 15:46 0:00 bash
root 18830 0.0 0.0 110244 1172 pts/0 R+ 16:20 0:00 ps u
* где:
- USER — учетная запись пользователя, от которой запущен процесс.
- PID — идентификатор процесса.
- %CPU — потребление процессорного времени в процентном эквиваленте.
- %MEM — использование памяти в процентах.
- VSZ — Virtual Set Size. Виртуальный размер процесса (в килобайтах).
- RSS — Resident Set Size. Размер резидентного набора (количество 1K-страниц в памяти).
- TTY — терминал, из под которого был запущен процесс.
-
STAT — текущее состояние процесса. Могут принимать значения:
- R — выполнимый процесс;
- S — спящий;
- D — в состоянии подкачки на диске;
- T — остановлен;
- Z — зомби.
- W — не имеет резидентных страниц;
- < — высоко-приоритетный;
- N — низко-приоритетный;
- L — имеет страницы, заблокированные в памяти.
- START — дата запуска процесса.
- TIME — время запуска процесса.
- COMMAND — команда, запустившая процесс.
Ключи
Ключ | Описание |
---|---|
-A | Все процессы. |
-a | Запущенные в текущем терминале, кроме главных системных. |
-d | Все, кроме главных системных процессов сеанса. |
-e | Все процессы. |
f | Показать дерево процессов с родителями. |
T | Все на конкретном терминале. |
a | Все, связанные с текущим терминалом и терминалами других пользователей. |
r | Список только работающих процессов. |
x | Отсоединённые от терминала. |
u | Показать пользователей, запустивших процесс. |
Аналоги Hwinfo для Линукс
В Линукс полно альтернатив Hwinfo, в том числе с графическим интерфейсом:
- Neofetch – инструмент для визуализации подробностей о программной и аппаратной составляющих компьютера в красочной форме в консоли.
- Screenfetch – консольная утилита для Linux с краткой справкой о компьютере: ОС, процессор, память, диски, графика.
- Hardinfo – средство с графическим интерфейсом для определения производительности ПК, сбора информации об аппаратуре, среде и ядре Linux. Совместно с lm_sensors отобразит показания датчиков температуры, состояние батареи.
- Hardware Lister – программа для предоставления сведений о компонентах машины: сообщит конфигурацию памяти, шины, процессора, материнской платы, прошивки BIOS.
Как получить информацию о USB контролере
Команда lsusb покажет информацию об usb контролере и устройствах подключенных к нему
Shell
lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 0bda:b728 Realtek Semiconductor Corp.
Bus 002 Device 004: ID 5986:0249 Acer, Inc
Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
1 |
lsusb Bus001Device002ID80878000Intel Corp. Bus001Device001ID1d6b0002Linux Foundation2.0root hub Bus003Device001ID1d6b0003Linux Foundation3.0root hub Bus002Device005ID0bdab728 Realtek Semiconductor Corp. Bus002Device004ID59860249Acer,Inc Bus002Device003ID0bda0129Realtek Semiconductor Corp.RTS5129 Card Reader Controller Bus002Device002ID045e00cbMicrosoft Corp.Basic Optical Mouse v2. Bus002Device001ID1d6b0002Linux Foundation2.0root hub |
Используя опцию lsusb -v можно получить информацию об usb устройствах
Команды для работы с файлами
Содержит в себе практически все мелкие утилиты и инструменты для взаимодействия с файлами и папками.
ls — покажет содержимое директории, в которой вы находитесь. Если после команды ввести адрес конкретной папки, то она покажет то, что хранится в ней. При добавлении аргумента -R в выводе команды появятся файлы из поддиректорий.
cd — change directory, что в переводе означает «сменить директорию». Из названия понятно, что с помощью этой команды можно перемещаться между папками. Вписываем её, а потом адрес: cd /user/test/dir/111. Есть сокращенные варианты: cd- для перемещения в предыдущую директорию или cd (без аргументов) для прыжка в домашнюю папку.
pwd — укажет полный путь до директории, в которой вы находитесь. Если вы перепрыгнули на рабочий стол с помощью cd ~/Desktop/, то pwd покажет что-то в духе /home/Polzovatel/Desktop.
dd — мощная утилита для взаимодействия с разделами. С её помощью можно делать копии разделов, перемещать их, удалять без возможности восстановления.
rm — опасная команда для удаления директорий и их содержимого. Стирает все данные, которые обнаружит в указанной папке без возможности к восстановлению.
grep — это полнотекстовый поиск в файле. Очень полезная команда, когда вам нужно что-то найти. Например, grep значение /путь/до/файла покажет строки в которых есть «значение». А команда grep -ril значение /путь/до/каталога/* покажет все файлы, в которых есть искомое значение.
-r — рекурсивный поиск.
-i — игнорировать регистр (Case insensetive).
-l — вывести результат списком.
chown пользователь:группа — команда позволяет изменить владельца файла.
chmod — изменяет права на файл или каталог
find — суперполезная команда. С её помощью можно искать файлы по определённым параметрам.
Следующие команды потребуются вам при работе с файлами разного типа и объёма:
cat — показывает содержимое файлов. Также может использоваться в двух вариантах: 1) одним текстовым файлом (cat путь_к_файлу), она отображает содержимое файла в окне терминала, 2) если же указать больше элементов, то команда склеит их (cat путь_к_файлу_1 путь_к_файлу_2).
head — «голова», как и cat, показывает содержимое документов, но не всё, а только первые 10 строк. При желании количество строк можно увеличить или сократить, добавив параметр -n.
tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.
touch — эта команда создавалась для изменения времени последнего открытия файла или директории, но используют её, в основном, для создания новых файлов.
wget — загружает из интернета документы, картинки, целые страницы и прочий контент.
wc — считает количество строк, слов, знаков и байтов.
zip — упаковывает файлы в архив в формате .zip.
diff — сокращение от «difference». Команда показывает разницу между двумя текстовыми файлами.
Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:
strings — команда выведет готовые к печати строки файла;
od — позволит вам напечатать файл в восьмеричном формате;
cmp — даёт возможность побайтно сравнивать файлы.
Если вам требуется сравнить текстовые файлы друг с другом, введите эти команды:
comm — отсортированные файлы будут строка за строкой.
diff — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.
CPU-X
CPU-X — это бесплатное программное обеспечение, которое собирает информацию о процессоре, материнской плате и многом другом.
CPU-X похож на CPU-Z lдля Windows, но CPU-X — это свободное программное обеспечение с открытым исходным кодом, разработанное для GNU/Linux.
Стоит отметит, что CPU-X способен отображать информацию о параметрах оперативной памяти, припаянной на материнской плате, о чем не может сообщить даже CPU-Z для Windows
CPU-X предоставляет информацию о:
- Процессоре
- Материнской плате
- Памяти
- Системе
- Графической карте
- Производительности
Свежий релиз можно скачать здесь либо установить из репозитория своего дистрибутива.
Самые важные команды, которые нужно знать
Мы рассмотрели некоторые основные команды в предыдущих разделах. В этом разделе мы рассмотрим некоторые другие важные команды.
Find command
Вы можете использовать команды find, locate и grep с помощью команды find.
Команда find ищет файлы на вашем диске. Это позволяет вам искать файлы и каталоги на основе групп пользователей, времени изменения файлов или доступа к ним, прав доступа к файлам, дат и размера.
Чтобы игнорировать регистр, используйте:
Раньше мы говорили о диких картах. Здесь мы используем их для поиска определенных файлов. Эта команда перечисляет все имена файлов, оканчивающиеся на donut.txt.
И эта команда перечисляет все имена файлов, начинающиеся с c.
Вы можете искать файлы по размеру, используя:
Используйте команду ниже для поиска файлов по дате их последнего изменения:
Чтобы найти каталог, используйте команду:
Locate command
По сравнению с поиском locateработает быстрее, так как считывает пути к файлам, хранящиеся в mlocate.dbбазе данных. Прежде чем приступить к работе, вам необходимо установитьlocate.
Команда для установки locate:
Первый шаг — это ввод пароля. После ввода пароля начнется установка.
После установки необходимо обновить поисковую базу. Locateполагается на эту базу данных, поэтому ее регулярное обновление обеспечивает эффективность. Для обновления mlocateбазы данных необходимы права суперпользователя.
Чтобы искать файлы по их именам, используйте:
Примечание. Функция Locate чувствительна к регистру, поэтому CreamPuffs.txtи creamPuffs.txtне одно и то же.
Чтобы игнорировать регистр, добавьте в команду —i.
grep command
Печать глобального регулярного выражения (grep) используется в Linux для поиска строк в конкретном файле. Если grep находит эти символы, он печатает строку. Команда такая:
Вы распечатываете номера строк вместе со строкой соответствия, добавляя —nк команде:
Примечание: Grep чувствителен к регистру, поэтому glazedи Glazedне одно и то же.
Чтобы игнорировать регистр, используйте:
Для поиска чего-либо в каталоге используйте:
chmod
Команда chmod, изменить режим, используется для просмотра разрешений на чтение, запись и выполнение, связанных с файлом. У вас есть три разных типа пользователей: пользователь (владелец), группа и другие (все остальные), которые могут читать, писать или выполнять файл.
Чтобы просмотреть разрешения, связанные с файлом, используйте:
Посмотрим, что означает вывод:
- -означает, что это обычный файл. Если бы это был каталог, то так и было бы d.
- rw-rw-r— показывает права доступа к файлу.
Посмотрим на файл hello.c. Скажем, мы хотим, чтобы пользователь читал, записывал и выполнял файл, группа просто читала и выполняла его, а остальные только читали его. Вы будете использовать:
Вы можете просмотреть обновленные разрешения, используя:
Вы также можете использовать команду chmod с числовым методом. Разрешения имеют следующие числовые значения:
- Читать = 4
- Написать = 2
- Выполнить = 1
- Нет разрешений = 0
Разрешения, которые получает определенный пользователь, представляют собой сумму этих чисел, поэтому, если вы хотите дать разрешение на чтение, запись и выполнение, это будет 4 + 2 + 1 = 74 + 2 + 1 = 7. Прочитать и выполнить будет4 + 0 + 1 = 54 + 0 + 1 = 5, и просто читать будет 4 + 0 + 0 = 44 + 0 + 0 = 4.
ping command
Команда ping используется для проверки статуса вашего соединения с сервером.
Вы можете проверить, смогли ли вы подключиться, и посмотреть время ответа. Команда продолжает выполняться, пока вы ее не остановите нажатием CTRL+C.
free command
Чтобы просмотреть использование памяти, используйте бесплатную команду.
В hпротивном случае он делает его удобочитаемым, он показывает данные в байтах.
gzip
Для сжатия файлов через терминал используйте gzipкоманду. Если вы хотите сохранить как исходный файл, так и сжатую версию, добавьте —k, в противном случае исходный файл будет удален.
mv
Чтобы переместить файлы из одного каталога в другой, используйте mv. Вы также можете переименовывать файлы с помощью этой команды.
Чтобы переименовать файл, используйте:
Чтобы переименовать файл при его перемещении, используйте:
man
Чтобы узнать больше о любой команде, используйте man. Вы попадете в руководство, где сможете просмотреть описание и все параметры команды. Давайте рассмотрим команду ls более подробно.
Параметры grep
Опция -r
—recursive
Еще больше увеличит зону поисков опция -r, которая заставит команду grep рекурсивно обследовать все дерево указанной директории, то есть субдиректории, субдиректории субдиректорий, и так далее вплоть до файлов. Например:
grep -r menu /boot /boot/grub/grub.txt:Highlight the menu entry you want to edit and press 'e', then
/boot/grub/grub.txt:Press the key to return to the GRUB menu.
/boot/grub/menu.lst:# GRUB configuration file ‘/boot/grub/menu.lst’.
/boot/grub/menu.lst:gfxmenu (hd0,3)/boot/message
Опция -i
—ignore-case
Приказывает команде игнорировать регистр символов, таким образом, поиск будет производиться как среди заглавных, так и среди строчных букв.
Опция -c
—count
Эта опция не выводит строки, а подсчитывает количество строк, в которых обнаружен ОБРАЗЕЦ. Например:
grep -c root /etc/group 8
То есть в восьми строках файла /etc/group встречается сочетание символов root.
—line-number
При использовании этой опции вывод команды grep будет указывать номера строк, содержащих ОБРАЗЕЦ:
Опция -v
—invert-match
Выполняет работу, обратную обычной — выводит строки, в которых ОБРАЗЕЦ не встречается:
grep -v print /etc/printcap # # # for you (at least initially), such as apsfilter # (/usr/share/apsfilter/SETUP, used in conjunction with the # LPRng lpd daemon), or with the web interface provided by the # (if you use CUPS).
Опция -w
—word-regexp
Заставит команду grep искать только строки, содержащие все слово или фразу, составляющую ОБРАЗЕЦ. Например:
grep -w "длинная ко" example/*
Не дает вывода, то есть не находит строк, содержащих выражение «длинная ко». А вот команда:
grep -w "длинная коса" example/* example/alice.txt:длинная коса!
находит точное соответствие в файле alice.txt.
Опция -x
—line-regexp
Еще более строгая. Она отберет только те строки исследуемого файла или файлов, которые полностью совпадают с ОБРАЗЦОМ.
grep -x "1234" example/* example/123.txt:1234
Внимание: Мне попадались (на собственном компьютере) версии grep (например, GNU 2.5), в которых опция -x работала неадекватно. В то же время, другие версии (GNU 2.5.1) работали прекрасно. Если что-то не ладится с этой опцией, попробуйте другую версию, или обновите свою.
Если что-то не ладится с этой опцией, попробуйте другую версию, или обновите свою.
Опция -l
—files-with-matches
Команда grep с этой опцией не возвращает строки, содержащие ОБРАЗЕЦ, но сообщает лишь имена файлов, в которых данный образец найден:
grep -l 'Алиса' example/* example/alice.txt
Замечу, что сканирование каждого из заданных файлов продолжается только до первого совпадения с ОБРАЗЦОМ.
Опция -L
—files-without-match
Наоборот, сообщает имена тех файлов, где не встретился ОБРАЗЕЦ:
grep -L 'Алиса' example/* example/123.txt example/ast.txt
Как мы имели случай заметить, команда grep, в поисках соответствия ОБРАЗЦУ, просматривает только содержимое файлов, но не их имена. А так часто нужно найти файл по его имени или другим параметрам, например времени модификации! Тут нам придет на помощь простейший программный канал (pipe). При помощи знака программного канала — вертикальной черты (|) мы можем направить вывод команды ls, то есть список файлов в текущей директории, на ввод команды grep, не забыв указать, что мы, собственно, ищем (ОБРАЗЕЦ). Например:
ls | grep grep grep/ grep-ru.txt
Находясь в директории Desktop, мы «попросили» найти на Рабочем столе все файлы, в названии которых есть выражение «grep». И нашли одну директорию grep/ и текстовой файл grep-ru.txt, который я в данный момент и пишу.
Если мы хотим искать по другим параметрам файла, а не по его имени, то следует применить команду ls -l, которая выводит файлы со всеми параметрами:
ls -l | grep 2008-12-30 -rw-r--r-- 1 ya users 27 2008-12-30 08:06 123.txt drwxr-xr-x 2 ya users 4096 2008-12-30 08:49 example/ -rw-r--r-- 1 ya users 11931 2008-12-30 14:59 grep-ru.txt
И вот мы получили список всех файлов, модифицированных 30 декабря 2008 года.
Команда grep незаменима при просмотре логов и конфигурационных файлов. Классически примером использования команды grep стал программный канал с командой dmesg. Команда dmesg выводит те самые сообщения ядра, которые мы не успеваем прочесть во время загрузки компьютера. Допустим, мы подключили через USB порт новый принтер, и теперь хотим узнать, как ядро «окрестило» его. Дадим такую команду:
dmesg | grep -i usb
Опция -i необходима, так как usb часто пишется заглавными буквами. Проделайте этот пример самостоятельно — у него длинный вывод, который не укладывается в рамки данной статьи.
Как просмотреть информацию об оборудовании Linux
Что бы узнать информацию об cpu, disks, memory, usb controllers можно воспользоваться командой lshw
Если её нет в системе то необходимо предварительно установить, она есть в репозитории rpmforge
Shell
yum install lshw
1 | yum install lshw |
Выполнить команду и в результате получите подобную информацию
Shell
lshw
description: Computer
width: 64 bits
capabilities: vsyscall64 vsyscall32
*-core
description: Motherboard
physical id: 0
*-generic UNCLAIMED
physical id: 123
bus info: parisc@123
*-memory
description: System memory
physical id: 0
size: 1GiB
*-cpu
product: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
version: 6.10.9
serial: 0003-06A9-0000-0000-0000-0000
size: 3300MHz
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc……………
1 |
lshw descriptionComputer width64bits capabilitiesvsyscall64 vsyscall32 *-core descriptionMotherboard physical id *-generic UNCLAIMED physical id123 bus infoparisc@123 *-memory descriptionSystem memory physical id size1GiB *-cpu productIntel(R)Xeon(R)CPU E3-1230V2@3.30GHz vendorIntel Corp. physical id1 bus infocpu@ version6.10.9 serial0003-06A9-0000-0000-0000-0000 size3300MHz width64bits capabilitiesfpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64constant_tsc…………… |
Можно сократить и упорядочить вывод с помощью опции
Shell
lshw -short
H/W path Device Class Description
=========================================
system Computer
/0 bus Motherboard
/0/123 generic
/0/0 memory 1GiB System memory
/0/1 processor Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
/0/1/1.1 processor Logical CPU
/0/1/1.2 processor Logical CPU
/0/1/1.3 processor Logical CPU
/0/1/1.4 processor Logical CPU
/0/1/1.5 processor Logical CPU
/0/1/1.6 processor Logical CPU
/0/1/1.7 processor Logical CPU
/0/1/1.8 processor Logical CPU
/0/1/1.9 processor Logical CPU
/0/1/1.a processor Logical CPU
/0/1/1.b processor Logical CPU
/0/1/1.c processor Logical CPU
/0/1/1.d processor Logical CPU
/0/1/1.e processor Logical CPU
/0/1/1.f processor Logical CPU
/0/1/1.10 processor Logical CPU
1 |
lshw-short H/Wpath Device ClassDescription ========================================= system Computer /bus Motherboard //123generic //memory1GiBSystem memory //1processor Intel(R)Xeon(R)CPU E3-1230V2@3.30GHz //1/1.1processor Logical CPU //1/1.2processor Logical CPU //1/1.3processor Logical CPU //1/1.4processor Logical CPU //1/1.5processor Logical CPU //1/1.6processor Logical CPU //1/1.7processor Logical CPU //1/1.8processor Logical CPU //1/1.9processor Logical CPU //1/1.aprocessor Logical CPU //1/1.bprocessor Logical CPU //1/1.cprocessor Logical CPU //1/1.dprocessor Logical CPU //1/1.eprocessor Logical CPU //1/1.fprocessor Logical CPU //1/1.10processor Logical CPU |
Также есть возможность вывода информации в html файл
Shell
lshw -html > lshw.html
1 | lshw-html>lshw.html |
14. Monitorix – Мониторинг системы и сети
Monitorix – это бесплатная, не требовательная к ресурсам утилита, которая предназначена для контроля за системой и сетевыми ресурсами в серверах Linux/Unix настолько, насколько это возможно. Она имеет встроенный HTTP веб-сервер, которые регулярно собирает системную и сетевую информацию и отображает её в графиках. Программа следит за нагрузкой на систему и использованием ресурсов, распределением памяти, здоровьем диска, системными сервисами, сетевыми портами, почтовой статистикой (Sendmail, Postfix, Dovecot и пр.), MySQL статистикой и многим другим. Программа предназначена для контроля общей производительности системы и помогает в обнаружении сбоев, узких мест, аномальной активности и т.д.
Информация о системе Linux из консоли ssh
Очень часто возникает необходимость разузнать о системе или о компьютере ту или иную информацию. Это можно делать всего парой строк в терминале Ubuntu. В GUI Ubuntu имеется пакет hardinfo, который показывает достаточно множество информации о аппаратной и программной части компьютера. Но это GUI, какой можно использовать, если на компьютере установлена графичная оболочка, а графическая среда, например на серверной версии недостаёт. Да и сам компьютер может быть расположен где-нибудь так что десницами его не достать) В случае если хочется красивого окна, но компьютер далеко, можно пробросить окошко hardinfo чрез ssh:
Для приступила приведем утилиту lshw Для ее установки нужно завести в терминале: sudo apt-get install lshw После аппараты, для того чтобы узнать характеристики системы, довольно ввести в терминале команду sudo lshw
и на дессерт