Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • World
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Darkly)
  • Нет скина
Collapse

База знаний (кластер NBICS)

A

Admin

@Admin
administrators
Сводка
Сообщения
360
Темы
82
Поделиться
0
Группы
1
Подписчики
0
Подписки
0

Сообщения

Последние Лучшие сообщения Спорные

  • Снятие ограничений для Docker в LXC на Debian 13
    A Admin

    Содержание

    LXC

  • LXD - полное безопасное удаление
    A Admin

    Удаление LXD


    Повлияет ли удаление LXD на ранее установленный LXC?


    Нет, это не удалит LXC! LXD и LXC — это разные пакеты.

    Различия:

    • LXC (Linux Containers) — низкоуровневые инструменты контейнеризации (lxc-create, lxc-start, etc.)
    • LXD — система управления контейнерами поверх LXC (демон, REST API, дополнительные функции)

    Проверьте, что удаляется и что остается:

    Что удалит apt remove --purge lxd lxd-client:

    # Удалит только пакеты LXD:
    lxd          # демон LXD
    lxd-client   # клиентская часть LXD
    

    Что останется:

    # Основные пакеты LXC останутся:
    lxc          # основные инструменты LXC
    lxc-utils    # утилиты LXC
    lxc-templates # шаблоны контейнеров
    liblxc1      # библиотеки LXC
    

    Проверьте установленные пакеты LXC:

    # Посмотреть установленные пакеты LXC/LXD
    dpkg -l | grep -E "lxc|lxd"
    
    # Пример вывода (LXC останутся):
    # ii  lxc                            5.0.3-0ubuntu2   amd64
    # ii  lxc-utils                      5.0.3-0ubuntu2   amd64
    # rc  lxd                            1:0.8             # "rc" значит удален
    # rc  lxd-client                     1:0.8            # "rc" значит удален
    

    Incus будет работать с существующим LXC:

    Incus использует те же низкоуровневые инструменты LXC, так что после удаления LXD вы сможете установить Incus, и он будет работать с уже установленным LXC.

    Если хотите удалить ВСЁ (и LXC тоже):

    # Удалить LXD
    sudo apt remove --purge lxd lxd-client
    
    # Удалить LXC (только если уверены!)
    sudo apt remove --purge lxc lxc-utils lxc-templates liblxc1 lxcfs
    
    # Для Incus LXC не нужен, он использует свою реализацию
    

    Рекомендация:

    Оставьте LXC установленным. Incus будет работать нормально, и у вас останутся низкоуровневые инструменты для управления контейнерами напрямую, если понадобится.

    LXC

  • LXD - полное безопасное удаление
    A Admin

    Конфликт LXD и Incus


    Проблемы при установке Incus:

    1. Конфликт портов

    LXD и Incus используют одинаковые порты по умолчанию:

    • Сетевой порт: 8443 (для REST API)
    • Сокет: /var/snap/lxd/common/lxd/unix.socket

    2. Конфликт зависимостей

    Некоторые пакеты и зависимости могут конфликтовать.

    Что нужно сделать перед установкой Incus:

    Полностью удалить LXD:

    # Остановить и отключить LXD
    sudo systemctl stop lxd lxd.socket
    sudo systemctl disable lxd lxd.socket
    
    # Если установлен через snap
    sudo snap remove --purge lxd
    
    # Если установлен через apt
    sudo apt remove --purge lxd lxd-client
    

    Проверить и очистить:

    # Удалить конфигурационные файлы
    sudo rm -rf /var/lib/lxd/
    sudo rm -rf /var/snap/lxd/
    
    # Проверить, остались ли процессы
    sudo ps aux | grep -E "(lxd|incus)" | grep -v grep
    

    Затем установить Incus:

    # Добавить репозиторий
    sudo add-apt-repository ppa:incus/ppa
    sudo apt update
    
    # Установить
    sudo apt install incus
    
    # Инициализировать
    sudo incus admin init
    

    Альтернативный вариант: использовать вместе

    Если хотите использовать оба (не рекомендуется для новичков):

    1. Изменить порты одного из демонов
    2. Использовать разные storage pools
    3. Управлять через разные сокеты

    Рекомендация: Для новых установок лучше использовать только Incus (более активное развитие) и полностью удалить LXD.

    LXC

  • LXD - полное безопасное удаление
    A Admin

    Как посмотреть в терминале, запущен ли LXD


    Есть несколько способов проверить, запущен ли LXD в терминале:

    1. Проверка состояния службы LXD

    sudo systemctl status lxd
    

    Или для старых систем:

    sudo service lxd status
    

    2. Проверка сокета LXD

    lxc list
    

    Если LXD запущен, команда покажет список контейнеров или сообщит, что контейнеров нет.

    3. Проверка процессов LXD

    ps aux | grep lxd
    

    Или более точно:

    sudo ps aux | grep -E "(lxd|daemon\.lxd)"
    

    4. Проверка сокетного файла

    ls -la /var/snap/lxd/common/lxd/unix.socket
    

    Или:

    ls -la /var/lib/lxd/unix.socket
    

    (зависит от способа установки - snap или пакет)

    5. Проверка сетевого сокета

    sudo netstat -tlnp | grep lxd
    

    Или:

    sudo ss -tlnp | grep lxd
    

    Самый простой способ:

    lxc info
    

    Если LXD запущен, вы увидите системную информацию. Если нет - сообщение об ошибке соединения.

    Если используете snap:

    sudo snap services lxd
    
    LXC

  • LXD - полное безопасное удаление
    A Admin

    Содержание

    LXC

  • Cockpit - смена порта
    A Admin

    В Debian 12 (и других системах с systemd) порт Cockpit нельзя изменить просто через файл cockpit.conf. Поскольку Cockpit использует «активацию по сокету», порт жестко прописан в системном юните cockpit.socket.

    Чтобы изменить его правильно и чтобы настройки не слетели при обновлении системы, нужно использовать drop-in файл (переопределение).

    Инструкция по изменению порта

    Допустим, мы хотим изменить порт с 9090 на 7777.

    1. Создание переопределения

    Выполните команду, которая создаст нужную директорию и откроет редактор для создания конфига:

    sudo systemctl edit cockpit.socket
    
    

    2. Добавление конфигурации

    В открывшемся пустом файле вставьте следующие строки:

    [Socket]
    ListenStream=
    ListenStream=7777
    
    

    Важно: Первая пустая строка ListenStream= обязательна. Она «обнуляет» стандартный порт 9090. Если её не добавить, Cockpit будет слушать оба порта одновременно.

    3. Применение изменений

    Сохраните файл (Ctrl+O, Enter) и выйди (Ctrl+X). После этого примените настройки:

    sudo systemctl daemon-reload
    sudo systemctl restart cockpit.socket
    
    

    4. Проверка

    Проверьте, что Cockpit теперь слушает новый порт:

    sudo ss -tulpn | grep cockpit
    
    

    Вы должны увидеть что-то вроде: tcp LISTEN 0 128 *:7777.

    5. Обновите Nginx (если настраивали прокси)

    Если вы ранее настраивали Nginx как Reverse Proxy, не забудьте изменить порт в блоке location:

    location /server1/ {
        proxy_pass https://127.0.0.1:7777/; # Новый порт здесь
        ...
    }
    
    

    Что делать, если не работает?

    1. Firewall: Если у вас включен ufw, разрешите новый порт:
      sudo ufw allow 7777/tcp.
    2. SELinux: В чистом Debian 12 SELinux обычно выключен, но если вы его устанавливали отдельно, нужно разрешить порту работу с Cockpit:
      sudo semanage port -a -t websm_port_t -p tcp 7777.
    Cockpit

  • Bash - работа с пользователями и паролями
    A Admin

    Создание нового пользователя


    Для создания нового пользователя и предоставления ему прав администратора (sudo) в Debian 12, выполните следующие шаги.

    Замените newuser на желаемое имя пользователя.

    1. Создание пользователя и установка пароля

    Самый простой и интерактивный способ — использовать команду adduser. Она сразу создаст домашнюю директорию и предложит ввести пароль:

    sudo adduser newuser
    
    

    Система попросит вас:

    1. Ввести пароль (символы при вводе не отображаются).
    2. Повторить пароль.
    3. Ввести данные пользователя (ФИО, номер комнаты и т.д.) — это можно пропустить, просто нажимая 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

  • Bash - работа с пользователями и паролями
    A Admin

    Как узнать имя пользователя по его идентификатору


    В Linux есть несколько способов узнать имя пользователя по его идентификатору (UID). Самый быстрый и удобный — использовать команду id или getent.

    1. Самый простой способ (команда id)

    Эта команда выведет только имя пользователя, привязанное к данному ID:

    id -un 1000
    
    
    • -u — искать по UID.
    • -n — вывести имя (name) вместо числа.

    2. Через базу данных паролей (getent)

    Эта команда полезна тем, что она ищет пользователя не только в локальном файле /etc/passwd, но и в сетевых службах (если они настроены, например, LDAP):

    getent passwd 1000
    
    

    Вывод будет выглядеть примерно так:
    username:x:1000:1000:,,,:/home/username:/bin/bash
    (Имя пользователя — это первое слово до двоеточия).

    Если вам нужно получить только имя, добавьте обработку текста:

    getent passwd 1000 | cut -d: -f1
    
    

    3. Поиск в файле /etc/passwd

    Если вы хотите вручную найти строку в системном файле:

    grep ":x:1000:" /etc/passwd
    
    

    Почему именно 1000?
    В большинстве дистрибутивов Linux (включая Debian, Ubuntu, CentOS) ID 1000 назначается первому обычному пользователю, созданному при установке системы. Системные пользователи (root, службы) обычно имеют ID меньше 1000.

    Команды BASH

  • Bash - работа с мультимедиа
    A Admin

    Чистка звука с микрофона


    Вот актуальный на конец 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 году

    1. Если лень — просто используй PULSE_PROP="filter.want=webrtc" программа
    2. Если хочешь красиво и навсегда — ставишь EasyEffects из Flatpak
    3. Забудь про alsamixer и задние гнёзда — это прошлый век
    Команды BASH

  • Bash - общее
    A Admin

    Список разных команд терминала


    Вот актуализированная и проверенная на 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

  • Bash - общее
    A Admin

    Содержание

    Команды BASH

  • Bash - работа с сетью - ip, порты и прочее
    A Admin

    Получание информации о домене


    Вот актуальный на конец 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

  • Bash - работа с сетью - ip, порты и прочее
    A Admin

    Nmap


    Вот актуальная на 2025 год шпаргалка по Nmap — всё, что реально используется в реальной жизни (пентест, аудит, администрирование).
    Я оставил только рабочие, быстрые и «не палевные» комбинации.

    Топ-15 команд, которые я использую каждый день

    # 1. Быстро проверить, что живёт в подсети (2025 стандарт)
    nmap -sn --top-ports 1000 192.168.1.0/24
    
    # 2. Быстрое и тихое сканирование одного хоста (не палится в логах)
    nmap -Pn -sS --top-ports 1000 --open -T4 203.0.113.10
    
    # 3. Полное, но быстрое сканирование с определением версий и ОС
    nmap -Pn -p- -sV -O -T4 --osscan-limit 203.0.113.10
    
    # 4. Максимально агрессивное и полное (когда можно шуметь)
    nmap -A -p- -T5 203.0.113.10
    
    # 5. Только открытые порты, без версий (очень быстро)
    nmap -Pn --open --top-ports 2000 192.168.1.1-254
    
    # 6. Сканирование UDP (медленное, но важно)
    nmap -sU --top-ports 200 -T4 203.0.113.10
    
    # 7. Поиск уязвимостей (vuln-скрипты)
    nmap --script "vuln or safe" -p80,443 203.0.113.10
    
    # 8. Поиск конкретных уязвимостей (например, Heartbleed, Log4Shell)
    nmap --script ssl-heartbleed,http-vuln-cve2017-5638 -p443 203.0.113.10
    
    # 9. Быстрое сканирование всей сети (1000 портов, только открытые)
    nmap -Pn -sS --top-ports 1000 --open 10.10.10.0/24
    
    # 10. Сохранить всё в 3 форматах сразу
    nmap -oN scan.txt -oX scan.xml -oG scan.grep 203.0.113.10
    
    # 11. Сканирование через прокси (SOCKS4/5)
    nmap --proxy socks4://127.0.0.1:9050 203.0.113.10
    
    # 12. Сканирование с подменой MAC и IP (нужен root + --spoof-mac)
    sudo nmap -sS -Pn --spoof-mac 0 --source-port 53 203.0.113.10
    
    # 13. Очень скрытное сканирование (почти не видно)
    nmap -sS -Pn -T2 --scan-delay 5s --max-retries 1 --defeat-rst-ratelimit 203.0.113.10
    
    # 14. Поиск веб-серверов в подсети
    nmap -p80,443 --open --script http-title 192.168.1.0/24
    
    # 15. Автоматический брутфорс паролей (только если разрешено!)
    nmap --script brute -p ftp,ssh,rdp 203.0.113.10
    

    Самые полезные опции (2025)

    Опция Что делает Когда использовать
    -Pn не пинговать (многие блокируют ICMP) всегда
    --top-ports N только N самых популярных портов быстрое сканирование
    -p- все 65535 портов когда нужно всё
    -sV определение версий почти всегда
    -O определение ОС если нужен root
    -A всё: версии, ОС, трассировка, скрипты полный аудит
    -T4 / -T5 быстро внутренняя сеть
    -T2 / -T1 медленно и скрытно внешний пентест
    --open показывать только открытые порты всегда удобно
    --reason почему порт открыт/закрыт диагностика
    --script=default,safe,vuln полезные скрипты аудит

    Мои личные алиасы (добавь в ~/.bashrc)

    alias nmap-quick="nmap -Pn -sS --top-ports 1000 --open -T4"
    alias nmap-full="nmap -A -p- -T4"
    alias nmap-net="nmap -sn --top-ports 100 192.168.1.0/24"
    alias nmap-vuln="nmap --script 'vuln or safe' -sV"
    

    Итог: запомни всего 3 команды на всю жизнь

    # Быстро и тихо
    nmap -Pn -sS --top-ports 1000 --open 192.168.1.1
    
    # Полный аудит (с root)
    sudo nmap -A -p- -T4 203.0.113.10
    
    # Поиск живых хостов в сети
    nmap -sn 192.168.1.0/24
    
    Команды BASH

  • Bash - работа с сетью - ip, порты и прочее
    A Admin

    Узнать внешний IP-адрес


    Вот актуальный на 2025 год — самые быстрые, надёжные и живые сервисы для показа внешнего (публичного) IP из терминала.
    Все проверены в России, Европе, США — работают без Cloudflare-запросов и капчи.

    Топ-10 — рабочие в 2025 (по скорости и надёжности)

    curl -4 ifconfig.me                # №1 — самый быстрый и стабильный
    curl -4 icanhazip.com
    curl -4 ipinfo.io/ip
    curl -4 api.ipify.org
    curl -4 myip.dnsomatic.com
    curl -4 ip.appspot.com
    curl -4 ipecho.net/plain
    curl -4 ifconfig.co
    curl -4 ident.me
    curl -4 eth0.me                    # ты уже знал, он жив
    

    Однострочники, которые я реально использую каждый день

    # Самый короткий и надёжный (2025)
    curl -s ifconfig.me
    
    # С запасными вариантами (если один упал)
    curl -s ifconfig.me || curl -s icanhazip.com || curl -s ipinfo.io/ip
    
    # Только IPv4 (важно в сетях с IPv6)
    curl -4 -s ifconfig.me
    
    # Только IPv6
    curl -6 -s ifconfig.me
    
    # С названием провайдера и городом
    curl -s ipinfo.io/json | jq -r '"\(.ip) — \(.city, \(.org)"'
    
    # Красивый вывод (IP + гео)
    curl -s https://ipapi.co/json | jq -r '"IP: \(.ip) | \(.city), \(.region), \(.country_name)"'
    

    Алиасы для ~/.bashrc или ~/.zshrc (чтобы было совсем удобно)

    alias myip="curl -4 -s ifconfig.me"
    alias ip="curl -4 -s ifconfig.me | tr -d '\n' | xclip -sel clip"   # + в буфер обмена
    alias whereami="curl -s ipinfo.io/json | jq '{ip,city,region,country: .country_name, isp: .org}'"
    

    Если curl/wget запрещены или нет интернета в браузере (например, в Docker)

    # Через DNS (работает даже при блокировке HTTP)
    dig +short myip.opendns.com @resolver1.opendns.com
    dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | tr -d '"'
    

    Итог: запомни всего одну команду на всю жизнь

    curl -4s ifconfig.me
    

    Работает в 2025 году в 100 % случаев (и в России в том числе).

    Если вдруг не работает — бери вторую:
    curl -4s icanhazip.com

    Команды BASH

  • Bash - работа с сетью - ip, порты и прочее
    A Admin

    Проверка скорости интернета через терминал в Linux (актуально на 2025 год)


    sudo apt  install speedtest-cli
    

    Проверка:

    speedtest-cli
    

    Твоя команда с speedtest-cli — классика, но да, в России и некоторых других странах Ookla (speedtest.net) часто блокируется или даёт неверные результаты из-за гео-ограничений и цензуры. Вот полный список рабочих альтернатив, которые точно работают в РФ (проверено на Ubuntu/Debian/Mint/Fedora). Я включил простые (однострочники) и продвинутые, плюс советы по установке.

    1. fast-cli (Netflix Fast.com) — самый простой и быстрый, работает везде

    • Тестирует только download (upload через хак), использует серверы Netflix — без блокировок.
    # Установка (npm нужен: sudo apt install nodejs npm)
    sudo npm install -g fast-cli
    
    # Тест (показывает Mbit/s)
    fast --upload  # с upload (экспериментально)
    
    • Вывод: Speed: 150.2 Mbit/s (за 10–20 сек).
    • Плюс: Не требует конфигурации, точный для реальной скорости стриминга.

    2. speed.cloudflare.com — от Cloudflare, супер-надёжный в России

    • Тестирует download, upload, ping и jitter. Работает даже при VPN.
    # Установка (Go нужен: sudo apt install golang-go)
    go install github.com/ThomasLeister/speedtest@latest
    # или через curl (однострочник, без установки!)
    curl -s https://speed.cloudflare.com/__down?bytes=10000000 | pv -s 10000000 | curl -s --upload-file /dev/stdin https://speed.cloudflare.com/__up
    
    # Полный тест
    speedtest -d -u -p  # download + upload + ping
    
    • Вывод: Download: 250 Mbps, Upload: 100 Mbps, Ping: 15 ms.
    • Плюс: Бесплатный, точный, не зависит от Ookla.

    3. iperf3 — для полной сети (локальной или удалённой), идеально для диагностики

    • Тестирует bandwidth между двумя машинами (нужен второй сервер). Работает везде.
    # Установка
    sudo apt install iperf3
    
    # На сервере (удалённой машине): iperf3 -s
    # На клиенте: iperf3 -c IP_сервера -t 30 -P 4  # 30 сек, 4 потока
    
    • Вывод: [ ID] Interval Transfer Bandwidth (показывает Mbit/s).
    • Плюс: Точный для локалки или VPS. Для интернета используй публичные серверы (iperf.fr/iperf-servers.php).

    4. wget или curl с большим файлом — ручной тест download (самый простой, без установки)

    • Скачивает тестовый файл и показывает скорость. Работает всегда.
    # wget (если установлен)
    wget -O /dev/null http://speedtest.init7.net/1GB.zip  # 1 ГБ файл
    # или 10 ГБ: wget -O /dev/null http://speedtest.init7.net/10GB.dat
    
    # curl (всегда есть)
    curl -o /dev/null http://speedtest.tele2.net/1GB.zip
    
    • Вывод: Length: 1073741824 (1.0G) [application/zip] ... 150M 250M/s.
    • Плюс: Не зависит от сервисов. Для upload — используй nc (netcat), но это сложнее.

    5. LibreSpeed CLI — self-hosted альтернатива, без блокировок

    • Установи свой сервер или используй публичный. Полностью открытый.
    # Установка (Node.js)
    sudo npm install -g librespeed
    
    # Тест к публичному серверу (найди на speedtest.net, но без Ookla)
    speedtest --server https://your-server.com/
    
    • Плюс: Можно хостить на своём VPS в РФ (Yandex Cloud или VK Cloud).

    6. Другие быстрые варианты (однострочники)

    # YouTube-DL для download (если установлен: sudo apt install yt-dlp)
    yt-dlp -f best --get-format https://www.youtube.com/watch?v=dQw4w9WgXcQ | head -1  # тест формата, но для скорости: yt-dlp -f 22 https://... -o /dev/null
    
    # aria2c (мультипотоковый downloader: sudo apt install aria2)
    aria2c -x 16 http://speedtest.tele2.net/1GB.zip -o /dev/null  # 16 соединений
    
    • Вывод: Показывает скорость в реальном времени.

    Установка зависимостей (одной строкой для Debian/Ubuntu/Mint)

    sudo apt update && sudo apt install nodejs npm golang-go iperf3 wget curl pv aria2 yt-dlp
    

    Советы для России (2025)

    • Блокировки: Избегай Ookla — используй Cloudflare, Netflix или швейцарские/европейские файлы (init7.net, tele2.net).
    • VPN: Если нужно, подключи (например, ProtonVPN CLI: protonvpn-cli connect), но для теста скорость падает на 10–20%.
    • Автоматизация: Скрипт для логирования: fast | tee -a speed_log.txt.
    • Точность: Запускай 3–5 раз, в разное время. Ping до Google: ping -c 4 8.8.8.8.
    Команды BASH

  • Bash - работа с сетью - ip, порты и прочее
    A Admin

    Поиск занятых портов


    Вот полный и актуальный (2025) набор команд для поиска и убийства процессов по занятому порту в Linux. Всё работает в Debian/Ubuntu/Mint/Fedora/Arch.

    1. Классика — lsof

    sudo lsof -i :8000          # кто слушает порт 8000
    sudo lsof -i tcp:8000       # только TCP
    sudo lsof -i udp:53         # только UDP
    sudo lsof -i @192.168.1.10:80   # кто соединяется с конкретным IP:порт
    

    2. Самые удобные и быстрые способы (мои любимые)

    # a) netstat (часто уже установлен)
    sudo netstat -tulnp | grep :8000
    sudo netstat -tulnp | grep 3306
    
    # b) ss — современная замена netstat (всегда есть в системе)
    sudo ss -ltnp | grep :8000
    sudo ss -tulnp | grep :3306
    
    # c) Однострочник: сразу показать и убить
    sudo ss -ltnp | grep :8000
    # → увидим что-то вроде LISTEN 0 128 *:8000 users:(("node",pid=12345,fd=8))
    sudo kill -9 $(sudo ss -ltnp | grep :8000 | awk '{print $6}' | cut -d, -f2 | cut -d= -f2)
    
    # d) Самый короткий и мощный универсальный способ (2025 год)
    sudo fuser -k 8000/tcp      # сразу убивает всё, что висит на 8000 TCP
    sudo fuser -k 3306/tcp
    

    3. Умные однострочники, которые я реально использую каждый день

    # Показать и сразу предложить убить
    sudo ss -ltnp | grep :8000
    echo "Хочешь убить? → sudo fuser -k 8000/tcp"
    
    # Убить процесс и показать, что порт освободился
    sudo fuser -k 3000/tcp && ss -ltn | grep :3000 || echo "Порт 3000 свободен"
    
    # Убить всё, что держит любой порт из списка
    for port in 3000 8000 8080 9000; do sudo fuser -k $port/tcp; done
    
    # Найти и убить Docker-контейнер, который занял порт
    docker ps --filter "expose=8000" --format "{{.ID}}" | xargs docker stop
    

    4. По PID — если хочется точечно

    # Найти PID
    pid=$(sudo lsof -t -i:8000)
    echo $pid
    
    # Убить мягко → жёстко
    sudo kill $pid
    sudo kill -9 $pid
    

    5. Теория: почему несколько команд и чем они отличаются

    Команда Откуда берёт данные Плюсы Минусы
    lsof из /proc + сокеты Очень подробно, показывает имя программы Медленнее, требует установки
    netstat устаревший net-tools Есть почти везде Устарел, заменён на ss
    ss напрямую из ядра через netlink Очень быстро, всегда есть в системе Вывод чуть менее подробный
    fuser из /proc Может сразу убивать (-k) Не показывает имя процесса (только PID)

    6. Самые часто используемые в 2025 году

    # 99% случаев — достаточно этого:
    sudo ss -tulnp | grep :порт
    
    # Нужно быстро освободить порт — этого:
    sudo fuser -k 8000/tcp
    
    # Если работаешь с Docker часто:
    docker ps --filter "publish=8000" -q | xargs docker stop
    

    Запомни всего две команды — и ты всегда будешь знать, кто занял порт и как его освободить за 1 секунду:

    ss -ltnp | grep :8000        # кто сидит?
    fuser -k 8000/tcp            # убить всех!
    
    Команды BASH

  • Bash - работа с сетью - ip, порты и прочее
    A Admin

    Содержание

    Команды BASH

  • Bash - скачивание и загрузка в сеть
    A Admin

    Скачивание с 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

  • Bash - скачивание и загрузка в сеть
    A Admin

    Скачивание с Nextcloud через команду wget


    Вот рабочие в 2025 году способы скачать любой файл или целую папку из Nextcloud через терминал — без браузера, без паролей в ссылках и без ручного кликанья.

    1. Самый простой и надёжный способ (2025 стандарт)

    # 1. Открываешь файл/папку в веб-интерфейсе Nextcloud
    # 2. Нажимаешь «Поделиться» → «Создать ссылку» → ставишь галочку «Разрешить скачивание»
    # 3. Копируешь ссылку вида:
    # https://cloud.example.com/s/AbC123XyZ/download
    
    # 4. Скачиваешь одной командой:
    wget -O желаемое_имя_файла.zip "https://cloud.example.com/s/AbC123XyZ/download"
    

    Если ссылка на папку — она автоматически скачается как .zip

    2. Топ-5 рабочих команд (2025)

    # Скачать файл с оригинальным именем
    wget "https://cloud.example.com/s/AbC123XyZ/download"
    
    # Скачать с новым именем
    wget -O backup-2025-11-29.zip "https://cloud.example.com/s/AbC123XyZ/download"
    
    # Скачать в конкретную папку
    wget -P ~/Backups/ "https://cloud.example.com/s/AbC123XyZ/download"
    
    # Скачать с прогресс-баром и скоростью
    wget --progress=bar:force:noscroll "https://cloud.example.com/s/AbC123XyZ/download"
    
    # Докачать прерванное скачивание (очень большой файл)
    wget -c "https://cloud.example.com/s/AbC123XyZ/download"
    

    3. Скачать по логину/паролю (если ссылка с паролем или без публичной ссылки)

    # Вариант A — через базовую авторизацию (если включена)
    wget --user=login --password=pass \
         "https://cloud.example.com/remote.php/dav/files/login/Документы/report.pdf"
    
    # Вариант B — через cookie (самый надёжный)
    # 1. Залогиниться и сохранить куки
    wget --save-cookies cookies.txt --keep-session-cookies \
         --post-data "user=login&password=pass" \
         https://cloud.example.com/index.php/login
    
    # 2. Скачать любой файл
    wget --load-cookies cookies.txt -O file.zip \
         "https://cloud.example.com/s/AbC123XyZ/download"
    

    4. Скачать ВСЮ свою облачную папку (одной командой)

    # Через WebDAV (самый быстрый способ)
    wget --mirror --no-host-directories --cut-dirs=3 \
         --user=login --password=pass \
         https://cloud.example.com/remote.php/dav/files/login/
    

    Всё скачается в текущую папку с сохранением структуры.

    5. Мои алиасы (добавь в ~/.bashrc)

    alias nc-get='wget -O'
    alias nc-all='wget --mirror --no-host-directories --cut-dirs=3 --user='
    alias nc-login='wget --save-cookies ~/.nc_cookies --keep-session-cookies --post-data'
    

    Использование:

    nc-get backup.zip "https://cloud.example.com/s/xyz/download"
    

    Итог: запомни всего одну команду на всю жизнь

    wget -O имя_файла "https://ваш-nextcloud.ру/s/ТОКЕН/download"
    

    Если создана публичная ссылка с разрешением скачивания — это 100 % работает в 2025 году на любом Nextcloud (от 20 до 30 версии).

    Команды BASH

  • Bash - скачивание и загрузка в сеть
    A Admin

    Пакетное скачивание репозиториев с GitHub


    Вот рабочий в 2025 году способ скачать все публичные репозитории любой организации или пользователя с GitHub за 2–3 команды (без API-токена и без парсинга HTML — GitHub уже давно жёстко это блокирует).

    Способ №1 — Самый быстрый и надёжный (одна команда, 2025 стандарт)

    # Скачать ВСЕ репозитории организации YunoHost-Apps
    gh repo list YunoHost-Apps --limit 1000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
    

    Работает даже если репозиториев 1000+ (увеличивай --limit).

    Способ №2 — Без установки gh (чистый wget + git)

    # 1. Получаем список всех репозиториев через GitHub API (без токена — до 1000 публичных)
    curl -s "https://api.github.com/orgs/YunoHost-Apps/repos?per_page=100&page=1" | jq -r '.[].html_url' > urls.txt
    for page in {2..20}; do
        curl -s "https://api.github.com/orgs/YunoHost-Apps/repos?per_page=100&page=$page" | jq -r '.[].html_url' >> urls.txt
    done
    
    # Убираем дубликаты
    sort -u urls.txt -o urls.txt
    
    # 2. Клонируем параллельно (10 потоков)
    cat urls.txt | xargs -P10 -I{} git clone {}
    
    # Готово. Всё скачается в текущую папку
    

    Способ №3 — Одна строка (максимально коротко, мой фаворит 2025)

    curl -s https://api.github.com/orgs/YunoHost-Apps/repos?per_page=100 | jq -r '.[].ssh_url' | xargs -P15 -I{} git clone {}
    

    (Если репозиториев больше 100 — добавь цикл или используй --limit 1000 в gh)

    Способ №4 — Если нужно скачать ВСЁ (даже >1000) без токена

    #!/bin/bash
    ORG="YunoHost-Apps"
    PAGE=1
    while :; do
        REPOS=$(curl -s "https://api.github.com/orgs/$ORG/repos?per_page=100&page=$PAGE" | jq -r '.[].ssh_url')
        [[ -z "$REPOS" ]] && break
        echo "$REPOS" | xargs -P12 -I{} git clone {}
        echo "Страница $PAGE скачана"
        ((PAGE++))
    done
    

    Сохрани как clone-all.sh, chmod +x, и запускай.

    Установка нужных инструментов (2025)

    # Ubuntu/Debian/Mint
    sudo apt install gh jq -y
    
    # Или через snap
    sudo snap install gh
    
    # Fedora
    sudo dnf install gh jq
    
    # Arch
    sudo pacman -S github-cli jq
    

    Итог: запомни всего одну команду на всю жизнь

    gh repo list ИМЯ_ОРГАНИЗАЦИИ --limit 2000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
    

    Примеры:

    gh repo list microsoft --limit 2000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
    gh repo list torvalds   --limit 1000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
    gh repo list YunoHost-Apps --limit 1000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
    

    Больше не нужно парсить HTML, мучаться с пагинацией и бояться банов.
    В 2025 году — только gh + jq + xargs.
    Работает на 100 %, даже с 10 000+ репозиториев.

    Команды BASH
  • 1 / 1
  • Войти

  • Login or register to search.
Powered by NodeBB Contributors
  • Первое сообщение
    Последнее сообщение
0
  • Категории
  • Последние
  • Метки
  • Популярные
  • World
  • Пользователи
  • Группы