Linux, please
6.06K subscribers
482 photos
8 videos
696 links
Всё о Linux 🐧

🍻 Чат - @UnderChats

🖥 Все наши каналы - @under_channels0x41

👉 Реклама - @under0x41_reklama
Download Telegram
Сравнениваем два файла

Скрипт сравнит два текстовых файла и выведет строки, которые есть в первом файле, но отсутствуют во втором.

#!/bin/bash
file1="file1.txt"
file2="file2.txt"

comm -13 <(sort "$file1") <(sort "$file2")


sort "$file1" и sort "$file2" — сортируют оба файла для корректного сравнения.
comm -13 — выводит строки, которые есть только в первом файле. Параметр -1 исключает строки, которые есть только во втором файле, а -3 исключает общие строки.
👍5
Автоматическая очистка временных файлов

Cкрипт будет удалять файлы из директории /tmp, которые не изменялись более 7 дней.

#!/bin/bash
find /tmp -type f -mtime +7 -exec rm {} \;


find /tmp — ищет файлы в директории /tmp.
-type f — ищет только файлы (не каталоги).
-mtime +7 — находит файлы, которые не изменялись более 7 дней.
-exec rm {} \; — удаляет найденные файлы.
🔥5
Как просмотреть ASCII/HEX файлы?

Так как в таблице ASCII некоторым кодам соответствуют непечатные символы, то некоторые файлы не может быть целиком просмотрены или распечатаны в текстовом режиме.

Но иногда очень нужно посмотреть содержимое этих файлов. В таких случаях поможет команда gitview.

Чтобы посмотреть файл file.hex:
gitview -c /home/rootlocal/file.hex
Находим и удаляем дубликаты в файле

Условие: У вас есть текстовый файл file.txt, в котором могут быть дубликаты строк. Напишем команду, которая удалит дубликаты и сохранит результат в новом файле unique.txt.

sort file.txt | uniq > unique.txt


Команда sort сортирует строки в файле, а uniq удаляет дубликаты, оставляя только уникальные строки. Результат перенаправляется в новый файл unique.txt.
👍3👎2
Получение информации об изображении

Команда identify предоставляет подробную информацию об изображении:
⁃ Формат изображения (например, JPEG, PNG, GIF)
⁃ Размеры (ширина и высота) изображения
⁃ Глубина изображения (количество цветов или уровней)
⁃ Цветовые профили и информация профиля ICC
⁃ Сведения о сжатии (если применимо)
⁃ Другие свойства и характеристики изображения

Синтаксис:
identify image.jpg

Например, вывод может выглядеть так:
image.jpg JPEG 1920x1080 1920x1080+0+0 8-bit sRGB 1.8MB 0.000u 0:00.000
👍1
Утилита vulkaninfo

vulkaninfo — утилита командной строки, предоставляющая подробную информацию о реализации Vulkan API на устройстве.

Примеры использования:

1. Вывод всей информации о Vulkan:
vulkaninfo


2. Фильтр для ключевых данных о GPU:
vulkaninfo | grep -i device


3. Сохранение информации в файл:
vulkaninfo > vulkan_report.txt
👍1
Утилиты для диагностики драйверов

lshw — информация о железе.

lsmod — проверка загруженных модулей ядра.

lspci и lsusb — информация о подключенных устройствах.

dmesg — системные логи для диагностики ошибок драйверов.

glxinfo и vulkaninfo — диагностика графического стека.

nvidia-smi — управление драйверами NVIDIA.
Выборка файлов для поиска с помощью grep

Команда grep позволяет фильтровать файлы, в которых нужно искать текст.

Чтобы выполнить поиск только по файлам с определенным расширением, например, .txt нужно использовать опцию --include:
grep -r --include=«*.txt» <слово> </путь/к/папке>

А для того чтобы исключить все файлы с расширением .txt используйте опцию --exclude:
grep -r --exclude=«*.txt» <слово> </путь/к/папке>
👍4
Команда modinfo

Выводит информации о модуле: файл модуля, краткое описание, авторы, лицензия, параметры

modinfo <опция> <имя_модуля|имя_файла>
Если имя модуля не является именем файла, то будет выполнен поиск в каталоге /lib/modules/версия

Опции:
-V либо --version — Вывести версию modinfo.
-F либо --field — Вывести только значение этого поля, по одному в строке. 
-k — Предоставить информацию о другом ядре, а не о используемом в настоящее время. Эта возможность может потребоваться для извлечения информации из недавно установленного набора модулей.
🔥1
Поиск блочных устройств

Блочное устройство (block device) — вид файла устройств в UNIX/Linux-системах, обеспечивающий интерфейс к устройству, реальному или виртуальному, в виде файла в файловой системе.

Типичные примеры блочных устройств: жёсткий диск, CD-ROM, НГМД.

Чтобы выполнить поиск блочных устройств для создания физических томов на их основе, можно воспользоваться командой lvmdiskscan.
1👎1🤡1
Инструмент для создания дипфейков

DeepFaceLab - Мощный софт для замены лиц на видео и изображениях. Полностью бесплатный и доступен на GitHub.

Особенности:
— Поддержка видео и картинок
— Инструкция по установке на GitHub


Скачать на GitHub
😁71🔥1
Просмотр физических томов

Физический том (physical volume) — устройство, представляющееся системе как один диск (жёсткий диск или его раздел, RAID-массив).

Для просмотра информации о физических томах LVM используются команды pvs, pvdisplay и pvscan.

pvs позволяет настроить формат вывода, показывая по одному тому в каждой строке.

pvdisplay формирует подробный отчет для каждого физического тома, включая информацию о размере, экстентах, группе томов и пр. Формат вывода фиксирован.

pvscan проверяет все поддерживаемые блочные устройства в системе на предмет наличия физических томов.
👍51
Считаем контрольные суммы файлов

Подсчитать контрольные суммы файлов можно с помощью нескольких команд: cksum, md5sum, sha1sum и sha256sum.

Контрольная сумма - последовательность цифр и букв, используемых для проверки целостности данных на наличие ошибок.

Синтаксис команд прост, как никогда:

cksum <filename>

md5sum <filename>

sha1sum <filename>

sha256sum <filename>
👍42
Считаем контрольные суммы файлов

Подсчитать контрольные суммы файлов можно с помощью нескольких команд: cksum, md5sum, sha1sum и sha256sum.

Контрольная сумма - последовательность цифр и букв, используемых для проверки целостности данных на наличие ошибок.

Синтаксис команд прост, как никогда:

cksum <filename>

md5sum <filename>

sha1sum <filename>

sha256sum <filename>
👍21
Создаем файл устройства

В качестве примера рассмотрим процесс создания дополнительного файла 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-устройства.
2👍1
Очищаем дисковый кеш в Linux

В некоторых случаях может оказаться полезным записать содержимое кеша на диск.

В Linux это можно сделать, записав 1, 2 или 3 в /proc/sys/vm/drop_caches. Запись этих значений заставит ядро освободить память, используемую для кеширования, записав ее содержимое на диск.

!Перед выполнением этой операции лучше запустить sync, иначе занятые элементы останутся в памяти!

Для очистки pagecache:
echo 1 > /proc/sys/vm/drop_caches

Для очистки dentries и inodes:
echo 2 > /proc/sys/vm/drop_caches

Для очистки pagecache, dentries и inodes:
echo 3 > /proc/sys/vm/drop_caches
👍5
Создание файловой системы (ФС)

Чтобы создать файловую систему, можно воспользоваться утилитой mkfs.

Файловую систему можно создать двумя способами:
mkfs -t [тип ФС] [диск или раздел]

или

mkfs.[тип ФС] [диск или раздел]

Типы файловой системы могут быть: ext2, ext3, ext4, fat, ntfs, xfc.
1👍1
Создаем пользовательский отчет

Скрипт создает отчет о текущих пользователях в системе и сохраняет его в файл user_report.txt. (Отчет содержит имя пользователя, его UID и время последнего входа).

#!/bin/bash
output_file="user_report.txt"
echo "User Report" > "$output_file"
echo "===================" >> "$output_file"
cut -d: -f1,3,6 /etc/passwd | while IFS=: read user uid home; do
last_login=$(last -n 1 "$user" | head -n 1 | awk '{print \$4, \$5, \$6, \$7}')
echo "$user (UID: $uid) - Last login: $last_login" >> "$output_file"
done


cut -d: -f1,3,6 /etc/passwd — извлекает имя пользователя, UID и домашнюю директорию из файла /etc/passwd.
last -n 1 "$user" — получает информацию о последнем входе пользователя.
2👍2🔥1
Копирование файлов с фильтрацией

Скопируем все файлы из каталога /source в /destination, исключая файлы с расширением .log.

Пример:

rsync -av --exclude='*.log' /source/ /destination/

rsync -av — копирует файлы с сохранением атрибутов.
--exclude='*.log' — исключает файлы с указанным расширением.
👍31
Находим и удаляем пустые файлы

Найдем и удалим все пустые файлы в директории
/path/to/directory.

Пример:
find /path/to/directory -type f -empty -delete

Команда find ищет пустые файлы (-empty) и удаляет их с помощью опции -delete.
👍4