• Как определить, что текущая директория относится к примонтированному usb?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    немного магии:
    lsblk -dno TRAN /dev/$(lsblk -no PKNAME $(findmnt --df -no SOURCE --target $PWD))

    выведет устройство на котором расположенна текущая директория, как то usb, nvme, ssd ...
    Ответ написан
    1 комментарий
  • Как защитить SSD диск который я ношу с собой в кармане от магнитных бурь на солнце?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Кле́тка Фараде́я — устройство, изобретённое английским физиком и химиком Майклом Фарадеем в 1836 году для экранирования аппаратуры от внешних электромагнитных полей. Обычно представляет собой клетку, выполненную из хорошо токопроводящего материала.

    вики
    немного примеров на ютубе
    также в нете можно поискать продажу всяких чехлов фарадея для телефонов, ключей и пр.
    Ответ написан
    Комментировать
  • Почему нет звука на Arch Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    $ sudo pacman -S pipewire  pipewire-alsa pipewire-pulse
    $ systemctl --user start pipewire-pulse.service
    $ systemctl --user enable pipewire-pulse.service

    после смотри вывод команды:
    $ pactl info
    должна присутствовать такая строка:
    Server Name: PulseAudio (on PipeWire 0.3.56)
    детальнее смотри арчвики по PipeWire
    Ответ написан
    Комментировать
  • Как прописать одинарную ковычку в awk -F'?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    awk -F"'" '{print $2}' test1.txt >> test2.txt
    хотя тут можно просто удалить через tr
    cat test1.txt | tr -d "'" >> test2.txt
    Ответ написан
    Комментировать
  • Как отобразить JSON с кириллицей в bash?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    это escape-последовательность, а точнее символы юникода в шестнадцатеричном формате
    $ echo -e "\u0421\u0430\u043c\u0430\u0440\u0430"
    Самара
    Ответ написан
    1 комментарий
  • Как ввести пароль дополнительным параметром к команде?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если вы просто хотите выполнить команду от суперпользователя с явным введением пароля
    echo ПАРОЛЬ | sudo --stdin КОМАНДА
    или
    sudo --stdin КОМАНДА <<< ПАРОЛЬ

    если же вам нужен именно su user но чтобы пароль можно было задать в строке явно то используйте утилиту expect:
    LANG=en_US.UTF-8 expect -c 'spawn su ЮЗЕР;expect Password:;send "ПАРОЛЬ\n";interact'
    Ответ написан
    Комментировать
  • Как сейчас можно установить Windows/Linux на MacOS c чипом M1?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    https://asahilinux.org/

    Также Линус упомянул, что использовал для формирования релиза ноутбук Apple на базе архитектуры ARM64 (Apple Silicon) с Linux-окружением на базе дистрибутива Asahi Linux.

    Релиз ядра Linux 5.19
    Ответ написан
    Комментировать
  • Где найти полное руководство пользователя по Линуксу?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    полное руководство по linux - это как тёмная материя которая вроде как есть и в тоже время нету.
    гляньте по этой ссылке, думаю это самое близкое что подойдёт к вашему запросу.
    Ответ написан
    Комментировать
  • Как поменять дату в терминале?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    sudo timedatectl set-time "2020-05-01 10:55:36"
    Ответ написан
  • Как обозначается "текущая директория" в линукс в терминале?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Мне нужно с текущего каталога ( где я сейчас нахожусь) скопировать все содержимое в другой каталог.
    Делаю эту команду cp -r /. build/, но ничего не копируется.

    cp -r /. здесь вы пытаетесь скопировать весь корень(/) в папку build
    возможно вы имели в виду:
    cp -r . build/
    здесь попытка скопировать все файлы/папки текущей директории в папку build находящуюся там же, то есть возникает рекурсия копирования самого в себя, про что команда cp и выдаст предупреждение но всё же скопирует не допустив для данной папки рекурсии.
    и да, папка build должна уже существовать.

    полигон
    $ mkdir -p test/{1,2,build} && touch test/{1,2}/a.txt && touch test/.b.txt && cd test && tree -a
    .
    ├── 1
    │   └── a.txt
    ├── 2
    │   └── a.txt
    ├── .b.txt
    └── build


    поведение (для bash):
    $ cp -r . build/
    cp: невозможно скопировать каталог '.' в самого себя, 'build/.'
    $ tree -a
    .
    ├── 1
    │   └── a.txt
    ├── 2
    │   └── a.txt
    ├── .b.txt
    └── build
        ├── 1
        │   └── a.txt
        ├── 2
        │   └── a.txt
        └── build

    и заметите что здесь не скопировался скрытый файл .b.txt (те что начинаются с точки)

    чтобы избежать предупреждений можно "вырезать" папку в которую копируем из списка файлов/папок передаваемых для cp при копировании:
    $ cp -r `ls -A | grep -v build | xargs` build/
    $ tree -a
    .
    ├── 1
    │   └── a.txt
    ├── 2
    │   └── a.txt
    ├── .b.txt
    └── build
        ├── 1
        │   └── a.txt
        ├── 2
        │   └── a.txt
        └── .b.txt
    Ответ написан
    Комментировать
  • Как поменять число для прокрутки видео в smplayer с 10sec до 1sec?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    можно использовать mpv

    в input.conf добавляем
    LEFT            seek -1
    RIGHT           seek +1

    см. Keyboard Control

    для более точного позиционирования нужно еще указать hr-seek
    mpv --hr-seek=yes --hr-seek-framedrop=no /путь/к/видео

    или через конфиг mpv.conf
    hr-seek=yes
    hr-seek-framedrop=no

    см. hr-seek и hr-seek-framedrop
    Ответ написан
    4 комментария
  • Как заGREPовать сразу несколько параметров?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Как сделать, что бы вывод был именно по 3м нужным параметрам?

    dmidecode -t memory | grep -P "Speed|Factor|Size"

    Как это можно форматнуть, что бы вывод был по каждой планке отдельно???

    dmidecode -t memory | awk '/\tSize/{print ""}/Speed|Factor|Size/'


    В идеале хотелось бы получить ... memory 1 ...

    dmidecode -t memory | awk '/\tSize/{i++;print "memory "i}/\tSpeed|Factor|\tSize/'


    Как структурировать вывод :
    A=`cat /proc/cpuinfo | grep "cpu MHz"`
    echo $A

    просто добавь воды, то есть кавычек при выводе:
    echo "$A"

    И как это сделать в несколько столбиков, потому что 104 строки не умещаются в терминал tmux????

    это уже третий вопрос, не нужно здесь устраивать марафон всевозможных вопросов, задавайте каждый вопрос отдельно
    Ответ написан
    1 комментарий
  • Почему bash скрипт не работает?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    во первых, судя по заголовку в https://hashkeys.club/92/
    total pages = 2475880078570760549798249 (1000 keys per page)

    у вас предыдущие 8 порядков куда-то делись
    24758800785707605
    2475880078570760549798249
    возможно так и задуманно, но мне кажется что всё же это не так

    во вторых, без параллельной закачки ловить здесь нечего, поэтому:
    rm -rf urls.txt
    for i in $(seq 1 1 1000000); do echo "url=https://hashkeys.club/92/page=$i" >> urls.txt;done
    curl --remote-name-all --parallel -K urls.txt

    здесь указан миллион, поставьте свой диапазон, но лучше разбить по миллиону или 10 миллионов
    seq 1 1 1000000
    seq 1000001 1 2000000
    ...


    но надеюсь вы осознаёте какое время и объёмы вы хотите скачать ?
    у меня для 100 страниц показало:
    $ curl --remote-name-all --parallel -K urls.txt
    DL% UL%  Dled  Uled  Xfers  Live   Qd Total     Current  Left    Speed
    --  --  10.2M     0   100     0     0 --:--:--  0:00:29 --:--:--  406k

    скорость походу режет сам сервер
    то есть, даже если взять ваш урезанный объём страниц в 24758800785707605 то выйдет

    по времени:
    24758800785707605 / (100 страниц /30 секунд) = 8252933595235868 секунд
    это порядка 261698807 лет

    по объёму:
    24758800785707605 / (100 страниц /10 мегабайт) = 2475880078570760 мегабайт
    а это порядка 2 зеттабайт !!!!!
    Ответ написан
    Комментировать
  • Как разделить csv файл на несколько файлов?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    пилим на четыре части:
    split -n 4 file.csv
    в итоге получим 4 файла: xaa xab xac xad

    после переноса склеиваем файлы в один:
    cat xaa xab xac xad > file.csv
    Ответ написан
    Комментировать
  • Как установить docker-compose?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Но когда я пытаюсь установить пакет docker-compose появляеться следующая ошибка

    естественно, так как docker-compose из оф.реп и docker-desktop как отдельный пакет предоставляемый непосредственно Docker конфликтующие пакеты так как частично перекрываются. То есть, чтобы установить docker-compose из офреп нужно сначала удалить docker-desktop.

    Если я правильно понял, что когда я устанавливал Docker Desktop, то сразу и установился docker-compose.

    да, вам выше писало
    docker-compose: /usr/lib/docker/cli-plugins/docker-compose уже существует в файловой системе

    но тока не тот что предоставляет в офрепозитории Арча, а тот что идёт непосредственно в комплекте с docker-desktop.

    Но как сделать так, что бы терминал мог работать с docker-compose?

    похоже что в пакете docker-desktop забыли прописать чтобы при установке устанавливалась ссылка /usr/bin/docker-compose на /usr/lib/docker/cli-plugins/docker-compose
    придётся сделать это вручную, и можно даже подсмотреть как это сделали в PKGBUILD пакета docker-compose
    ln -sf /usr/lib/docker/cli-plugins/docker-compose /usr/bin/docker-compose

    выполните данное действие в терминале единожды
    Ответ написан
    Комментировать
  • Как смотреть видео с мелким текстом?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    видео можно скачать с ютуба с помощью yt-dlp
    а после в большинстве видеоплееров при просмотре на нужном моменте жать на паузу и масштабировать изображение, в том же mpv клавиши по умолчанию для зума
    Alt + and Alt -
        Combining Alt with the + or - keys changes video zoom.
    Alt+BACKSPACE
        Reset the pan/zoom settings.
    Ответ написан
    2 комментария
  • Как правильно настроить оповещение о подключении пользователя root?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    статья по которой вы делаете 10-тилетней давности и за это время возможно уже что-то изменилось в механике взаимодействия.
    у меня, например, не работает от рута не то что воспроизведение музыки, а и сам notify-send что пришлось изголятся по типу такого:
    sudo -u \#$(id -u ЮЗЕР) DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u ЮЗЕР)/bus notify-send 'Hello world!' 'This is an example notification.'

    где за основу взята информация с арчвики

    чтобы получить аналогичную возможность описанную в статье пришлось немного переработать взаимодействие для большей универсальности.
    /etc/ssh/sshrc
    pathfifo=/tmp/sshd_alarm/fifo; [[ -p $pathfifo ]] && echo $USER $SSH_TTY $SSH_CONNECTION > $pathfifo &

    при коннекте по ssh проверяется существует ли именованный канал (FIFO) и если да то стучит в него полезную для нас информацию о том кто, как и куда.

    pathfifo=/tmp/sshd_alarm/fifo; [[ ! -p $pathfifo ]] && mkdir -p -m o=x $(dirname $pathfifo) && mkfifo -m o=rw $pathfifo; tail -f $pathfifo | while read OUTPUT; do notify-send -u critical "Предупреждение безопасности" "$(echo "$OUTPUT"|awk '{print $1" [ "$2" ] инициировал SSH-соединение\n"$3":"$4"  "$5":"$6}')";ffplay -loglevel 24 -nodisp -autoexit /путь/к/аудиофайлу.mp3 &! ;done

    данный код можно запустить в консоли для теста, поэтому для удобства сделал его в виде однострочника, при желании его можно запихнуть в systemd сервис либо общий либо для конкретного пользователя который сработает при старте системы.
    Так вот, данный код создаст если нету FIFO файл куда будет прилетать для нас уведомления от нашего стукача, с помощью awk разбираем строку и шлем notify-send уведомление, а после в фоне запускаем указанный аудиофайл.
    Ответ написан
    Комментировать
  • Как записать значение куки в файл с помощью командной строки?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    man curl
    конкретнее смотри
    -c, --cookie-jar
    -b, --cookie
    там же и примеры
    Ответ написан
    Комментировать
  • Почему процессор не работает на максимум?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Процессор Intel® Core™ i5-1135G7
    Максимальная тактовая частота в режиме Turbo 4,20 GHz
    Настраиваемая частота TDP (в сторону увеличения) 2.40 GHz
    Настраиваемая частота TDP (в сторону уменьшения) 900 MHz

    то есть, выставляя TDP в BIOS можно регулировать частоту от 900 до 24000 MHz (у вас уже выставленно на максимум), при этом в краткосрочном режиме Turbo частота может достичь 4,20 GHz, но только для одного ядра.
    Ответ написан
  • Как к выводу из curl и awk добавить выполнение скрипта python?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    curl http://sitename | awk '{print $2}' | awk -F= '{system("script.py "$2)}'
    Ответ написан
    Комментировать