По параметрам:
Переменная
-c — для создания архивного файла, -z — для архивирования файла и -f — для указания имени файла вывода.Переменная
HOSTNAME автоматически устанавливается оболочкой на имя текущего хоста. Файл вывода будет иметь то же имя, что и система, что поможет позже с организацией, если журналы собираются из нескольких систем.Для извлечения отдельных частей файла можно использовать команду
К примеру имеется файл
В файле каждое поле разделено пробелом. Для извлечения IP-адреса (второе поле) используйте следующую команду:
Получаем:
Параметр
Параметр
cut.К примеру имеется файл
some_file из двух строк, каждая с тремя столбцами данных:08/06/2022 192.168.10.14 test.html 09/06/2022 192.168.10.185 login.htmlВ файле каждое поле разделено пробелом. Для извлечения IP-адреса (второе поле) используйте следующую команду:
cut -d' ' -f2 some_file Получаем:
192.168.10.14192.168.10.185Параметр
-d' ' указывает, что в качестве разделителя полей используется пробел. Параметр
-f2 определяет, что команде нужно вырезать и отобразить второе поле, в данном случае IP-адреса.Если вам когда-либо понадобятся значения времени по ряду метрик ЦП, вы найдете их в третьей строке вывода top (в процентах).
Краткое объяснение сокращений, которые вы там увидите:
Краткое объяснение сокращений, которые вы там увидите:
us Время выполнения высокоприоритетных (без nice) процессов sy Время выполнения процессов ядра ni Время выполнения низкоприоритетных (niсе) процессов id Время на холостом ходу wa Время ожидания завершения событий ввода/вывода hi Время, потраченное на управление аппаратными прерываниями si Время, потраченное на управление программными прерываниями st Время, украденное у этой виртуальной машины ее гипервизором (хостом)Идентифицировать тип неизвестного вам файла, поможет команда:
В Linux это особенно актуально, так как большинство файлов не имеют расширения, которое можно использовать для идентификации (в отличие от Windows, где расширения файлов есть, например .exe).
К примеру, даже если вы переименуете файл-изображение
Пример использования:
fileВ Linux это особенно актуально, так как большинство файлов не имеют расширения, которое можно использовать для идентификации (в отличие от Windows, где расширения файлов есть, например .exe).
К примеру, даже если вы переименуете файл-изображение
А.png и присвоите ему имя и расширение С.jpg, изменив тем самым его тип, команда file сможет понять это и сообщит вам правильный тип файла (в данном случае это PNG-файл)Пример использования:
file some_fileГлобальные системные журналы
/var/log/syslog
/var/log/messages
(в зависимости от дистрибутива) содержат сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и др.
С помощью команды
Чтобы увидеть запись сразу после ее фиксации:
Можно записать вывод прямо из команды, передав их в
/var/log/syslog
/var/log/messages
(в зависимости от дистрибутива) содержат сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и др.
С помощью команды
logger можно добавить собственное сообщение в журнал, к примеру:logger 'Тестовая запись' Чтобы увидеть запись сразу после ее фиксации:
tail -n 1 /var/log/syslogМожно записать вывод прямо из команды, передав их в
logger. Это может быть особенно полезно для сбора выходных данных или сообщений об ошибках, генерируемых автоматизированными задачами, такими как задания cron.Сначала мы, чтобы вывести список всех файлов в корневом каталоге, используем команду
Каждый файл прогоняется через команду
Затем список сортируется по убыванию, а первые пять строк отображаются с помощью команды
Чтобы увидеть самые маленькие файлы в системе, вместо
find / -type f. Каждый файл прогоняется через команду
ls -s, которая определяет его размер в блоках (не в байтах). Затем список сортируется по убыванию, а первые пять строк отображаются с помощью команды
head. Чтобы увидеть самые маленькие файлы в системе, вместо
head можно использовать tail или удалить параметр -r из сортировки.При взгляде на имя файла
Так было много лет назад, но сегодня все обстоит иначе. Исторически сложилось, что этот файл должен быть доступен для чтения всем пользователям, поэтому хранить в нем пароли, даже в хешированном виде и с применением модификаторов, рискованно.
В современных системах пароли находятся в другом файле —
Посмотреть его в более удобном виде можно так:
/etc/passwd может сложиться впечатление, что в нем хранится информация о паролях. Так было много лет назад, но сегодня все обстоит иначе. Исторически сложилось, что этот файл должен быть доступен для чтения всем пользователям, поэтому хранить в нем пароли, даже в хешированном виде и с применением модификаторов, рискованно.
В современных системах пароли находятся в другом файле —
/etc/shadow, который обычные пользователи не могут прочитать. Он связывает между собой учетные записи и хешированные, модифицированные пароли. Эта информация позволяет деактивизировать учетную запись по прошествии какого-то времени или в случае, если пользователь долго не менял пароль. Посмотреть его в более удобном виде можно так:
sudo cat /etc/shadow | column -t -s :В Linux предусмотрена специальная переменная
[ Пост с примером использования ]
Значение переменной
$?, в которой хранится значение статуса выхода последней выполненной команды. [ Пост с примером использования ]
Значение переменной
$? необходимо рассматривать или использовать сразу после выполнения команды, статус выхода которой должен быть проверен.В папке
Кроме того, в ней хранятся файлы, содержащие данные о некоторых других свойствах системы.
Следующие примеры показывают, какую информацию можно получить из папки
/proc существуют отдельные директории для каждого работающего процесса (названные в соответствии с их ID), которые содержат информацию о процессе. Кроме того, в ней хранятся файлы, содержащие данные о некоторых других свойствах системы.
Следующие примеры показывают, какую информацию можно получить из папки
/proc в системе Linux:cat /proc/cmdline Показывает параметры, переданные ядру при загрузке. cat /proc/cpuinfo Показывает информацию о процессоре. cat /proc/devices Отображает существующие устройства посимвольного ввода-вывода и блочные устройства.cat /proc/diskstats Отображает диски, разделы и статистику по ним. cat /proc/filesystems Выводит список поддерживаемых ядром файловых систем. nodev означает. что данный тип не используется ни одним устройством. cat /proc/interrupts Просмотр присвоенных IRQ каналов.cat /proc/iomem Показывает адреса физической памяти. cat /proc/ioports Показывает адреса виртуальной памяти.cat /proc/loadavg Показывает 1-. 5-и 15-минутные средние загрузки. Запущенные процессы/общий и наивысший PID.cat /proc/meminfo Доступная оперативная память и файл подкачки.cat /proc/modules Загруженные модули, размер памяти, загруженные копии программы, состояние загруженных зависимостей и память ядра. cat /proc/mounts Информация о смонтированных локальных/удаленных файловых системах.cat /proc/stat Статистика ядра с момента запуска системы.cat /proc/swaps Информация о размере файла подкачки.cat /proc/uptime Секунды с момента загрузки системы/общее количество секунд простоя.cat /proc/version Версия ядра и соответствующего компилятора.KDE, GNOME или XFCE?
В Linux существует много видов рабочих столов и менеджеров окон. Кто из них лучше - это вопрос личных предпочтений и возможностей вашего ПК.
Три самые популярные графические оболочки:
1. KDE
Во многих отношениях KDE имеет схожесть с Windows, поэтому, если вы только переходите на линукс, то это отличный вариант. Требует меньше системных ресурсов, чем Unity, и меньше оперативки, чем GNOME 3.
2. GNOME
Оболочка GNOME сосредоточена на свободе. Хоть и более требовательна к ресурсам компьютера, чем KDE. Включает в себя несколько оконных менеджеров, то есть можно выбрать внешний вид окон и других системных элементов из нескольких существующих вариантов.
3. XFCE
XFCE — Менее ресурсоемкий, чем KDE или Gnome. По своему внешнему виду напоминает Mac OS X. Рабочий стол прост и не перегружен значками. Оболочка занимает очень мало места в памяти, а низкая загрузка ЦП также является его отличительной чертой.
В Linux существует много видов рабочих столов и менеджеров окон. Кто из них лучше - это вопрос личных предпочтений и возможностей вашего ПК.
Три самые популярные графические оболочки:
1. KDE
Во многих отношениях KDE имеет схожесть с Windows, поэтому, если вы только переходите на линукс, то это отличный вариант. Требует меньше системных ресурсов, чем Unity, и меньше оперативки, чем GNOME 3.
2. GNOME
Оболочка GNOME сосредоточена на свободе. Хоть и более требовательна к ресурсам компьютера, чем KDE. Включает в себя несколько оконных менеджеров, то есть можно выбрать внешний вид окон и других системных элементов из нескольких существующих вариантов.
3. XFCE
XFCE — Менее ресурсоемкий, чем KDE или Gnome. По своему внешнему виду напоминает Mac OS X. Рабочий стол прост и не перегружен значками. Оболочка занимает очень мало места в памяти, а низкая загрузка ЦП также является его отличительной чертой.
Разбивка текста на столбцы с помощью команды
Текст можно прочитать как из файла, так и со стандартного ввода, если файл не указан.
Формат вызова:
Параметры:
Пример полезного использования команды - в предыдущем посте.
columnТекст можно прочитать как из файла, так и со стандартного ввода, если файл не указан.
Формат вызова:
column [параметры] [файл] Параметры:
-с n - Задает количество столбцов (число n).-s «символ» - указанный символ будет использоваться в качестве разделителя столбцов.-t - Текст будет форматироваться как таблицы. По умолчанию разделителем полей считается пробел, но с помощью параметра -s можно задать другой разделитель.Пример полезного использования команды - в предыдущем посте.
Команда
Команда
Формат вызова:
Выводит следующую информацию:
==== - все три файла разные;
===1 - первый файл отличается от второго и третьего;
===2 - второй файл отличается от первого и третьего;
===З - третий файл отличается от первого и второго.
Параметры:
diff , для сравнения двух файлов, упоминалась ранее, но что если нужно сравнить сразу три файла?Команда
diff3Формат вызова:
diffЗ [параметры] файл1 файл2 файлЗ Выводит следующую информацию:
==== - все три файла разные;
===1 - первый файл отличается от второго и третьего;
===2 - второй файл отличается от первого и третьего;
===З - третий файл отличается от первого и второго.
Параметры:
-a - сравнивать файлы как текстовые, даже если они бинарные-А - Создание сценария для редактора ed, который показывает в квадратных скобках все отличия между файлами.-e - Создает сценарий для ed, который помещает все отличия между файлами файл2 и файлЗ в файл файл1 (будьте осторожны!)Сгенерировать случайные или последовательные данные можно с помощью заранее установленной утилиты
Генерирует числа, текст, все вместе.
Чтобы вывести последовательность чисел, можно воспользоваться командой:
Чтобы вывести случайные числа:
К примеру, вывести 26 строк начиная с xaa до xaz:
JotГенерирует числа, текст, все вместе.
Чтобы вывести последовательность чисел, можно воспользоваться командой:
jot [кол-во чисел] [начиная с]Чтобы вывести случайные числа:
jot -r [кол-во чисел] [нижний предел] [верхний предел]К примеру, вывести 26 строк начиная с xaa до xaz:
jot -w xa%c 26 aАнализ и перехват сетевого трафика
Утилита
Для захвата пакетов, проходящих через определенный интерфейс, к примеру eth1:
Захватает только определенное кол-во строк, например 5:
Чтобы просматривать пакеты, приходящие на определенный порт, используем:
Для перехвата пакетов, приходящих или исходящих от определенного хоста:
Для перехвата пакетов протокола
Утилита
tcpdump — отличный инструмент, который способен перехватывать и анализировать сетевой трафик. Для захвата пакетов, проходящих через определенный интерфейс, к примеру eth1:
tcpdump -i eth1Захватает только определенное кол-во строк, например 5:
tcpdump -c 5Чтобы просматривать пакеты, приходящие на определенный порт, используем:
tcpdump -i eth1 port 80Для перехвата пакетов, приходящих или исходящих от определенного хоста:
tcpdump host 10.0.2.15Для перехвата пакетов протокола
ICMP, проходящие через все сетевые интерфейсы компьютера:tcpdump –i any icmpCкрипт сравнивает указанные в качестве параметров две директории по содержимому на основе информации дате их изменения.
Пример вывода:
Пример вывода:
> test1 (старее в dir2/)> test2 (старее в dir2/)- test4 (отсутствует в dir2/)< test5 (старее в dir1/)+ test3 (отсутствует в dir1/)test1..5 - тестовые файлы в тестовых директориях dir1 и dir2Вывести список устройств USB можно с помощью команды
Если запустить команду без параметров, то на экране будет краткая сводка об устройствах USB в вашей системе.
Перечисляются шины USB и подключенные к ним устройства, включая мыши, клавиатуры, USB-накопители, принтеры, смартфоны и другие периферийные устройства.
Для получения более подробной информации в виде иерархии, включающей в себя драйверы ядра, коды устройств и номера производителей и портов, надо запустить команду с параметром
lsusb Если запустить команду без параметров, то на экране будет краткая сводка об устройствах USB в вашей системе.
Перечисляются шины USB и подключенные к ним устройства, включая мыши, клавиатуры, USB-накопители, принтеры, смартфоны и другие периферийные устройства.
Для получения более подробной информации в виде иерархии, включающей в себя драйверы ядра, коды устройств и номера производителей и портов, надо запустить команду с параметром
-tv.Утилита управления сетевым экраном
С ее помощью создаются правила, которые управляют фильтрацией и перенаправлением пакетов.Есть несколько основных базовых понятий для работы с iptables: правило, таблица и цепочка.
Правило состоит из критерия, действия и счетчика. Если пакет соответствует критерию (требованию), то к нему принимается действие и этот пакет учитывается счетчиком.
Таблица – совокупность базовых и пользовательских цепочек, объеди- ненных общим функциональным назначением.
Цепочкой является упорядоченная последовательность правил. Существует пять базовых цепочек:
Например, чтобы запретить весь входящий трафик:
Чтобы удалить все правила используется команда
iptables С ее помощью создаются правила, которые управляют фильтрацией и перенаправлением пакетов.Есть несколько основных базовых понятий для работы с iptables: правило, таблица и цепочка.
Правило состоит из критерия, действия и счетчика. Если пакет соответствует критерию (требованию), то к нему принимается действие и этот пакет учитывается счетчиком.
Таблица – совокупность базовых и пользовательских цепочек, объеди- ненных общим функциональным назначением.
Цепочкой является упорядоченная последовательность правил. Существует пять базовых цепочек:
PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING.Например, чтобы запретить весь входящий трафик:
iptables -A INPUT -j DROPЧтобы удалить все правила используется команда
iptables –FОднострочник, показывающий 15 самых часто используемых вами команд в Bash:
Последняя цифра задает нужное количество вывода.
Код текстом, чтобы было удобно просто скопировать и проверить.
cat ~/.bash_history | tr "\|\;" "\n" | sed -e "s/^ //g" | cut -d " " -f 1 | sort | uniq -c | sort -n | tail -n 15Последняя цифра задает нужное количество вывода.
Код текстом, чтобы было удобно просто скопировать и проверить.
Определение оборудования PCI с помощью команды
Команда
Чтобы получить список устройств, подключенных к шине с названиями производителей и номерами версий, можно использовать команду без параметров:
Получим подобное:
[
[
Номер шины —
Чтобы получить больше информации, можно увеличить вывод:
lspci Команда
lspci читает информацию с шины PCI (локальная аппаратная шина), к которой подключены встроенные компоненты на материнской плате, а также карты расширения, вставленные в слоты PCI. Чтобы получить список устройств, подключенных к шине с названиями производителей и номерами версий, можно использовать команду без параметров:
lspciПолучим подобное:
[
...]00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode][
...] 00:1f.2 — это номер BDF устройства: ( шина:устройство.функция ). Номер шины —
00, номер устройства — 1f и номер функции — 2. Чтобы получить больше информации, можно увеличить вывод:
lspci -vlspci -vv lspci -vvv