Привет, пикабушники, сегодня будет мини гайд по модальному текстовому редактору helix.
Helix модальный, быстрый редактор на rust с поддержкой lsp.
В данном гайде мы рассмотрим основные функции и кейбинды.
Helix в отличие от своих собратьев vim/kakoune имеет встроенный lsp.
Первый запуск, просто введите в терминале helix, откроется пустой файл, вы можете указать, какой файл открыть просто helix путь к файлу, или через command mode :e (нажатием :). Основные кейбинды:
hjkl перемещение, esc выход из любого режима. Рассмотрим основные режимы i режим вставки (для печати текста), также активируется a, но тогда печать начнется после курсора. v - визуальный режим для выделения, x выделяет всю строку, а hjkl работают и тут. Примечание, shift часто инвертирует действие, u для отмены.
Все команды в helix можно комбинировать, а указание цифр тоже работает, например 3l скачок курсором на 3 слова, w на одно слово, b на одно слово назад. d ВЫРЕЗАТЬ выделение/символ. Работа с буферами:
Для копирования y, для вставки p. По умолчанию копируется в дефолтный буфер, но через "x y вы скопируете в регистр x, + системный регистр, _ это нулевой буфер. чтобы именно удалить что-то нужно "_d написать. Вы можете применять буферы ко всем командам вставки. Ещё пару полезных команд - o на строку ниже, m match mode для обертывания текста, очень удобно кстати например напишите текст - test. Выделите его, нажмите ms" и слово обернется в кавычки, mi" удалит кавычки. f перейти к символу, shift f в обратном направлении. Пробел без режима space mode, в нем попробуйте нажать f, будет поиск файлов. c для удаления выделенного текста и перех в insert mode, r для замены конкретного символа на курсоре
Мульти курсоры и выделение: Для создания курсора нажмите shift c для создания курсора снизу, для колапсирования курсоров.
Выделение и мультикурсоры
Выделение происходит в областях, через v можете задать свой диапазон, либо % весь текст. После выделения области нажмите s, наберите слово и helix подсветит, выделит их, поставит мульти курсоры. Смотрите ниже. Для поиска используется / вот небольшой showcase от меня. Полный кеймап здесь
Warp — это современный терминал, написанный на Rust, доступный для MacOS, Linux, Windows.
Его цель — не просто "новый интерфейс", а полное переосмысление работы с CLI: Warp делает терминал удобным, интерактивным, умным. Он объединяет мощь командной строки и удобство GUI.
Установка Warp
Ссылка на установку - там можно выбрать ОС, для которой требуется установка.
Возможности Warp:
Интерактивные блоки. Каждая команда и её вывод отделены визуально. Как в Jupyter Notebook — удобно читать, копировать, делиться, переиспользовать.
Пример отдельных блоков команд в Warp
Warp AI. Да, в Warp встроен ИИ, который может подсказать команду, объяснить ошибку, сам исправить. Он также может учитывать контекст.
Пример подсказки от ИИ
Пример ошибки в команде и объяснение от ИИ:
Как Warp AI разбирает неуспешные команды
Супербыстрое автодополнение. Автодополнение не только по истории, но и по логике. Показывает:
пути;
команды;
флаги.
Панель команд. Как в VS Code: ⌘P (или Ctrl+P) → находишь команды, настройки, справку. Создать карусель Панель команд Warp. Добавьте описание
Панель команд Warp
Командные сессии. Warp поддерживает Shared Sessions — можно подключиться к сессии коллеги и видеть в реальном времени, что он делает. Подробнее тут:https://docs.warp.dev/features/session-sharing.
Wrapify - оболочка для сессий. У Warp есть возможность оборачивать как локальные сессии (например, подключение к Docker-контейнеру), так и удаленные (ssh). Подробнее тут:https://docs.warp.dev/features/warpify.
Что по безопасности?
Warp работает локально. Ни одна из ваших команд, переменных, путей или истории не уходит в облако — кроме Warp AI-запросов, которые явно отмечаются.
Конечно, можно отсылать анонимную аналитику, но это на ваше усмотрение.
Когда-нибудь похожий терминал будет показывать логотип RobCo.
Продолжаем серию наших пикабу-передач про вторую жизнь старого терминала. Зачем?... Потому что вещи 90х обладают сладким флером ностальгии. Во второй части я обещал рассказать про физическую часть переходника(я, наконец, заказал плату, но пока не спаял).
Вид сзади. Нас интересует порт справа - DB15.
Как я уже рассказывал в предыдущей статье - в данных терминалах нет никаких средств связи, кроме порта(и, видимо, приёмо-передатчика) Twinax (LPT не в счет). Этот магический протокол работает таким образом, что терминал это всегда исключительно slave (в 90е еще можно было так называть), а "головная" часть находится на стороне майнфрейма. Забегая вперед - именно этот майнфреймм мы и будем эмулировать.
Вот такой шкафчик пришлось бы поставить дома, чтобы вернуть работоспособность терминалу без новых технологий. И всё это было слабее смартфона, через который вы, вероятно, читаете эту статью.
Перво-наперво, информацию о таких старых девайсах можно поискать в библиотеке IBM. Однако определенное время назад там произошел сбой, а бекапы, как мы знаем, для слабаков - часть старой документации была утеряна. Тем не менее, для пытливых умов рекомендую сайт bitsavers.
Документации по терминалу - кот наплакал. Но на самом деле всю работу за меня сделал некий inbolmie с форума deskthority - отличный форум для любителей старого железа и не только. Он собрал данные по однотипным терминалам и установил, что поскольку они работают по протоколу twinax, значит есть определенная унификация и ВСЕ терминалы, поддерживающие данный протокол будут работать через конвертер. На всякий случай оставлю ссылку на первоисточник.
Как получился этот терминал.
Документацию в 90х писали не то, что сейчас - тогда подразумевалось, что пользователь с паяльником может полностью восстановить не рабочее устройство. В описании терминала 5250 было указание на модуль работы с протоколом twinax и ссылка на процессов DP8344. Проц старый, но нас интересует не он(мы же не на сайте oldje (извините)), а описание принципа работы и характеристики:
Проц старый и понимает только ассемблер. Последний раз я асму держал в руках 15 лет назад и возвращаться к ней не очень хочется. После изучения доступной на битсейвере инфы, можно прийти к выводу, что:
Не надо изобретать свою плату, можно использовать схему 25-ти летней давности, повторив её - компоненты должны стоить копейки(о, как я ошибался).
нужен микроконтроллер, который будет конвертить из твинакса в "нормальный" вид
Конвертер конвертером, но нужен "заменитель майнфрейма", который и будет конечной точкой подключения терминала.
В исходной статье автор отказался от использования Raspbery Pi в качестве мозга конвертора, потому что порты GPIO работают куда медленнее 2Мгц и не вытянут семплинг, а еще там будет линукс, который чтобы заставить работать напрямую с портами(чтобы повысить быстродействие)-то еще развлечение. Следующим вариантом был FPGA, но для людей без опыта работа с данной микросхемой вообще не очевидна. Может быть, второе устройство я сделаю как раз на FPGA - оно бы решило все проблемы с быстродействием. В общем, автор статьи на дескторити решил взять Teensy 4.0 600Мгц, но данная микруха в 2025м в Москве(с доставкой) стоит порядка 4к (напомню, весь терминал 11к) и игрища с ней в мои финансовые планы не входят. По этому я выбрал китайский аналог AT32F403ACGU7 - похожая по характеристикам(медленнее) плата с процом частотой 240Мгц и стоимостью 280р на Али. Зачем нам такая частота для протокола и скоростей 90х? Как я уже говорил, twinax (да окончит Бог-Машина его циклы) работает на 2Мгц, это значит, что по теореме Котелькова мы должны считывать (дискредитировать, или как там) сигнал с частотой минимум 4Мгц. Однако, микроконтроллер не может на каждый такт выполнять команду, одна команда занимает несколько тактов, а нам, я предвижу, понадобится не одна команда для считывания сигнала. В общем, пол-палец-потолок было установлено, что 240Мгц частоты должно хватить впритирку для считывания сигнала от терминала.
Так же в исходной статье, аффтар предлагает конвертер втыкать через USB в современный комп с линуксом, где будет крутиться скрипт, отсылающий шелл на USB.
Мы же с вами схему немного изменим - конвертер будет подключаться не по USB, а по UART (есть в моём контроллере) и не к PC, а к Orange Pi, где тоже есть UART. Таким образом мы оставим терминал "мобильным" - просто к нему прибавится небольшая коробочка. На Оранж Пи я уже поставил Убунту, а это значит, что можно будет через SSH\cli (напомню, терминал ТЕКСТОВЫЙ, никакого графония) подключаться куда угодно. Плюс, я же хочу сделать подобие терминала RobCo из Falllout 4, а для кастомизации баша есть просто тонна утилит.
Про благословленный Омниссией интерфейс twinax можно почитать тут. Всё равно лучше википедии никто не расскажет:
The data transmission is half-duplex, balanced transmission, at 1 Mbit/s, on a single shielded, 110 Ω twisted pair. [...] Twinax is a bus topology that requires termination to function properly. Most Twinax T-connectors have an automatic termination feature. [...]
Signals are sent differentially over the wires at 1 Mbit/s (1 μs/bit ± 2%), Manchester coded, with preemphasis.[...] to provide preemphasis, for the first 250 ns (1/4 bit time) after a signal is driven low, the negative signal line is driven to −1.6 V. [...] The two wires are denoted A and B. To encode a 0 bit, A>B for the first half of the bit time, and A<B for the second half. A 1 bit is the opposite. Thus, each signal line is driven low for either 500 or 1000 ns at a time, of which the first 250 ns is emphasized. This is a picture of the teoric waveforms from the DP8344 datasheet.
"Манчестерский" код в протоколе Twinax
Как вы можете видеть, достаточно хитрожопое кодирование - нет "современного" логического уровня(самый нижний график), "единица" кодируется переходом от единицы на ноль в середине бита, а "ноль" - с нуля на единицу, плюс второй провод двух проводного кабеля твинакс дает тот же сигнал но с отставанием на 250 наносекунд (график В относительно графика А). Именно для считывания этого сигнала нам и нужен такой быстрый процессор.
Вообще микроконтроллер должен справиться играючи с задачей кодирования в "манчестерский" код (физическая среда передачи Ethernet, между прочим), нам всего-лишь нужна обвязка.
Из пиндосских не очень секретных материалов получаем данную схему.
Тяяяк....
Одна SN75110A и одна SN75112 нужны для генерации форм сигнала на линках А и В (между прочим, терминал "лупит" на 152м своим сигналом).
Одна LM361 - аналоговый компаратор - для восстановления манчестерского сигнала путем вычитания канала А из В и вывода результата с цифровым уровнем 3В.
Несколько И, НЕТ, XOR микрух для логического склеивания.
Дальнейшими деталями сигнала грузить вас не буду, если хотите - читайте исходную статью.
Вот такую принципиальную схему я составил в итоге:
1/2
Сначала моя схема, потом исходная.
Отличий особо не заметно, верно? Схему я переделывал в EasyEDA - китайском каде, очень рекомендую. Ну тут понятно, я не менял элементы, если совпадал форм фактор, но микрухи 30ти летней давности в условиях санкций стоят как чугунный мост, по этому где мог, я постарался сделать замену. (опишу в следующей статье)
1/2
Сначала исходная схема, потом моя.
Для удешевления пришлось заменить ряд элементов и изменить их форм фактор - вместо DIP14 изначально, поставить SOP14 - как я буду это паять, я пока не представляю. Но... Элементы закуплены, плата в производстве, как только попадет в мои потные ручки - дам знать.
Ну и на последок:
Статья была написала на клавиатуре 8bitdo C64 - если хотите сравнение с IBBM Model M, 8BitDo model M и 8BitDo C64 - черканите в комменты, пожалуйста - мне бы такая статья пригодилась до того, как я всё это купил, а вам - не знаю еще.
UPD:
Теорема, конечно же, Котельникова. Но мне чаще попадалась под английским именем.
А вот ошибка в дискретизации - неудачная попытка пошутить. Спасибо вам за внимательность!
Долго я только читал, но вот решил излить свой опыт по одной, на мой взгляд, интересно самоделке - конвертер twinax в "нормальный вид". Заранее извиняюсь за длиннопост.
Это будет серия статеечек по причине, что оборудование еще не готово физически и охватить все вместе в одном посте - нереально.
Забегая вперед - вот план:
Вводная статья "за жизнь"
Аппаратная часть
Программная часть
Начну издалека - я жуткий ретроград. Мне нравятся старые вещи (не все), а ведь я сам еще даже не "в возрасте". Может быть это какая-то ностальгия - ведь моё детство пришлось на "швятые 90е" с бытовавшей там техникой, а может, опять же, детские воспоминания слаще и приятней... Но тем не менее, когда берешь в руку старую вещь, часто чувствуешь "качество". Не секрет, что многие компании в век индустриального прогресса до определенного момента делали вещи всё качественнее и качественнее, но потом смекнули, что если делать хорошо, то никто не будет покупать новый топар, в замер старого. Есть, конечно, исключения, но в целом это так. Вот и у меня по одному(а может и всем вместе) признаку теплится нежная любовь к стилю и виду компьютерной и иной техники 90х... Теплый "кремовый цвет, 50 оттенков серого, незабываемый клик механической клавиатура......
В общем, довела меня нелегкая на пути механических клавиатур до покупки знаменитой и неповторимой модели М от IBM.
IBM Model M собственной персоной
ПРобовал я разные свитчи, разные клавиатуры, кейкапы, но все форума в унисон твердили, что все современные клавы - жалкое подобие механического отклика ТОЙ САМОЙ, первой клавиатуры. Да и цвет один из моих любимых.... В общем, не долго думая, полез я на всем известный сайт купи-продай за ней, родимой. Сразу скажу, что на момент начала 2025го года, такие вот игрушки за редким исключением торгуются по 12к плюс-минус. Цена кусачая, но было решено её уплатить, чтобы закрыть гештальт. И какого же было моё удивление, когда вместо клавиатуры, за те же деньги, я нашел целиковый древний терминал в удобовариваемом виде.
IBM InfoWindow II 3486
Основная цель изначально была в клавиатуре, так что решено было брать и заодно поизучать вопрос использования данного текстового терминала для современных прикладных задач, а именно, подключения к linux машинам через SSH.
Изучение вопроса показало, что документации на терминал - кот наплакал. Из официального - только marketing reference guide, из которого ясно, что терминал текстовый, подключается к майнфрейму по протоколу twinax, можно воткнуть специальную терминальную версию клавиатуры в спецпорт и ps\2 мышку сверху.
На фото тот самый терминал с клавиатурой с 122 клавишами и "майнфрейм" семейства AS\400
Превращать свою квартиру в музей ретро техники я пока не готов(ну почти), да и данный майнфрейм достать в России - задача не тривиальная, по этому было решено гуглить дальше. Всякие попытки подключения старых клавиатур(а у меня она не одна) давно и прочно привели меня на форум deskthority. Там я и нашел статью святого человека про конверсию протокола общения терминала с майнфреймом (Twinax).
Давайте пробежимся в двух словах по тому, что написал тот достойный муж. Во-первых, терминал работает в блочном режиме, а не ASCII, то есть вариантов подключить его как "монитор", "клавиатуру" напрямую нет. Во-вторых, система взаимодействия протокола twinax подразумевает master-slave конфигурацию (именно такую, как в 90е - только потом слово slave было выпилено из документации), где slave - это именно терминал и сам он ничего инициализировать не может, ему нужен пинок от майнфрейма. В четвертых, на самом терминале нет, например, сетевого или ком-порта, к нему можно подключить либо майнфрейм, либо принтер. ****ие пироги (как говорил майор Нечаев из Atomic Heart).
Получается, что единственно рабочий вариант - это воссоздать ответную часть терминала - майнфрейм и эмулировать его команды на терминал. Сделать это можно тремя способами:
Найти Майнфрейм
Воссоздать плату с использованием микроконтроллера
Воссоздать плату с использованием FPGA
Первый вариант не реализуем. Третий вариант для меня rocket science, но, я бы хотел попробовать попозже. Остается вариант воссоздания платы на микроконтроллере.
Документацию в 90е вели моё почтение - подразумевалось, что ты должен с помощью руководства по эксплуатации починить неработающий майнфрейм, перепаять при надобности.
Аппаратную часть мы рассмотрим в следующей статье, а вот вам схема из описания специально разработанного для twinax процессора для затравочки:
DP8433
Аппаратные вопросы рассмотрим в следующем посте.
А вот такого примерно хочется достичь (терминал IBM 5251) - чтобы старый монохром и новый ssh.
У меня мелкий SSD в ноутбуке и свободного места всегда что-то около 18Gb. После интенсивных работ со всяким софтом SSD заполняется под завязку, но при этом, если знать где искать и пользоваться хорошим мониторингом, то можно настолько много всего удалить ненужного, что легко добавятся дополнительные пара десятков гигабайт. Вот про мониторинг и будет этот текст.
Тема: Какими командами удобно найти занимающие место файлы из терминала linux или MacOS?
Сначала то, что поможет многим с этой задачей без знания других команд:
ncdu (NCurses Disk Usage)
1. Что это такое?
ncdu — это анализатор использования диска с текстовым (curses) интерфейсом. Он сканирует указанную директорию (или всю систему) и представляет результаты в интерактивном виде, позволяя легко перемещаться по дереву каталогов, видеть, какие папки и файлы занимают больше всего места, и даже удалять их прямо из интерфейса.
2. Установка
Сначала его нужно установить, если он еще не установлен. Команды зависят от вашего дистрибутива:
Debian / Ubuntu / Mint:
sudo apt update sudo apt install ncdu
Fedora / CentOS / RHEL (современные версии):
sudo dnf install ncdu
CentOS / RHEL (старые версии):
sudo yum install ncdu
Arch Linux / Manjaro:
sudo pacman -S ncdu
macOS (используя Homebrew):
brew install ncdu
3. Запуск
Сканировать текущую директорию:
ncdu
Сканировать конкретную директорию (например, домашнюю):
ncdu ~
Сканировать корневой каталог (всю систему):
sudo ncdu /
sudo здесь обязательно, так как у обычного пользователя нет прав на чтение всех каталогов системы.
Сканирование / может занять значительное время, особенно на больших дисках или медленных системах. Будьте терпеливы. Вы увидите индикатор прогресса.
4. Интерфейс
После завершения сканирования вы увидите примерно такой интерфейс:
ncdu 1.18 ~ Use the arrow keys to navigate, press ? for help
Total disk usage: 115.2 GiB Apparent size: 114.9 GiB Items: 153287
Верхняя строка: Показывает версию ncdu, подсказку по клавишам и текущий путь.
Основная часть: Список файлов и директорий в текущем каталоге, отсортированный по умолчанию по размеру (от большего к меньшему).
Размер: Отображается в читаемом формате (GiB, MiB, KiB).
График: Простая текстовая гистограмма [##########] показывает относительный размер элемента по сравнению с самым большим в текущем списке.
Имя файла/директории:
/ в конце имени означает директорию.
> перед именем означает, что директорию не удалось прочитать (ошибка доступа) или это символическая ссылка на директорию (зависит от опций запуска).
e перед именем означает пустую директорию.
. перед именем означает скрытый файл или директорию (как в ls -a).
Нижняя строка: Суммарная информация о текущей директории (общий размер, "видимый" размер, количество элементов).
5. Навигация и Основные Действия (Клавиши)
Самое главное - это клавиши управления:
↑ (стрелка вверх), k: Переместиться на строку выше.
↓ (стрелка вниз), j: Переместиться на строку ниже.
→ (стрелка вправо), Enter, l: Войти в выделенную директорию.
← (стрелка влево), <, h: Выйти в родительскую директорию.
n: Сортировать по имени (повторное нажатие меняет порядок: A-Z / Z-A).
s: Сортировать по размеру (повторное нажатие меняет порядок: больше -> меньше / меньше -> больше). Это сортировка по умолчанию.
C: Сортировать по количеству элементов внутри директории (повторное нажатие меняет порядок).
d: Удалить выделенный файл или директорию. Внимание! ncdu запросит подтверждение (Are you sure you want to delete...? (y/N)). Это действие необратимо! Будьте предельно осторожны, особенно при работе с sudo.
i: Показать информацию о выделенном элементе (полный путь, размер, видимый размер, количество элементов, время последнего изменения). Нажмите i еще раз, чтобы скрыть окно информации.
r: Обновить/пересканировать текущую директорию. Полезно, если вы удалили что-то вне ncdu и хотите увидеть актуальное состояние.
g: Переключить отображение графика (показать/скрыть столбец с [###]).
a: Переключить отображение между использованием диска (disk usage) и видимым размером (apparent size). Обычно они близки, но могут отличаться для "разреженных" файлов или файлов с большим количеством жестких ссылок.
e: Показать/скрыть скрытые файлы и директории (те, что начинаются с точки .).
?: Показать экран помощи со всеми доступными командами. Нажмите ? еще раз, чтобы закрыть помощь.
q: Выйти из ncdu.
6. Пример использования (Поиск места в домашней директории)
cd ~ (перейти в домашнюю директорию, необязательно)
ncdu (запустить ncdu для текущей директории)
Дождаться окончания сканирования.
Посмотреть на верхние строки - это самые большие папки/файлы. Допустим, вы видите, что /home/user/Downloads занимает много места.
Используя стрелки ↓/↑, выбрать строку Downloads.
Нажать Enter (или →), чтобы войти в Downloads.
Увидеть список файлов и подпапок внутри Downloads, снова отсортированный по размеру. Найти большой ненужный .iso образ или старый архив.
Выбрать этот файл стрелками.
(Необязательно, но рекомендуется) Нажать i, чтобы посмотреть детали (убедиться, что это точно тот файл, который можно удалить). Нажать i снова.
Нажать d.
ncdu спросит подтверждение. Внимательно прочитать имя файла/папки. Если уверены, нажать y, затем Enter.
Файл удален, список обновится.
Закончив исследование и чистку, нажать q для выхода.
7. Дополнительные опции командной строки (некоторые полезные)
ncdu -q: "Тихий режим" - обновляет экран реже во время сканирования (может немного ускорить сканирование на медленных соединениях/терминалах).
ncdu -x: Сканировать только одну файловую систему (не переходить на другие смонтированные разделы). Полезно при запуске ncdu /, чтобы не сканировать /home, /var и т.д., если они на отдельных разделах.
ncdu --exclude ПАТТЕРН: Исключить файлы/директории, соответствующие паттерну. Например, ncdu / --exclude /proc --exclude /sys.
ncdu -o ФАЙЛ: Сохранить результаты сканирования в файл. Это полезно для долгих сканирований (sudo ncdu / -o /tmp/scan.dat). Потом можно быстро открыть результаты: ncdu -f /tmp/scan.dat.
ncdu — мощный и интуитивно понятный инструмент, который значительно облегчает задачу поиска "пожирателей" дискового пространства. Просто начните им пользоваться, и вы быстро освоитесь! И помните про клавишу ?.
Теперь несколько примеров для тех кто любит действовать комбинируя команды в терминале
1. du (Disk Usage) - Основная команда для оценки использования диска
Показать размер текущей директории и всех поддиректорий (суммарно):
du -sh .
-s: Показать только общую сумму для каждого аргумента (в данном случае ., текущая директория).
-h: Показать размеры в "человекочитаемом" формате (K, M, G).
Показать размеры всех файлов и директорий в текущем каталоге (не рекурсивно):
du -sh *
Показать размеры директорий на один уровень вглубь от текущей и отсортировать по убыванию размера:
du -h --max-depth=1 | sort -rh
--max-depth=1: Ограничить глубину сканирования одним уровнем.
|: "Пайп" - передает вывод du на вход команде sort.
sort -rh: Сортировать (sort) в обратном порядке (-r) по человекочитаемым числам (-h).
Найти N самых больших директорий/файлов в указанном пути:
du -h /path/to/search | sort -rh | head -n 20
Замените /path/to/search на нужный путь (например, /home/user или /var).
head -n 20: Показать первые 20 строк вывода (т.е. 20 самых больших элементов).
2. find - Мощная команда для поиска файлов по различным критериям
Найти все файлы размером больше 100 Мегабайт в текущей директории и ее поддиректориях:
find . -type f -size +100M -ls
.: Искать начиная с текущей директории.
-type f: Искать только файлы (f - file).
-size +100M: Искать файлы, размер которых больше 100 Мегабайт (M). Можно использовать k (килобайты), G (гигабайты). + означает "больше", - означает "меньше", без знака - "точно".
-ls: Вывести найденные файлы в формате ls -lids.
Найти файлы больше 500M во всей системе, показать размер и отсортировать:
sudo find / -type f -size +500M -printf "%s %p\n" | sort -nr | head -n 20
sudo: Часто требуется для поиска по всей системе (/), так как не все каталоги доступны обычному пользователю.
/: Искать начиная с корневого каталога.
-printf "%s %p\n": Напечатать размер файла в байтах (%s), пробел, и полный путь к файлу (%p), затем перевод строки (\n). Это удобнее для сортировки по размеру, чем -ls.
sort -nr: Сортировать (sort) численно (-n) в обратном порядке (-r).
head -n 20: Показать топ 20 самых больших файлов.
Опционально: Можно добавить 2>/dev/null после команды find, чтобы скрыть ошибки доступа к каталогам:
sudo find / -type f -size +500M -printf "%s %p\n" 2>/dev/null | sort -nr | head -n 20
Найти файлы больше 1G и выполнить для них du -h (показывает размер удобнее, чем %s):
sudo find / -type f -size +1G -exec du -h {} \;
-exec du -h {} \;: Для каждого найденного файла ({}) выполнить команду du -h. \; означает конец команды -exec. Это менее эффективно, чем -printf, если файлов много, так как du запускается для каждого файла отдельно.
Более эффективный вариант с -exec ... + (запускает du для пачки файлов):
sudo find / -type f -size +1G -exec du -ch {} + | grep total$
-ch: Показать размер каждого файла И общую сумму (c - total), в человекочитаемом формате (h).
grep total$: Отфильтровать только строки с общей суммой (хотя в данном случае du скорее всего покажет размер каждого файла отдельно, если их много). Лучше просто sudo find / -type f -size +1G -exec du -h {} + | sort -rh
Теперь можно проверить, работает TorrServer или нет, введя в браузере следующий адрес, тем самым открыв его web-морду: http://localhost:8090, http://127.0.0.1:8090или, с любого другого устройства в локальной сети: http://ваш_локальный_ip:8090 (например http://192.168.0.1:8090) На этом установка завершена.
Все действия выполняются через терминал (пока работает только так, но при желании можно запилить себе башик). Скачиваем и устанавливаем дистрибутив курлом (ссылку скопировать из инструкции, пикабу ее режет):
Авторизовываемся (увы, это обязательно), введя данные аккаунта после исполнения команды:
/opt/adguardvpn_cli/adguardvpn-cli login
Можно посмотреть список доступных локаций и сменить на нужную:
You are now logged in. You can see the list of available locations by running `/opt/adguardvpn_cli/adguardvpn-cli list-locations` (127)(deck@steamdeck ~)$ logindguardvpn-cli list-locations
You can connect to a location by running `/opt/adguardvpn_cli/adguardvpn-cli connect -l <location>` Successfully Connected to HELSINKI
P.S. Про дополнительные пакеты не скажу. У меня сразу создался публичный ключ и всё поставилось без доп. настроек. Использовал и использую на Steam Deck.