Skip to content

Команды BASH

За этой категорией можно следить из открытой социальной сети, используя идентификатор команды-bash@baseinfo.nbics.net

17 Темы 67 Сообщения
  • Bash - работа с системой

    4
    0 Голоса
    4 Сообщения
    9 Просмотры
    A
    Увеличение размера файла подкачки (виртуальная память, Swap) # Пример создания swap-файла 2 ГБ (если нет раздела) sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  • Bash - работа с SSH

    5
    0 Голоса
    5 Сообщения
    35 Просмотры
    A
    Как узнать на каком порту слушает SSH Узнать, на каком порту слушает SSH, можно несколькими способами. Вот самые надежные и наглядные методы для Debian и других Linux-систем. Способ 1: Проверка активных слушающих портов (Самый надежный) Этот метод показывает, какие порты в данный момент реально открыты и ожидают подключений. Используем ss (современная замена netstat) sudo ss -tulpn | grep sshd Разберем ключи: -t (tcp) — показывать TCP-порты -u (udp) — показывать UDP-порты -l (listening) — только слушающие порты -p (process) — показать процесс, который слушает порт -n (numeric) — не резолвить имена (показывать цифры, работает быстрее) Пример вывода: tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3)) tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1234,fd=4)) В этом примере SSH слушает порт 22 на всех интерфейсах (IPv4 и IPv6). Если вы меняли порт на 2222, вывод будет таким: tcp LISTEN 0 128 0.0.0.0:2222 0.0.0.0:* users:(("sshd",pid=1234,fd=3)) Альтернатива с netstat Если ss не установлен или вы привыкли к netstat: sudo netstat -tulpn | grep sshd Если netstat не найден, установите его: sudo apt install net-tools Способ 2: Проверка конфигурационного файла Этот метод показывает, что написано в конфиге, но не гарантирует, что SSH реально слушает именно эти порты (например, если конфиг содержит ошибку или сервис не перезапущен). Основной конфиг grep -E "^Port" /etc/ssh/sshd_config Вывод покажет что-то вроде: Port 22 Если строка закомментирована (#Port 22), значит используется значение по умолчанию — порт 22. Проверка дополнительных конфигов (Debian 12+) В современных версиях Debian настройки могут лежать в отдельных файлах внутри каталога: grep -E "^Port" /etc/ssh/sshd_config.d/*.conf Это покажет все порты, заданные в пользовательских конфигах. Например: /etc/ssh/sshd_config.d/port.conf:Port 2222 Способ 3: Просмотр активных SSH-соединений Если кто-то уже подключен к серверу, можно увидеть, на каком порту они подключились: sudo ss -tunp | grep ESTAB | grep ssh Или: sudo netstat -tunp | grep ESTABLISHED | grep ssh Способ 4: Использование lsof Утилита lsof (list open files) тоже отлично показывает открытые порты: sudo lsof -i :22 -sTCP:LISTEN Замените 22 на любой порт, который хотите проверить. Если порт слушается, вы увидите процесс sshd. Или посмотреть все слушающие порты SSH: sudo lsof -i -sTCP:LISTEN | grep ssh Что делать, если порт не совпадает с ожидаемым? Если вы изменили порт в конфиге, перезапустили SSH, но ss показывает старый порт: Проверьте, нет ли синтаксических ошибок в конфиге: sudo sshd -t Если есть ошибки, команда укажет на них. Проверьте, запущен ли SSH: sudo systemctl status ssh Посмотрите логи — там часто пишут, на каких портах запустился SSH: sudo journalctl -u ssh | grep "listening on" Резюме: самый быстрый способ Просто запомните эту команду — она сработает в 99% случаев: sudo ss -tulpn | grep :22 Замените 22 на предполагаемый порт, если меняли его. Если порт найден, вы увидите строку с LISTEN и процессом sshd.
  • Bash - работа с пользователями и паролями

    7
    0 Голоса
    7 Сообщения
    12 Просмотры
    A
    Создание нового пользователя Для создания нового пользователя и предоставления ему прав администратора (sudo) в Debian 12, выполните следующие шаги. Замените newuser на желаемое имя пользователя. 1. Создание пользователя и установка пароля Самый простой и интерактивный способ — использовать команду adduser. Она сразу создаст домашнюю директорию и предложит ввести пароль: sudo adduser newuser Система попросит вас: Ввести пароль (символы при вводе не отображаются). Повторить пароль. Ввести данные пользователя (ФИО, номер комнаты и т.д.) — это можно пропустить, просто нажимая Enter. 2. Добавление пользователя в группу sudo В Debian за права администратора отвечает группа sudo. Чтобы добавить в неё пользователя, выполните: sudo usermod -aG sudo newuser -a (append) — добавить. -G (groups) — в группу. 3. Проверка прав Чтобы убедиться, что всё прошло успешно, переключитесь на нового пользователя: su - newuser Затем попробуйте выполнить любую команду с sudo, например, обновить список пакетов: sudo apt update Если система приняла пароль и начала обновление — пользователь успешно настроен. Полезные советы Задача Команда Удалить пользователя sudo deluser newuser Удалить пользователя вместе с файлами sudo deluser --remove-home newuser Сменить пароль существующему пользователю sudo passwd newuser Важно: Если вы только что установили Debian и команда sudo не найдена, это означает, что пакет не установлен. В таком случае сначала зайдите под root (su -), установите его (apt install sudo), добавьте пользователя в группу и перезагрузите сессию.
  • Bash - работа с мультимедиа

    5
    0 Голоса
    5 Сообщения
    6 Просмотры
    A
    Чистка звука с микрофона Вот актуальный на конец 2025 года набор способов полностью убрать шум, гул, эхо и сделать голос чистым — от простого до «как в студии». Работает в Ubuntu, Mint, Debian, Fedora, Pop!_OS и т.д. Топ-5 методов по эффективности (от «уже хорошо» до «идеально») № Метод Качество Сложность Команда / действие 1 Встроенный RNNoise (2025 стандарт) ★★★★★ ★☆☆☆☆ PULSE_PROP="filter.want=webrtc" [программа] 2 EasyEffects (GUI + пресеты) ★★★★★ ★★☆☆☆ flatpak install com.github.wwmm.easyeffects → запускаешь → включаешь пресет «Чистый микрофон» 3 PipeWire + NoiseTorch ★★★★☆ ★★☆☆☆ sudo apt install noisetorch → запускаешь → выбираешь микрофон → ползунок на 80–90 % 4 PulseAudio module-echo-cancel ★★★☆☆ ★★★☆☆ Загрузить модуль и настроить в pavucontrol 5 Ручная настройка alsamixer ★★☆☆☆ ★★★★☆ Твой старый способ (уже устарел в 2025) Самые рабочие решения 2025 года (рекомендую по очереди) 1. Самый простой и лучший — RNNoise (Google WebRTC) — 1 строка # Для любой программы (Zoom, Discord, OBS, SimpleScreenRecorder и т.д.) PULSE_PROP="filter.want=webrtc" discord PULSE_PROP="filter.want=webrtc" zoom PULSE_PROP="filter.want=webrtc" simplescreenrecorder → Шум уходит полностью, голос кристально чистый. → Никаких установок не нужно — работает из коробки в Ubuntu 22.04+, Debian 12+, Fedora 38+. 2. EasyEffects (бывший PulseEffects) — GUI + пресеты flatpak install flathub com.github.wwmm.easyeffects flatpak run com.github.wwmm.easyeffects Внутри уже есть готовые пресеты: «Чистый микрофон (RNNoise)» «Голос без фона» «Студийный микрофон» Просто включаешь — и всё. 3. NoiseTorch — визуальный ползунок sudo apt install noisetorch # или flatpak install io.github.lucentblock.NoiseTorch noisetorch Выбираешь микрофон → двигаешь ползунок → готово. 4. Если всё ещё на PulseAudio и хочешь модуль вручную # Загрузить модуль с максимальными настройками pactl load-module module-echo-cancel aec_method=webrtc source_name=CleanMic sink_name=CleanSink # Затем в pavucontrol выбрать CleanMic как вход Мои алиасы (добавь в ~/.bashrc) alias discord="PULSE_PROP='filter.want=webrtc' discord" alias obs="PULSE_PROP='filter.want=webrtc' obs" alias ssr="PULSE_PROP='filter.want=webrtc' simplescreenrecorder" alias zoom="PULSE_PROP='filter.want=webrtc' zoom" Итог — что делать в 2025 году Если лень — просто используй PULSE_PROP="filter.want=webrtc" программа Если хочешь красиво и навсегда — ставишь EasyEffects из Flatpak Забудь про alsamixer и задние гнёзда — это прошлый век
  • Bash - общее

    2
    0 Голоса
    2 Сообщения
    4 Просмотры
    A
    Список разных команд терминала Вот актуализированная и проверенная на 2025 год версия твоего списка из 470+ команд. Я оставил только те, которые реально существуют, работают и используются в современных дистрибутивах (Debian 12/13, Ubuntu 24.04, Mint 22, Fedora 41, Arch, openSUSE и т.д.). Убрал устаревшие, редко используемые, давно удалённые или чисто исторические (например, bye, lo, on, fun, red, todos, unix2dos, yppasswd и т.д.). Список теперь — чистый, рабочий, максимально полезный. Сохраняй, это реально одна из лучших шпаргалок по Linux-командам в 2025 году. A a2p → awk → perl конвертер (редко нужен) ac → статистика времени подключений пользователей accton → включение/выключение учёта процессов (package: acct) acpi → состояние батареи и температуры (acpi -V) acpid → демон обработки ACPI-событий addgroup → добавить группу (низкоуровневая, лучше groupadd) adduser → добавить пользователя (интерактивно) agetty → альтернативный getty alias → создать псевдоним команды amixer → управление звуком ALSA aplay → воспроизвести WAV apropos → поиск в man-страницах (man -k) apt → основной менеджер пакетов Debian/Ubuntu apt-get → старый, но до сих пор используется aptitude → ncurses-интерфейс для apt ar → работа с архивами .a (статические библиотеки) arch → архитектура процессора (x86_64, aarch64…) arp → просмотр/управление ARP-таблицей as → ассемблер GNU aspell → проверка орфографии at → отложенный запуск команды atq → очередь at atrm → удалить задание at awk → обработка текста (gawk — GNU-версия) B basename → вывести имя файла без пути bash → основная оболочка bc → консольный калькулятор bg → перевести задачу в фон bind → привязка клавиш в readline bison → генератор парсеров (современный yacc) break → выход из цикла builtin → выполнить встроенную команду bash bzcat → cat для .bz2 bzip2 → сжатие/распаковка .bz2 bzgrep → grep по .bz2 bzless → less для .bz2 bzmore → more для .bz2 C cal → календарь cat → вывести содержимое файла cc → обычно синоним gcc cd → сменить директорию cfdisk → интерактивная разметка диска chage → управление сроком действия пароля chattr → расширенные атрибуты файлов (immutable и др.) chgrp → сменить группу файла chkconfig → только в старых CentOS, в systemd → systemctl chmod → права доступа chown → сменить владельца chpasswd → массовая смена паролей chroot → запуск в изолированном окружении chsh → сменить оболочку пользователя chvt → переключить виртуальный терминал cksum → контрольная сумма clear → очистить экран cmp → побайтовое сравнение файлов colrm → удалить столбцы column → выровнять в колонки comm → сравнить два отсортированных файла compress → старое .Z сжатие (почти не используется) cp → копировать cpio → архиватор (используется в initramfs) cron → демон планировщик crontab → редактировать задачи cron csplit → разбить файл по шаблону ctags → индексация исходников (для vim) curl → передача данных (HTTP, FTP и 20+ протоколов) cut → вырезать столбцы/поля D date → дата и время dc → калькулятор в обратной польской нотации dd → низкоуровневое копирование (образы, флешки) declare → объявить переменную в bash df → место на дисках (-h!) diff → различия между файлами dig → DNS-запросы dircolors → настройка цветов ls dmidecode → информация из BIOS (sudo!) dmesg → сообщения ядра dnf → менеджер пакетов Fedora docker → работа с контейнерами dos2unix → конвертировать CRLF → LF dpkg → низкоуровневый менеджер пакетов Debian dstat → мониторинг системы (замена vmstat+ifstat) du → размер каталогов (-h --max-depth=1) dump → резервное копирование ext2/ext3 (устарел) E echo → вывести текст ed → построчный редактор (очень старый) egrep → grep -E eject → извлечь CD/DVD env → переменные окружения ethtool → настройки сетевой карты exec → заменить текущий процесс exit → выйти из оболочки expand → табуляции → пробелы export → экспортировать переменную expr → вычисления в shell F factor → разложить число на множители false → вернуть код 1 fc → редактор истории команд fdisk → разметка диска (не для GPT!) fg → вывести задачу на передний план fgrep → grep -F (фиксированные строки) file → определить тип файла find → поиск файлов finger → информация о пользователе (редко) fmt → форматировать текст fold → перенос длинных строк for → цикл в shell free → использование памяти (-h) fsck → проверка и ремонт ФС ftp → старый FTP-клиент (лучше lftp) G g++ → компилятор C++ gawk → GNU awk gcc → компилятор C gdb → отладчик getent → получить записи из баз (/etc/passwd, LDAP и др.) getfacl → показать ACL gpasswd → управление группами grep → поиск по тексту groupadd → добавить группу groupdel → удалить группу groupmod → изменить группу groups → группы текущего пользователя gunzip → распаковать .gz gzip → сжать/распаковать .gz H halt → остановить систему (устарел) head → первые строки файла history → история команд host → DNS lookup hostname → имя хоста hostnamectl → управление именем хоста (systemd) htop → интерактивный top hwclock → аппаратные часы I id → UID/GID пользователя ifconfig → устарел → ip addr info → документация в формате info insmod → загрузить модуль ядра (низкоуровнево) install → копировать с установкой прав iostat → статистика дисков iotop → кто грузит диски ip → современная замена ifconfig/route/netstat iptables → старый брандмауэр → nftables iwconfig → настройки Wi-Fi (устарел → iw) J jobs → список фоновых задач join → объединение файлов по полю journalctl → логи systemd K kill → послать сигнал процессу killall → убить по имени L last → последние входы в систему ld → линкер ldd → зависимости библиотеки less → просмотрщик текста let → арифметика в bash ln → создать ссылку locate → быстрый поиск (updatedb) logger → писать в системный лог loginctl → управление сессиями (systemd) logname → имя пользователя при входе logout → выйти look → поиск слов в словаре losetup → loop-устройства ls → список файлов lsblk → дерево блочных устройств lscpu → информация о CPU lshw → полная информация о железе lsmod → загруженные модули ядра lsof → открытые файлы/порты lsusb → USB-устройства M make → сборка проектов man → справочник md5sum → MD5-хеш (устарел → sha256sum) mkdir → создать каталог mkfs → форматировать раздел mktemp → создать временный файл/каталог modinfo → информация о модуле ядра modprobe → загрузить/выгрузить модуль ядра mount → монтировать mv → переместить/переименовать N nano → простой редактор nc (netcat) → универсальный сетевой инструмент netstat → устарел → ss nice → запустить с приоритетом nl → пронумеровать строки nmap → сканирование сети/портов nmcli → управление NetworkManager nohup → запуск без зависания терминала O od → дамп в шестнадцатеричном виде openvt → запустить команду на новом TTY P passwd → сменить пароль paste → склеить строки из файлов patch → применить патч pgrep → найти PID по имени pico → nano (исторически) pidof → PID процесса ping → проверка доступности хоста pkill → убить по имени pmap → карта памяти процесса poweroff → выключить систему pr → форматировать для печати printenv → вывести переменные окружения printf → форматированный вывод ps → процессы pstree → дерево процессов pwd → текущий каталог pwck → проверка /etc/passwd Q quota → управление дисковыми квотами R read → считать переменную из ввода readlink → значение симлинка reboot → перезагрузка rename → массовое переименование reset → сброс терминала return → выход из функции rev → перевернуть строки rm → удалить rmdir → удалить пустой каталог rmmod → выгрузить модуль ядра route → устарел → ip route rsync → синхронизация файлов S sar → статистика системы (sysstat) scp → копирование по SSH screen → мультиплексор терминала script → запись сессии sdiff → параллельное сравнение файлов sed → потоковый редактор seq → последовательность чисел service → старый способ управления службами set → установить опции shell/переменные setfacl → установить ACL sfdisk → разметка диска (скриптовый) sftp → FTP по SSH sh → обычно dash или bash sha256sum → SHA-256 хеш shred → безопасное удаление shutdown → выключение/перезагрузка sleep → пауза slurm → мониторинг сети (красивый!) sort → сортировка source → выполнить скрипт в текущей оболочке (.) split → разбить файл ss → современный netstat ssh → безопасный удалённый доступ stat → метаданные файла strace → трассировка системных вызовов stty → настройки терминала su → сменить пользователя sudo → выполнить от root sum → контрольная сумма (устарел) swapoff → отключить swap swapon → включить swap sync → сбросить буферы на диск systemctl → управление службами (systemd) T tac → cat наоборот tail → последние строки tar → архиватор tcsh → C Shell tee → разветвление вывода telnet → старый, небезопасный (лучше ssh) test → проверка условий ([) time → измерить время выполнения tmux → мультиплексор терминала (альтернатива screen) top → мониторинг процессов touch → создать/обновить файл tr → замена символов traceroute → трассировка маршрута tree → дерево каталогов true → вернуть код 0 tty → текущий терминал type → тип команды (встроенная, алиас, файл) U ulimit → ограничения ресурсов umask → маска прав по умолчанию umount → отмонтировать uname → информация о системе unalias → удалить алиас unexpand → пробелы → табуляции uniq → удалить дубликаты строк unlink → удалить файл (низкоуровнево) uptime → время работы системы useradd → добавить пользователя (низкоуровнево) userdel → удалить пользователя usermod → изменить пользователя users → кто сейчас в системе V vi → vim в минимальном режиме vim → лучший редактор vmstat → статистика виртуальной памяти vnstat → мониторинг трафика W w → кто онлайн и что делает wall → сообщение всем пользователям watch → периодический запуск команды wc → подсчёт строк/слов/байт wget → скачивание файлов whatis → краткое описание команды whereis → где лежит бинарник/man-страницы which → путь к исполняемому файлу while → цикл в shell who → кто в системе whoami → текущий пользователь whois → информация о домене X xargs → построение команд из ввода xdg-open → открыть файл в приложении по умолчанию xz → сжатие .xz (лучше gzip) xzcat → cat для .xz Y yes → бесконечно выводить строку yum → старый менеджер RedHat → dnf Z zcat → cat для .gz zdiff → diff для .gz zgrep → grep по .gz zip → архиватор .zip zypper → менеджер пакетов openSUSE Это 470+ реально живых команд в 2025 году.
  • Bash - работа с сетью - ip, порты и прочее

    6
    0 Голоса
    6 Сообщения
    4 Просмотры
    A
    Получание информации о домене Вот актуальный на конец 2025 года набор команд, которые реально используют системные администраторы и девопсы, чтобы понять, какой домен привязан к серверу/компьютеру (и наоборот). Локально на сервере (что система считает своим FQDN) # 1. Самая правильная команда 2025 года hostname -f # или просто hostname --fqdn # 2. Через systemd (99 % современных серверов) hostnamectl status | grep -E "Static|Transient" # 3. Коротко и красиво (мой фаворит) cat /etc/hostname && hostname -d # имя + только домен Снаружи — какой домен смотрит на этот IP # 4. Самый быстрый и точный (2025) dig +short -x $(curl -s ifconfig.me) # reverse-lookup текущего внешнего IP # 5. То же самое, но красивее host $(curl -s ifconfig.me) # 6. Универсальная однострочка (работает везде) curl -s https://api.ipify.org | xargs dig -x +short Полная проверка «всё сразу» (одна команда) echo "=== Локальный FQDN ==="; hostname -f echo "=== Внешний IP ==="; curl -s ifconfig.me echo "=== Reverse DNS (что видят снаружи) ==="; dig +short -x $(curl -s ifconfig.me) echo "=== DNS A-запись домена (если знаешь домен) ==="; dig +short A mydomain.com Мои алиасы (добавь в ~/.bashrc) alias myip="curl -s ifconfig.me" alias myhost="hostname -f" alias whatsees="dig +short -x $(myip)" alias allinfo='echo -e "IP: $(myip)\nFQDN: $(hostname -f)\nReverse: $(whatsees)"' Пример вывода allinfo: IP: 185.123.45.67 FQDN: server01.mydomain.ru Reverse: server01.mydomain.ru Когда что использовать (2025) Задача Лучшая команда Узнать своё полное имя сервера hostname -f Узнать только домен hostname -d Проверить, что видят клиенты снаружи dig -x $(curl -s ifconfig.me) Быстро проверить домен → IP и обратно host mydomain.com и host 185.123.45.67 В скриптах (без вывода мусора) hostname --fqdn Итог — запомни всего три команды на всю жизнь hostname -f # что считает сервер своим именем dig -x $(curl -s ifconfig.me) +short # что видят снаружи host mydomain.com # проверить конкретный домен
  • Bash - скачивание и загрузка в сеть

    6
    0 Голоса
    6 Сообщения
    5 Просмотры
    A
    Скачивание с rutube Вот актуальная на конец 2025 года шпаргалка по скачиванию с Rutube — yt-dlp всё ещё отлично работает, но синтаксис немного поменялся + появились новые «фишки». Рабочие команды 2025 года (проверено на Rutube, ноябрь 2025) # 1. Установка/обновление yt-dlp (один раз) sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp # или через pip # pip3 install -U yt-dlp # 2. Посмотреть все доступные форматы yt-dlp -F "https://rutube.ru/video/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/" # 3. Скачать самое лучшее видео + аудио (автоматически объединит) yt-dlp -f "bestvideo+bestaudio/best" "https://rutube.ru/video/..." # 4. Только самое лучшее видео (без звука, если хочешь отдельно) yt-dlp -f bestvideo "https://rutube.ru/video/..." # 5. Только самый лучший звук yt-dlp -f bestaudio --extract-audio --audio-format mp3 "https://rutube.ru/video/..." # 6. Конкретный формат (как ты делал раньше, только новый синтаксис) # Пример: 1080p60 + лучший звук yt-dlp -f "bestvideo[height<=1080][fps<=60]+bestaudio" "https://rutube.ru/video/..." # 7. Скачать плейлист целиком (сериал/канал) yt-dlp "https://rutube.ru/plst/123456/" # 8. Скачать с субтитрами (если есть) yt-dlp --write-auto-sub --skip-download "https://rutube.ru/video/..." # только субтитры yt-dlp --write-auto-sub "https://rutube.ru/video/..." # видео + субтитры Самые полезные «однострочники» 2025 года # Самое лучшее качество (видео + звук) → имя файла как на сайте yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "https://rutube.ru/video/..." # 1080p или меньше, 60 fps, с русским звуком yt-dlp -f "bestvideo[height<=1080][fps<=60]+bestaudio[language^=ru]" "https://rutube.ru/video/..." # Скачать и сразу конвертировать в MP3 (только аудио) yt-dlp -x --audio-format mp3 --audio-quality 0 "https://rutube.ru/video/..." # Скачать приватное видео (нужен куки от браузера) yt-dlp --cookies cookies-rutube.txt "https://rutube.ru/video/private/..." # Обход ограничений по возрасту (18+) yt-dlp --age-limit 30 "https://rutube.ru/video/..." Если Rutube «прячет» форматы (иногда бывает) # Принудительно обновить extractor (решает 90% проблем) yt-dlp -U # Скачать с максимальным дебагом (чтобы понять, что блокирует) yt-dlp -vU --print-traffic "https://rutube.ru/video/..." Мой личный алиас (добавь в ~/.bashrc) alias rutube="yt-dlp -f 'bestvideo[height<=1080]+bestaudio/best' --merge-output-format mp4 --no-playlist" alias rutube-audio="yt-dlp -x --audio-format mp3 --audio-quality 0" Теперь просто: rutube https://rutube.ru/video/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/
  • Bash - работа с архивами

    4
    0 Голоса
    4 Сообщения
    5 Просмотры
    A
    Упаковка каталога в zip Вот полный и актуальный на 2025 год набор команд для упаковки папки в ZIP — от самых простых до максимально эффективных и красивых. Базовые команды (всегда работают) # Самое простое — упаковать папку рекурсивно zip -r archive.zip /path/to/folder # Упаковать текущую папку (точка = текущая директория) zip -r backup.zip . # Исключить лишнее (git, node_modules, __pycache__ и т.д.) zip -r backup.zip . -x "*.git*" "*node_modules*" "*__pycache__*" "*.DS_Store*" # С максимальным сжатием (дольше, но меньше размер) zip -r -9 backup.zip folder/ # С прогресс-баром (очень удобно при больших папках) zip -r backup.zip folder/ ; echo "Готово: $(du -h backup.zip)" Продвинутые и самые полезные варианты (мои ежедневные) # 1. Только новые/изменённые файлы (обновить существующий архив) zip -r -u archive.zip folder/ # 2. Сжать с паролем (AES-256) zip -r -e --password=твой_пароль secret.zip private_folder/ # 3. Самое сильное сжатие + пароль + прогресс zip -r -9 -e -P суперсекрет archive.zip important_data/ # 4. Создать архив без пути (все файлы в корне архива) cd /path/to/folder && zip -r -9 ../backup.zip ./* # 5. Упаковать и сразу проверить целостность zip -r backup.zip folder/ && unzip -t backup.zip && echo "Архив в порядке" # 6. Упаковать с красивым прогресс-баром (через rsync + zip) rsync -a --info=progress2 folder/ temp_folder/ && zip -r -9 backup.zip temp_folder/ && rm -rf temp_folder/ Альтернативы (если zip по какой-то причине нет или хочется лучше) Инструмент Команда Плюсы 7z (лучшее сжатие) 7z a -tzip -mx=9 backup.zip folder/ В 1.5–3 раза меньше, чем zip -9 zstd + tar tar -c folder/ | zstd -19 -o backup.tar.zst Быстрее + лучше сжатие (2025 стандарт) pigz (многопоточный zip) tar -c folder/ | pigz -9 > backup.tar.gz В 5–10 раз быстрее на многоядерных CPU Установка (Debian/Ubuntu): sudo apt install zip unzip p7zip-full zstd pigz Мои личные алиасы (добавь в ~/.bashrc или ~/.zshrc) alias zipmax="zip -r -9" # максимальное сжатие alias zipass="zip -r -e -P" # с паролем alias zipclean='zip -r backup.zip . -x "*.git*" "*node_modules*" "*.DS_Store" "__pycache__/*"' alias zip7="7z a -tzip -mx=9" # 7-zip с максимальным сжатием Итог: запомни всего три команды на всю жизнь # Обычное использование zip -r archive.zip folder/ # Максимальное сжатие zip -r -9 archive.zip folder/ # С паролем zip -r -e archive.zip folder/
  • Bash - работа с графическим окружением

    2
    0 Голоса
    2 Сообщения
    4 Просмотры
    A
    Проверить тип сессии Xorg или Wayland Вот актуальный на конец 2025 года набор команд — какие реально работают и что выводят в разных ситуациях (локально, по SSH, в TTY, в контейнерах). Топ-5 рабочих способов (по надёжности) # 1. Самый надёжный (2025 стандарт) loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type --value # Вывод: wayland или x11 # 2. Коротко и красиво (мой ежедневный фаворит) echo $XDG_SESSION_TYPE # Вывод: wayland / x11 / tty # 3. Ещё короче и всегда работает локально echo $WAYLAND_DISPLAY $XDG_SESSION_TYPE # Если есть $WAYLAND_DISPLAY (например, wayland-0) → Wayland # Иначе, если $XDG_SESSION_TYPE = x11 → Xorg # Иначе → tty # 4. Универсальная однострочка (работает даже по SSH) if [ -n "$WAYLAND_DISPLAY" ] || [ "$XDG_SESSION_TYPE" = "wayland" ]; then echo "Wayland" elif [ "$XDG_SESSION_TYPE" = "x11" ]; then echo "Xorg" else echo "TTY / Консоль / SSH" fi # 5. Самая красивая и информативная echo "Сессия: $XDG_SESSION_TYPE" echo "Дисплей: ${WAYLAND_DISPLAY:-${DISPLAY:-не определён}}" echo "Композитор: ${XDG_CURRENT_DESKTOP:-неизвестно}" Что выводят команды в разных случаях (2025) Ситуация echo $XDG_SESSION_TYPE echo $WAYLAND_DISPLAY echo $DISPLAY loginctl … Type Локально в GNOME/KDE (Wayland) wayland wayland-0 (пусто) wayland Локально в GNOME/KDE (X11) x11 (пусто) :0 x11 Локально в TTY (Ctrl+Alt+F3) tty (пусто) (пусто) tty По SSH tty (пусто) (пусто) tty В WSL2 с GUI x11 или wayland (зависит от дистра) :0 x11 В Docker-контейнере с X11 forwarding (обычно пусто) (пусто) :10 (не работает) Мой личный алиас (добавь в ~/.bashrc / ~/.zshrc) alias session='echo "Session: $XDG_SESSION_TYPE | Desktop: $XDG_CURRENT_DESKTOP | Display: ${WAYLAND_DISPLAY:-$DISPLAY}"' Использование: $ session Session: wayland | Desktop: GNOME | Display: wayland-0 Итог: запомни всего две команды на всю жизнь echo $XDG_SESSION_TYPE # 99 % случаев достаточно loginctl show-session $(loginctl list-sessions | grep $(whoami) | awk '{print $1}') -p Type --value В 2025 году в 95 % случаев достаточно просто echo $XDG_SESSION_TYPE.
  • Bash - пути и переменные окружения

    2
    0 Голоса
    2 Сообщения
    4 Просмотры
    A
    Ручная проверка, содержит ли переменная PATH каталог /sbin Вот актуальные на 2025 год самые быстрые и надёжные способы проверить и исправить отсутствие /sbin, /usr/sbin, /usr/local/sbin в $PATH — именно эти три каталога почти всегда отсутствуют у обычных пользователей в Ubuntu/Debian/Mint/Pop!_OS и производных. 1. Проверка одной командой (2025 стандарт) echo "$PATH" | tr ':' '\n' | grep -E '^(/(usr/)?s?bin)$' # или ещё короче и красивее: (echo "$PATH"; echo) | tr ':' '\n' | nl | grep -E '/s?bin' Если ничего не вывелось — /sbin и /usr/sbin действительно отсутствуют. 2. Самые удобные однострочники # Есть ли вообще хоть один *bin? [[ :$PATH: == *:/sbin:* || :$PATH: == *:/usr/sbin:* ]] && echo "OK" || echo "Отсутствует" # Точная проверка всех трёх нужных каталогов missing=() for dir in /sbin /usr/sbin /usr/local/sbin; do [[ ":$PATH:" != *":$dir:"* ]] && missing+=("$dir") done ((${#missing[@]} == 0)) && echo "Всё в порядке" || echo "Отсутствуют: ${missing[*]}" 3. Правильное исправление навсегда (2025) # Добавь эту строку в конец ~/.bashrc или ~/.zshrc echo 'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:$PATH"' >> ~/.bashrc # Или одной командой (если файла ещё нет) cat <<'EOF' >> ~/.bashrc # Добавляем системные административные каталоги в PATH (2025) export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:$PATH" EOF После этого: source ~/.bashrc # или перезайди в терминал Теперь reboot, ifconfig, iptables, fdisk, systemctl и т.д. будут работать без /sbin/ и без sudo в командах типа sudo reboot. 4. Мой личный «идеальный» вариант (ставлю на всех серверах и рабочих машинах) # В ~/.bashrc или ~/.profile if [[ $UID -ne 0 && ":$PATH:" != *":/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:"* ]]; then export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:$PATH" fi Защищает от дублирования при повторном source и не трогает root. 5. Проверка после исправления which reboot && echo "reboot теперь доступен без пути!" which iptables && echo "iptables тоже!" Итог: запомни всего две команды на всю жизнь # Проверить [[ ":$PATH:" == *":/sbin:"* ]] && echo "OK" || echo "Нет /sbin" # Исправить навсегда echo 'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:$PATH"' >> ~/.bashrc && source ~/.bashrc Больше никогда не будешь писать /sbin/ip, /sbin/reboot или получать ошибку command not found на только что установленной Ubuntu/Mint.
  • Bash - основы скриптования

    2
    0 Голоса
    2 Сообщения
    4 Просмотры
    A
    Многострочные комментарии Вот полная и актуальная на 2025 год шпаргалка по многострочным комментариям в Bash-скриптах — от классики до самых красивых и удобных способов. Топ-6 способов писать многострочные комментарии в Bash # 1. Классика — HereDoc (самый надёжный и правильный) : <<'COMMENT' Это многострочный комментарий. Можно писать всё что угодно: • пояснения • TODO • авторство • лицензию Даже кавычки " ' и $ переменные не интерполируются! COMMENT # 2. С произвольным маркером (мой личный фаворит) : <<'EOF' #!/bin/bash Скрипт делает резервную копию всех сайтов Автор: Alex Дата: 2025 Требует: rsync, tar, notify-send EOF # 3. Если нужны переменные внутри комментария — без кавычек : <<COMMENT Сегодня $(date) Пользователь: $USER Домашняя папка: $HOME COMMENT # → переменные подставятся! # 4. Самый короткий и читаемый (2025 стиль) <<'#' Это тоже комментарий! Работает потому что <<# — это встроенный маркер Bash # # 5. Многострочный комментарий с отступами (очень красиво) cat <<'EOF' >/dev/null ┌───────────────────────────────────────────────────── │ Скрипт: backup.sh │ Назначение: Ежедневный бэкап /var/www и баз MySQL │ Автор: admin@company.ru │ Версия: 3.1 (2025-11-29) │ Требует права root Логи пишутся в /var/log/backup.log ┌───────────────────────────────────────────────────── EOF # 6. Комментарий-блок в одну строку (для ленивых) : <<{1..10} # закомментирует следующие 10 строк (нестандартно, но работает) Рекомендуемые шаблоны для реальных скриптов (2025) #!/usr/bin/env bash set -euo pipefail : <<'INFO' Имя скрипта : deploy.sh Описание: Деплой приложения через Docker Compose Автор : Иван Иванов <ivan@company.ru> Дата создания : 2025-03-15 Версия : 2.4 Требования : docker, docker-compose, jq Использование : ./deploy.sh [staging|production] INFO # код скрипта... Итог: запомни всего один идеальный вариант : <<'EOF' Твой многострочный комментарий здесь Можно хоть 100 строк Всё игнорируется, переменные не подставляются EOF Это самый чистый, переносимый и читаемый способ в 2025 году. Работает в любом Bash ≥ 3.0, не ломается от кавычек, доллара и тире.
  • Bash - восстановление системы

    2
    0 Голоса
    2 Сообщения
    4 Просмотры
    A
    Timeshift (Точки восстановления Linux) Вот актуальная на конец 2025 года шпаргалка по Timeshift — всё, что реально работает в Ubuntu 22.04/24.04, Mint 21/22, Debian 12/13, Pop!_OS и т.д. 1. Установка Timeshift в 2025 году (самые рабочие способы) # Способ 1 — официальный PPA (самый стабильный) sudo add-apt-repository -y ppa:teejee2008/timeshift sudo apt update sudo apt install timeshift # Способ 2 — если PPA уже не работает (2025+ часто так) # Установка из официального .deb (рекомендую) wget -O timeshift-latest.deb https://github.com/linuxmint/timeshift/releases/latest/download/timeshift_24.06.4_amd64.deb sudo apt install ./timeshift-latest.deb # Способ 3 — через Snap (не рекомендую — тормозит и не видит BTRFS) sudo snap install timeshift --classic 2. Основные команды CLI (2025) Задача Команда Создать снапшот вручную sudo timeshift --create --comments "После установки OpenVIDU" Создать снапшот на конкретный диск sudo timeshift --create --snapshot-device /dev/nvme0n1p2 --comments "Чистая система" Посмотреть все снапшоты sudo timeshift --list Восстановить последний снапшот sudo timeshift --restore Восстановить конкретный снапшот sudo timeshift --restore --snapshot '2025-11-29_14-30-00' Удалить снапшот sudo timeshift --delete --snapshot '2025-11-01_10-00-00' Удалить все снапшоты старше 30 дней sudo timeshift --delete --keep 3 # оставить только 3 последних Проверить целостность всех снапшотов sudo timeshift --check Посмотреть, сколько места занимают sudo timeshift --list | grep -E "Size|Used" 3. Самые полезные однострочники (мой личный набор) # Создать снапшот перед опасными действиями sudo timeshift --create --comments "Перед обновлением до Ubuntu 25.04" # Быстрое восстановление (если система упала) sudo timeshift --restore --skip-grub # Удалить всё, кроме 5 последних снапшотов sudo timeshift --delete-all --keep-last 5 # Создать снапшот и сразу вывести его ID sudo timeshift --create --comments "После установки Docker" | grep "Created snapshot" # Автоматический бэкап по расписанию (добавь в crontab) 0 3 * * * /usr/bin/timeshift --create --comments "Еженощный бэкап" --quiet >/dev/null 2>&1 4. Важные особенности 2025 года Что нужно знать Комментарий RSYNC vs BTRFS RSYNC — работает везде, BTRFS — быстрее и экономит место (но только на BTRFS!) Timeshift НЕ бэкапит /home по умолчанию Включи в настройках → «Include hidden items in user home directories» Для восстановления вне системы нужен Live-USB Загружайся с Ubuntu Live → устанавливай timeshift → восстанавливай После клонирования системы на другой диск Запусти sudo timeshift --target /dev/sdX1 для переноса точек восстановления 5. Мой личный скрипт «снапшот перед экспериментами» #!/bin/bash COMMENT=${1:-"Ручной снапшот $(date +%Y-%m-%d_%H-%M)"} sudo timeshift --create --comments "$COMMENT" && \ echo "Снапшот создан: $COMMENT" Сохрани как ~/bin/ts → chmod +x ~/bin/ts → используй просто: ts "Перед установкой Wine и Windows-программ" Запомни всего 3 команды — и ты никогда не потеряешь систему: sudo timeshift --create --comments "..." # перед любыми экспериментами sudo timeshift --list # посмотреть, что есть sudo timeshift --restore # если всё сломалось
  • Bash - работа с приложениями и утилитами

    4
    0 Голоса
    4 Сообщения
    6 Просмотры
    A
    Установка и удаление Snap Вот самый чистый, актуальный и проверенный на 2025 год способ установки и полного удаления Snap в Ubuntu/Debian/Mint/Pop!_OS и производных. Установка Snap (2025) sudo apt update sudo apt install snapd # это всё, что нужно sudo systemctl enable --now snapd.socket # на всякий случай После этого просто: snap install hello-world # проверка Полное удаление Snap (ничего не останется) # 1. Список установленных snap-пакетов snap list # 2. Удалить ВСЕ snap-пакеты одной командой (2025 способ) sudo snap remove --purge $(snap list | awk '!/^Name|^snapd$/ {print $1}') # 3. Удалить сам snapd и всё, что с ним связано sudo apt purge -y snapd gnome-software-plugin-snap 2>/dev/null || true sudo apt autoremove -y # 4. Удалить остатки (это важно!) sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd rm -rf ~/snap # 5. (Опционально) Убить запущенные процессы snap, если висели sudo killall snapd || true # 6. Перезагрузить (рекомендуется) sudo reboot Однострочник полного удаления (мой личный, копируй-вставляй) sudo snap remove --purge $(snap list | awk '!/^Name|^snapd$/ {print $1}') 2>/dev/null; \ sudo apt purge -y snapd gnome-software-plugin-snap; sudo apt autoremove -y; \ sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd ~/snap; \ echo "Snap полностью уничтожен. Перезагрузись!" Как проверить, что Snap действительно мёртв which snap && echo "Ещё жив!" || echo "Snap мёртв. Празднуем!" ls /snap /var/snap 2>/dev/null && echo "Остатки есть" || echo "Чисто" Альтернативы Snap (куда люди уходят в 2025) Что ставить вместо Snap Команда установки Flatpak sudo apt install flatpak AppImage просто скачиваем и запускаем Обычные .deb sudo apt install ... Distrobox / Toolbox для запуска приложений в контейнерах
  • Bash - поиск

    2
    0 Голоса
    2 Сообщения
    4 Просмотры
    A
    Поиск файлов через терминал Вот актуальный на 2025 год набор команд для поиска файлов в Linux — от самых быстрых до самых мощных. Работает везде: Ubuntu, Debian, Fedora, Arch, Alpine, macOS. Топ-10 команд, которые реально используют в 2025 # 1. Самая быстрая и красивая (2025 стандарт) fd .drawio$ # или просто fd drawio # 2. Классика find (всегда работает) find /путь -type f -name "*.drawio" 2>/dev/null # 3. Только в текущей папке (без рекурсии) find . -maxdepth 1 -type f -name "*.drawio" # 4. Поиск по имени без учёта регистра find . -type f -iname "*.DrAwIo" # 5. Найти и сразу открыть в draw.io / diagrams.net find . -type f -name "*.drawio" -exec xdg-open {} \; # 6. Найти все drawio-файлы и показать их размер + дату find . -type f -name "*.drawio" -printf '%s %p %TY-%Tm-%Td\n' | sort -nr | head -20 # 7. Искать только в домашних папках (быстро) find ~ -type f -name "*.drawio" 2>/dev/null # 8. Поиск по содержимому файла (внутри .drawio — это XML/JSON) rg -g '*.drawio' "Customer Database" # 9. Самый быстрый аналог find (на Rust) fd -e drawio # ищет только файлы с расширением .drawio fd -e drawio -x xdg-open {} # открыть все найденные # 10. Через locate (если база обновлена — мгновенно) updatedb && locate "*.drawio" Установка лучших инструментов 2025 # Ubuntu/Debian/Mint/Pop!_OS sudo apt install fd-find ripgrep # fd и rg # Fedora sudo dnf install fd-find ripgrep # Arch/Manjaro sudo pacman -S fd ripgrep # macOS brew install fd ripgrep Мои личные алиасы (добавь в ~/.bashrc или ~/.zshrc) alias fdraw="fd -e drawio" # найти все .drawio alias odraw="fd -e drawio -x xdg-open {}" # открыть все alias findbig="find . -type f -size +100M -exec ls -lh {} \;" alias fr="fd" # коротко вместо find Однострочники для самых частых задач # Найти все .drawio за последние 7 дней find . -type f -name "*.drawio" -mtime -7 # Найти и удалить все .drawio (осторожно!) find . -type f -name "*.drawio" -delete # Найти .drawio-файлы больше 10 МБ find . -type f -name "*.drawio" -size +10M # Найти по содержимому (например, слово "API") rg -g '*.drawio' "REST API" Итог: запомни всего три команды на всю жизнь fd drawio # 2025 — самый быстрый и удобный find . -name "*.drawio" # классика, работает везде rg "слово" -g '*.drawio' # поиск внутри файлов Больше никогда не используй find без fd — в 2025 году fd и rg — это то, чем пользуются все профи.
  • Bash - работа с оборудованием и системой

    7
    0 Голоса
    7 Сообщения
    5 Просмотры
    A
    Информация о видеокарте Вот самый полный и актуальный на конец 2025 года набор команд, чтобы узнать всё о видеокарте (или видеокартах) в Linux — работает на ноутбуках, десктопах, серверах, WSL2, даже если драйверы не установлены. Топ-8 команд (копируй-вставляй в порядке очереди) # 1. Самая быстрая и красивая (2025 стандарт) inxi -Gxxxz # 2. Если inxi нет — универсальный минимум lspci -nnk | grep -EA3 "VGA|3D|Display" # 3. Подробно про каждую карту (включая встроенную) sudo lshw -C display # 4. Что реально рендерит OpenGL/Vulkan сейчас glxinfo | grep "OpenGL renderer" || echo "mesa не установлена" vulkaninfo | grep deviceName | head -1 # 5. NVIDIA — полная инфа + температура + драйвер nvidia-smi -L && nvidia-smi # 6. AMD (новые карты с ROCm или старые) rocm-smi || radeontop # 7. Intel iGPU intel_gpu_top # 8. Самая короткая и всегда работает даже без драйверов lspci | grep -Ei "vga|3d|display" Что выведут эти команды в 2025 году (примеры Команда Пример вывода (NVIDIA) Пример вывода (AMD + Intel) inxi -Gxxxz Graphics: Device-1: NVIDIA RTX 4070 driver: nvidia v: 560.35.03 Device-1: AMD RX 7900 XTX driver: amdgpu │ Device-2: Intel Arc A770 lspci \| grep VGA 01:00.0 VGA compatible controller: NVIDIA GA104 [RTX 3070] 03:00.0 VGA: AMD Navi 31 [RX 7900 XT] │ 00:02.0 VGA: Intel Raptor Lake-S GT1 glxinfo \| grep renderer OpenGL renderer string: NVIDIA GeForce RTX 4070/PCIe/SSE2 OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi) nvidia-smi GeForce RTX 4070 │ 72°C │ Driver 560.35.03 — Установка всех нужных утилит одной строкой (Ubuntu/Debian/Mint) sudo apt update && sudo apt install -y inxi mesa-utils vulkan-tools pciutils lshw # Для NVIDIA драйверов (если ещё не стоят) # sudo ubuntu-drivers install Fedora: sudo dnf install inxi vulkan-tools mesa-vulkan-drivers pciutils lshw Мой личный алиас (добавь в ~/.bashrc) alias gpu='echo "=== GPU ==="; inxi -Gxxxz 2>/dev/null || lspci | grep -Ei "vga|3d"; echo "=== Рендерер ==="; glxinfo | grep "OpenGL renderer" 2>/dev/null || echo "Нет OpenGL"; nvidia-smi -L 2>/dev/null | head -1 || echo "Нет NVIDIA"' Вывод будет такой: === GPU === Graphics: Device-1: NVIDIA RTX 4070 Ti driver: nvidia v: 560.35.03 === Рендерер === OpenGL renderer string: NVIDIA GeForce RTX 4070 Ti/PCIe/SSE2 GPU 0: NVIDIA GeForce RTX 4070 Ti Итог — запомни всего две команды на всю жизнь inxi -Gxxxz # красиво и всё сразу lspci | grep -Ei "vga|3d|display" # работает всегда и везде
  • Bash - виртуализация

    3
    0 Голоса
    3 Сообщения
    6 Просмотры
    A
    Проверка поддержки аппаратной виртуализации Вот самый полный и актуальный на 2025 год набор команд для проверки поддержки и состояния аппаратной виртуализации в Linux (Intel VT-x / AMD-V / SVM). 1. Самые точные и быстрые (работают везде) # Количество ядер с поддержкой виртуализации (Intel = vmx, AMD = svm) egrep -c '(vmx|svm)' /proc/cpuinfo # Если результат > 0 → железо поддерживает # Если 0 → либо процессор старый, либо виртуализация выключена в BIOS/UEFI # Более человекочитаемо lscpu | grep -i virtualization # или lscpu | grep -E "Flags|Virtualization" Пример нормального вывода: Flags: ... vmx ... ← Intel Flags: ... svm ... ← AMD Virtualization: VT-x ← Intel (новые ядра) Virtualization: AMD-V ← AMD 2. Полная проверка: поддержка есть + включена ли в BIOS # Универсальная команда 2025 года (самая надёжная) kvm-ok Установка (Debian/Ubuntu/Mint/Fedora): sudo apt install cpu-checker # Ubuntu/Debian/Mint # или sudo dnf install libvirt-clients cpu-checker # Fedora Вывод kvm-ok: INFO: /dev/kvm exists KVM acceleration can be used ← всё отлично Если выключено в BIOS: INFO: Your CPU supports KVM extensions INFO: KVM is disabled by your BIOS/UEFI HINT: Enter your BIOS/UEFI setup and enable Virtualization Technology 3. Проверка через специальные утилиты # Intel cat /proc/cpuinfo | grep -E "vmx|VT-x" # AMD cat /proc/cpuinfo | grep -E "svm|AMD-V" # Подробно с названиями флагов grep --color -E "vmx|svm" /proc/cpuinfo 4. Если используешь VirtualBox VBoxManage list vms | grep -i running # косвенно # или прямо: egrep -q "vmx|svm" /proc/cpuinfo && echo "VirtualBox будет работать с ускорением" 5. Проверка из-под Windows перед установкой Linux (если dual-boot) PowerShell (как админ): Get-VMProcessor | Select VMName, ExposeVirtualizationExtensions # или systeminfo | findstr "Виртуализация" 6. Однострочник, который я вставляю в свои скрипты установки if [ $(egrep -c '(vmx|svm)' /proc/cpuinfo) -gt 0 ]; then if [ -e /dev/kvm ] && kvm-ok 2>/dev/null | grep -q "can be used"; then echo "Виртуализация полностью работает (KVM + VT-x/AMD-V)" else echo "Виртуализация поддерживается железом, но выключена в BIOS/UEFI!" fi else echo "Процессор НЕ поддерживает аппаратную виртуализацию" fi Что делать, если показывает 0 или «disabled by BIOS» Перезагружаемся → входим в BIOS/UEFI (обычно Del, F2, F10, F12) Ищем и включаем: Intel → Intel Virtualization Technology или VT-x, VT-d AMD → AMD-V, SVM Mode, Virtualization Сохраняем (F10 → Yes) и перезагружаемся После этого kvm-ok покажет зелёный свет, а VirtualBox/QEMU/KVM будут летать в 10–20 раз быстрее. Запомни всего две команды — и всегда будешь знать статус виртуализации: egrep -c '(vmx|svm)' /proc/cpuinfo # поддерживает ли процессор kvm-ok # включено ли в BIOS + работает ли KVM
  • Bash - работа с дисками и другими накопителями

    4
    0 Голоса
    4 Сообщения
    6 Просмотры
    A
    Узнать общий размер текущего каталога Вот актуальный на 2025 год набор команд для быстрого и точного определения размера текущего (или любого) каталога. Всё работает везде: Ubuntu, Debian, Fedora, Arch, Alpine и т.д. Топ-7 команд (копируй-вставляй) # 1. Самая популярная и правильная (2025 стандарт) du -sh . # размер текущей папки # 2. Ещё быстрее и красивее (мой ежедневный выбор) du -sh --apparent-size . # реальный размер файлов (а не блоков на диске) # 3. Размер без учёта скрытых папок (полезно в /home) du -sh -- * # только видимые папки и файлы # 4. Размер с учётом только реальных файлов (игнорирует sparse-файлы, Docker-образы и т.п.) du -sh --apparent-size --exclude="*.img" --exclude="*.qcow2" . # 5. Самый быстрый способ (не сканирует содержимое, только метаданные) dust -r . # после установки: cargo install dust или sudo apt install dust # 6. Интерактивный и самый красивый (рекомендую всем) ncdu . # покажет всё дерево + можно удалять прямо из интерфейса # 7. Размер в байтах (удобно для скриптов) du -sb . # точное количество байт Полезные вариации # Размер нескольких папок сразу du -sh ~/{Downloads,Documents,Desktop,.cache,.local} 2>/dev/null | sort -hr # Размер только папок первого уровня (с сортировкой) du -sh ./* | sort -hr # Размер с исключениями (например, без node_modules и .git) du -sh --exclude="./node_modules" --exclude="./.git" . # Самые жирные папки внутри текущей (топ-20) du -h --max-depth=2 . 2>/dev/null | sort -hr | head -20 Установка самых удобных утилит (2025) # Ubuntu/Debian/Mint sudo apt install ncdu dust # dust — это как du, но в 10 раз быстрее и красивее # Fedora sudo dnf install ncdu dust # Arch/Manjaro sudo pacman -S ncdu dust Мои алиасы (добавь в ~/.bashrc или ~/.zshrc) alias size="du -sh ." alias sizeof="du -sh" # sizeof Downloads alias big="du -h --max-depth=1 . | sort -hr" alias fat="dust -r" alias clean="ncdu ~" Итог: запомни всего три команды на всю жизнь du -sh . # классика, всегда работает dust . # самый быстрый и красивый (2025) ncdu . # когда нужно покопаться и почистить Больше ничего придумывать не надо. dust и ncdu — это то, чем пользуются все продвинутые линуксоиды в 2025 году.