Linux для чайника – Telegram
Linux для чайника
20K subscribers
87 photos
1 video
4 files
78 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Чтобы каждый раз не мониторить завершение какого-либо долгого процесса, к примеру, бэкапа или сборки пакетов, можно применить звуковой сигнал по его завершении.

Пример псевдокода:
some_long_command; echo $'\a'

; - отделяет команды друг от друга.
echo $'\a' - подаст звуковой сигнал.
Сочетание команд find и grep

Комбинация этих команд позволяет искать файлы с помощью find, а затем искать определенное содержимое в этих файлах с помощью grep.

Найти определенный текстовый шаблон в файлах в каталоге и его подкаталогах:
find /path/to/search -type f -exec grep -H "pattern" {} +

Найдите файлы, измененные в пределах временного диапазона, а затем выполните поиск внутри них:
find /path/to/search -type f -mtime -7 -exec grep -H "pattern" {} +

Найти файлы с расширением .txt и затем найти в них шаблон:
find /path/to/search -type f -name "*.txt" -exec grep -H "pattern" {} +
Анализ логов с агрегацией и сортировкой

Условие:
Есть лог веб-сервера access.log в формате:
IP - - [date] "METHOD URL HTTP/1.1" STATUS SIZE
Пример:
192.168.1.10 - - [01/Feb/2026:10:12:34] "GET /api/users HTTP/1.1" 200 1234

Задача:
Вывести топ-5 IP, которые сделали больше всего запросов с кодом 500.

Решение:
awk '$9 == 500 {print $1}' access.log \
| sort \
| uniq -c \
| sort -nr \
| head -5


awk '$9 == 500 {print $1}'
• • $9 — HTTP-код
• • $1 — IP-адрес
sort — обязательная подготовка для uniq
uniq -c — считаем количество повторений
sort -nr — числовая сортировка по убыванию
head -5 — топ-5
Где вы окажетесь завтра, зависит от того, что вы изучаете сегодня. PostgreSQL — инструмент, который ищут компании, а грамотных специалистов по нему все еще немного.

Почему именно PostgreSQL? Потому что это не просто база данных, а сердце ваших проектов. Если вы администратор БД, разработчик, DevOps или администратор Linux, этот курс — ваш апгрейд.

Мы научим настраивать кластеры, оптимизировать производительность, разбираться с блокировками и решать задачи работы с большими объемами данных. А также живые лекции, практические задания и диплом, который признают лидеры рынка. Учитесь у практиков, которые знают, как решать реальные задачи, и получите навыки, за которые платят топовые компании.

Присоединяйтесь к курсу «PostgreSQL для администраторов баз данных и разработчиков» сейчас и начните свой путь к высокооплачиваемой карьере!

Оставить заявку: https://otus.pw/VeBi/

🎁Бонус: скидка 5% на обучение по промокоду go_dba. Предложение действительно до 12.02

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Контроль активности пользователя

Чтобы мониторить действий пользователей в системе, можно использовать два приложения — psacct или acct.

Они предоставляют отличный способ отслеживать, что делают пользователи, какие команды они запускают, сколько ресурсов они потребляют, как долго пользователи активны в системе. Еще одна замечательная особенность в том, что она дает общие ресурсы, потребляемые такими службами, как Apache, MySQL, FTP, SSH и т.д.

Команды для мониторинга действий процесса:
 ⁃ ac — выводит статистику пользовательских входов/выходов (время подключения) в часах.
 ⁃ lastcomm — печатает информацию о ранее выполненных командах пользователя.
 ⁃ accton — используются для включения/выключения процесса учета.
 ⁃ sa — суммирует информацию о ранее выполненных командах.
 ⁃ last и lastb — показывают список последних зарегистрированных пользователей.

Пакет psacct доступен только для дистрибутивов на основе rpm (RHEL, CentOS и Fedora), а acct — для Ubuntu, Debian и Linux Mint.
Получить всю информацию о компонентах компьютера можно с помощью команды lshw

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

Поэтому следует немного отфильтровать поток, запустив: sudo lshw -short или sudo lshw -businfo, чтобы увидеть список классов устройств, которые дальше можно передать утилите.

Пример вывода информации с конкретными классами:
sudo lshw -short -class bus -class cpu 

Вывод можно преобразовать в форматы HTML, XML или JSON, к примеру:
sudo lshw -html -class storage > log.html 

Чтобы убрать из вывода информацию, такую как IP адреса и серийные номера, можно добавить параметр -sanitize
Изменения владельца файла или директории

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

С этим может помочь команда chown.

Чтобы предоставить пользователю с именем name возможность распоряжаться файлом file.txt:
chown name file.txt

Помимо изменения владельца файла, может изменяться группа его владельцев или его владелец и группа его владельцев одновременно.

В результате команды:
chown name:group file.txt
владельцем file.txt станет пользователь с именем name, а группой его владельцев — group.
Создаем файл устройства

В качестве примера рассмотрим процесс создания дополнительного файла loop-устройства.

Для начала следует получить список доступных в системе файлов loop-устройств: ls -al /dev | grep loop

Далее представим, что команда ls вывела 15 файлов loop-устройств (от loop0 до loop14). Исходя из этого, следует создать файл с именем loop15:
mknod -m 0777 /dev/loop15 b 7 17

где -m - флаг, задающий права доступа
0777 - права доступа
/dev/loop15 - название /dev файла
b - обозначение блочного устройства
идентификатор 7 - фиксирован для всех файлов loop-устройств
вспомогательный идентификатор 15 - указывает на номер файла loop-устройства.
Вывести размер папки

Рассмотрим, как вывести размер всей папки и размер без учета вложенных папок.

Допустим, у вас есть какая-то папка folder. Тогда команда для вывода ее размера выглядит следующим образом:
sudo du -sh /home/dir/to/some/folder

-s – выводить только размер самой папки, без вложенных подпапок.
-h – выводить информацию в привычном виде. Речь о единицах измерения (K – килобайт, M – мегабайт и т. д.).

Также вы можете посмотреть общий размер только самих файлов в папке, без учета содержимого подпапок. Для этого используется опция -S:
sudo du -sSh /home/dir/to/some/folder
Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым.

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.

Отредактируем файл .bashrc

добавив в него строки:

shopt -s histappend

PROMPT_COMMAND='history -a'

Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash.
This media is not supported in your browser
VIEW IN TELEGRAM
Устали от бесконечных миграций схемы под каждый новый атрибут в логах? Выбираете между скоростью запросов и гибкостью хранения динамических JSON?

На живом примере разберем стратегии работы с полуструктурированными данными в ClickHouse:


Schema-on-Read vs Schema-on-Write: Когда и какой подход выбрать для баланса скорости, гибкости и стоимости.

Гибридные модели и Native JSON: Практическое использование современных возможностей ClickHouse.

Настройка и типичные запросы: Пишем DDL и сравниваем производительность разных подходов на реальных данных.

Спикер — Никита Елисеев, Senior Data Engineer. Узнайте из первых рук, как строить эффективные решения, а не костыли.

Зарегистрируйтесь, чтобы получить работающие решения и перестать «ломать» данные под базу: регистрация

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Команда curl

curl утилита командной строки для передачи данных с или на сервер. С помощью curl вы можете загружать или выгружать данные, используя один из поддерживаемых протоколов, включая HTTP, HTTPS, SCP, SFTP и FTP

Запрос страницы
curl google.com
Команда напечатает исходный код google.com в окне вашего терминала.

Скачивание файла
curl -O https://domain.com/testzip.tar.gz

Получение заголовка HTTP
Если вы хотите посмотреть, какие заголовки отдает сервер, то можно использовать опцию -I. Она позволяют получить заголовок без тела документа.
curl -I https://www.google.com


Измерение продолжительности соединения 
Можно использовать опцию -w для отображения информации в stdout после завершения передачи. Узнаем общее время, которое потребовалось для успешного выполнения запроса:
curl -w "%{time_total}\n" -o /dev/null -s www.test.com