Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
441 - Telegram Web
Telegram Web
Быстрая работа с json и yaml прямо в терминале

Иногда нужно быстро вытащить нужный параметр из конфигурации, проверить значение в json-ответе api или подправить yaml-файл, не открывая редактор.

Делать это вручную неудобно, особенно в скриптах и автоматизации. Здесь помогают jq и yq - это лёгкие утилиты, которые умеют разбирать, фильтровать и менять данные прямо в терминале.

Установка:

jq легко ставится из стандартных репозиториев, и после этого можно сразу работать с json:


sudo apt install jq


С yq важно не путать версию на Go с устаревшей на Python, у них разные возможности. Быстрее всего взять готовый бинарник с официального репозитория:


sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq
sudo chmod +x /usr/local/bin/yq


Как использовать?

jq читает данные из файла или из пайпа, что удобно, когда работаешь с api. Например, чтобы вытащить значение поля name из json:


jq '.name' config.json


Если внутри массив, можно пройти по каждому элементу и взять только нужные значения. Такой приём часто используют для вытаскивания id:


jq '.[].id' data.json


yq делает то же самое с yaml и к тому же понимает json. Если нужно узнать, какой образ используется в docker-compose.yml:


yq '.services.app.image' docker-compose.yml


Менять файлы тоже просто, добавляем -i и задаём новое значение, например, меняем порт:


yq -i '.services.app.ports[0] = "8080:80"' docker-compose.yml


Полезно помнить, что оба инструмента можно комбинировать с grep, awk и другими утилитами, а yq умеет работать с вложенными yaml-файлами, что упрощает правку сложных конфигов kubernetes.

Вывод:

С помомью jq и yq можно автоматизировать множество рутинных задач: от чтения конфигов в ci/cd до быстрой правки параметров без открытия редактора.

Такой подход экономит время и позволяет обрабатывать данные прямо в командной строке, без лишних инструментов.

LinuxCamp | #utils
🔥27👍158🥴1
Увеличение рыночной доли Linux

ОС Linux с каждым годом все более уверенно подгребает под себя пользователей и набирает обороты.

Подъехали свежие цифры текущей доли рынка Linux на десктопах:

— Судя по статистике от различных источников (Statcounter, Steam Survey, Statista и Stack Overflow), доля Linux на десктопах варьируется от 2,7% до 4%.

— Среди геймеров на Steam она составляет ~ 2,9%, опережая macOS.

— По опросу вутри Steam, самыми ходовыми ос являются: Arch Linux, Linux Mint и Ubuntu.

Так что продолжаем проталкиваться в массы и учить программирование, чтобы проталкивать Linux в массы)

LinuxCamp | #news
😇28👍129🔥4🦄2🥴1
🐸 Основы Linux: самые нужные команды

Держи несколько базовых команд, которые помогут тебе чувствовать себя "на коне".

Узнать путь

Начнем с перемещения по файловой системе. Команда pwd показывает, где ты находишься сейчас:


pwd


Посмотреть файлы

Если нужно посмотреть, что лежит в папке, используется ls. Для удобства сразу пиши флаги "-l" или "-la", чтобы увидеть доп инфу и скрытые файлы:


ls -la


Создать каталоги

Создавать папки и файлы можно через mkdir и touch. Например, так создаётся новая директория и пустой файл внутри неё:


mkdir projects
cd projects
touch readme.txt


Переместить/скопировать файлы

Чтобы переместить или скопировать файлы, пригодятся mv и cp. Перемещение файла в другую папку выглядит так:


mv readme.txt /home/user/Documents/


А если нужно именно скопировать:


cp readme.txt backup_readme.txt


Посмотреть содержимое файла

Чтение содержимого файла можно сделать через cat, а если файл большой, то удобнее использовать less:


cat readme.txt
less /var/log/syslog


Поиск файла

Иногда нужно найти, где именно лежит файл. Для этого есть команда find:


find /home/user -name "*.txt"


Управление процессами

Работа с процессами тоже часто нужна. Чтобы посмотреть, что сейчас запущено, используется ps или более наглядный top:


ps aux
top


А чтобы завершить процесс по PID, выполняется kill:


kill 1234


Управление правами доступа

И, конечно, права доступа. Проверить их можно через ls -l, а изменить с помощью chmod. Например, дать права на выполнение скрипта:


chmod +x script.sh


LinuxCamp | #utils
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍228🥴4🤝2🌚1
Линус, три в одном

Мне вот этот комментарий на Reddit понравился:

«Если бы я оказался на необитаемом острове, и единственным способом выбраться оттуда было бы сделать красивый интерфейс, я бы там и умер».

— Торвальдс, великий дизайнер


Мы же, как раз, все его и знаем как "великого дизайнера" 🗣

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁64🔥193👏3🤔2🤨1
Знаешь только apt? Разбираемся в пакетных менеджерах

Многие начинают с ubuntu и apt, но потом сталкиваются с другими дистрибутивами. Там вместо привычных команд - dnf или pacman. Плюс новые форматы приложений.

Давайте расширим базу наших знаний и пройдемся по всем популярным менеджерам пакетов:

Apt

Начнём с apt. Он используется в Debian и всех его производных: Ubuntu, Linux Mint, Pop!_OS. Это один из самых простых и понятных менеджеров:


sudo apt update
sudo apt install htop


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

Минус - версии могут заметно отставать от апстрима, а чтобы получить новое, приходится подключать PPA или ставить вручную.

Dnf

Используется в Fedora, RHEL и CentOS. Это развитие старого yum. Он работает схожим образом, но отличается продуманным управлением зависимостями и расширенной системой плагинов:


sudo dnf install htop


Преимущество dnf - обновления в Fedora приходят очень быстро, почти сразу после релиза. В корпоративных системах на RHEL, наоборот, делают упор на стабильность.

Минус - экосистема поменьше, чем у Debian/Ubuntu, и часть пакетов приходится искать в сторонних репозиториях.

Pacman

Arch Linux и все его производные, например Manjaro, используют pacman.


sudo pacman -Syu htop


Pacman минималистичный и очень быстрый. У Arch одно из самых свежих и полных репозиториев. А если чего-то нет, есть AUR, где пользователи выкладывают свои PKGBUILD. Нужно учитывать, что не все пакеты из AUR одинаково безопасны.

Snap

Теперь перейдём к универсальным форматам. Snap - это контейнеризованные пакеты от Canonical. Он предустановлен в Ubuntu, а в других системах ставится отдельно. На Debian и Ubuntu-подобных он доступен в репозитории:


sudo apt update
sudo apt install snapd


В Fedora нужно включить snapd и добавить поддержку сервисов:


sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap


В Arch Linux установка выглядит так:


sudo pacman -S snapd
sudo systemctl enable --now snapd.socket


После этого можно ставить приложения:


sudo snap install vlc


Flatpak

Он решает похожую задачу. Предустановлен в Fedora, а в других системах добавляется вручную. В Ubuntu и Debian ставится так:


sudo apt install flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


В Fedora он уже включён, достаточно лишь подключить Flathub:


sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


В Arch Linux flatpak доступен напрямую:


sudo pacman -S flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


После чего можно устанавливать приложения, например:


flatpak install flathub com.spotify.Client


Flatpak экономит место за счёт общих библиотек и даёт гибкий контроль доступа. Но приложения из Flathub могут быть тяжелее и иногда хуже интегрируются с системой.

Вывод

apt, dnf и pacman — это системные менеджеры, каждый со своим семейством дистрибутивов. Они надёжные и интегрированные, но иногда ограничены по свежести пакетов.

Snap и Flatpak - это универсальные форматы, которые работают поверх любой системы, позволяют получать последние версии программ, но требуют больше ресурсов.

На практике часто сочетают оба подхода: системный менеджер для базовых пакетов и Flatpak или Snap для новых приложений. Такой микс даёт и стабильность, и актуальность.

LinuxCamp | #utils
👍6513🔥12
А потому что компанию нужно правильную выбирать) Сначала windows под забором ставит, а потом, что...

LinuxCamp | #memes
😁91🥱63🔥3🤔3
Namespaces в Linux: как работает изоляция процессов

Когда мы говорим про контейнеры и виртуализацию на уровне ОС, ключевая технология, которая это обеспечивает - namespaces.

Это механизм ядра Linux, который изолирует процессы друг от друга и даёт им иллюзию, что они работают в отдельной системе.

По умолчанию все процессы видят одну и ту же систему: один список процессов, один hostname, одну файловую иерархию. Namespaces позволяют разрезать это пространство на отдельные «куски», и процесс внутри такого куска думает, что он единственный в системе.

Пример создания namespace:

Создать новый namespace можно утилитой unshare. Например, давайте изолируем hostname:


sudo unshare --uts /bin/bash


Теперь в новом шелле можно поменять имя хоста:


hostname container1


Если открыть вторую сессию и выполнить hostname, мы увидим старое имя. То есть разные процессы живут с разными настройками.

Пример изоляции процессов:

В обычной системе ps покажет все процессы, но если создать новый PID namespace:


sudo unshare --pid --fork --mount-proc /bin/bash


и выполнить там:


ps -ef


то видно будет только процессы внутри этого namespace. Для приложения это выглядит так, будто оно единственное в системе.

Namespaces бывают разных типов:

UTS - изоляция имени хоста и домена.
PID - изоляция процессов.
Mount - отдельная файловая иерархия.
Network - собственные сетевые интерфейсы и таблицы маршрутов.
IPC - изоляция межпроцессного взаимодействия.
User - собственные пользователи и идентификаторы.
Cgroup - изоляция и управление ресурсами (каждый процесс видит только свою часть иерархии cgroups).

Вывод:

На практике контейнеры в Docker или Podman используют комбинацию нескольких namespaces сразу. Поэтому внутри контейнера видно только свои процессы, сеть, файловую систему и т.д.

Главный плюс namespaces - это лёгкая изоляция без полноценной виртуальной машины. Но они не решают задачу безопасности полностью, поэтому для жёсткой изоляции применяют дополнительные механизмы, например cgroups и seccomp.

LinuxCamp | #utils #bymagadrovosex
🔥26👍22101
Подводим итоги полугодия

Чуть с опозданием, но делаю сводку ключевых постов (март - август 2025):

Оболочка

1. Перемещайся по файловой системе как флеш: CDPATH

SSH

1. Автоматическая защита SSH от перебора
2. Портфорвардинг по ssh
3. autossh — чтобы SSH-туннели не отваливались

Сеть

1. Как найти процесс, который грузит сеть: nethogs
2. nft: современный фаервол в Linux, который заменил iptables
3. ss: современный способ смотреть порты и сетевые соединения
4. ncdu — лучший способ быстро очистить место на сервере
5. Шпаргалка по ufw для базовой настройки фаервола
6. Шпора по флагам rsync

Файлы и каталоги

1. Введение в команды: pushd, popd, dirs
2. Практика использования: pushd, popd, dirs
3. Как вернуть последний каталог в стек?
4. Полезные опции для поиска файлов через grep
5. Удаление файлов старше n дней: find
6. Как разбить файл на части: split
7. Если часто просматриваешь логи, помни про "tail -f"
8. Как правильно удалять ссылки?
9. Команда chgrp и изменение атрибутов ссылок
10. Приводим хаос данных к порядку: sort
11. lsof: что держит порт, файл или устройство занятым?
12. rg (ripgrep) - самый быстрый поиск в файлах
13. fzf - быстрый «поиск-как-пишешь» прямо в терминале
14. bat — «цветной cat» с номерами строк и подсветкой кода
15. Продвинутый просмотр размера каталога: du

Разбор команд

1. Разница между su и su -
2. Как менять пароли: passwd
3. Как узнать разрядность операционки?
4. Как работает cron и зачем он нужен?
5. Команда watch: живой взгляд на процессы и метрики
6. tmux: держим терминал «живым», даже если связь пропала
7. tldr — короткие примеры вместо километров man-страниц
8. Быстрая работа с json и yaml прямо в терминале
9. Разбираемся в пакетных менеджерах
10. Как узнать тип сессии: Wayland или Xorg?
11. Собери себе эстетичный IDE в терминале

Личные практики:

1. Как я познакомился с Dbus-ом
2. Утилиты для работы с DBus сервисами
3. На повестке дня gsettings
4. Подключение к сети через "CaptivePortal"
5. Мой Linux roadmap

DevOps

1. От cron‑а к DAG‑ам: зачем нужен оркестратор и почему именно Airflow
2. Базовая настройка Nginx и подключение домена: как я это сделал
3. Как очистить сервер от мусора
4. Что такое Ansible - и как обновить пакеты сразу на 10 серверах
5. Caddy - замена Nginx с авто-TLS и минимальной настройкой
6. Что такое logrotate и как он спасает ваши диски

Docker

1. Собираем минимальный Docker образ
2. Из чего состоит Dockerfile?
3. Команда docker init: как использовать на Windows
4. Почему docker compose logs -f спасает на проде
5. Оптимизация Dockerfile и образов
6. Что такое docker network и зачем он нужен?
7. Масштабируем сервисы через docker compose --scale
8. Что такое Docker Swarm и как с ним работать
9. Закрываем Docker-порты правильно
10. Минимальная настройка мониторинга контейнеров в терминале

Systemd

1. Как сделать службу недоступной?
2. Проверка статуса службы
3. Где же сидят эти службы?
4. Systemd Timer - альтернатива cron

Файловая система

1. Размонтирование файловой системы: unmount
2. Типы файловых систем Linux
3. Удобная работа с файловой системой через CLI: mc
4. Как исправить "rm: cannot remove ‘file’: Device or Resource Busy"?

Подборки

1. Лучшие эмуляторы терминала
2. Топ 5 полезных приложений на Linux

Процессы и программы

1. Namespaces в Linux: как работает изоляция процессов

LinuxCamp | #sumup
1🔥52👍28❤‍🔥83👏1
Ubuntu 25.10 теперь использует sudo-rs

В свежих daily-сборках Ubuntu 25.10 вместо классического sudo применяется sudo-rs, переписанный на Rust.

Это шаг к повышению устойчивости к эксплойтам благодаря защитам Rust. Вернуться к старому sudo можно через update-alternatives, а оригинальная версия останется доступной вплоть до LTS-релиза 26.04.

Этот переход — часть стратегии Ubuntu по внедрению современных, безопасных инструментов системы.

LinuxCamp | #news
🔥34🤔21👍16💊111
Docker и Podman: в чём разница?

Оба инструмента нужны, чтобы запускать контейнеры в Linux. Контейнер - это процесс с отдельными namespace и cgroup, которому «кажется», что у него есть свой собственный хост, сеть и файловая система. Но у Docker и Podman архитектура работы разная.

Как устроен Docker:

Docker устроен по модели «демон + клиент». На машине работает сервис dockerd с root-правами, который управляет всеми контейнерами. Когда вы пишете команду docker run nginx, CLI отправляет её демону, дальше запускается цепочка:


dockerd → containerd → containerd-shim → runc → PID 1 контейнера


Контейнерные процессы видны в ps, но родитель у них containerd-shim.

Как устроен Podman:

Podman демона не имеет. Команда podman run nginx сразу создаёт отдельный процесс-контейнер, за которым следит маленький монитор conmon:


podman → conmon → runc/crun → PID 1 контейнера


В дереве процессов видно сам контейнер, а не один общий демон.

Rootless режим:

С rootless режимом тоже разница. Docker может работать без root через rootlesskit и slirp4netns, но этот режим появился позже и имеет ограничения (например, не все сетевые возможности доступны). Podman изначально задумывался как rootless-friendly:


podman run --userns=keep-id -d alpine sleep 1000


Сеть:

Сеть у Docker в rootful-режиме - это мост docker0 и правила iptables:


ip link show docker0


В rootless - slirp4netns. У Podman начиная с версии 4.x сеть делает связка netavark + aardvark-dns, в rootless тоже используется slirp4netns или pasta.

Оркестрация:

Для Docker есть официальный docker compose. У Podman - podman-compose (комьюнити) и поддержка pods:


podman pod create --name mypod
podman run --pod mypod -d nginx
podman run --pod mypod -d redis


Ещё Podman умеет работать с Kubernetes-манифестами: podman play kube и podman generate kube.

Вывод:

Оба запускают одни и те же OCI-образы, но Docker работает через демон и привычен для большинства DevOps-пайплайнов, а Podman - без демона, с изначальной поддержкой rootless и pods, ближе к модели Kubernetes.

LinuxCamp | #docker #devops
👍258🔥6❤‍🔥22
PewDiePie-технарь в деле 🤯

PewDiePie завёл GitHub и выкатил свои dotfiles для Arch (Hyprland). Оконный менеджер прям хорошо выглядит, смахивает на fallout.

README проекта встречает нас надписью «Добро пожаловать, командир» (почему-то на русском).

Короч, поздравляем его с переходом на новую ступень эволюции. Хочу от него курсы по системной разработке 🗣

Репозиторий: pewdiepie-archdaemon/dionysus

LinuxCamp | #news #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4112👍10🤪4❤‍🔥1
Тест скорости сети одной командой

Запуск без установки:

Иногда нужно быстро проверить интернет, но нет желания ставить отдельные пакеты. В Linux можно сделать speedtest одной командой:


curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -


Команда скачает Python-скрипт speedtest-cli и тут же запустит его без установки. На выходе будет привычный результат с ping, download и upload. Для работы нужен установленный python3. Если его нет:


sudo apt install python3


Установка для постоянного использования:

Если планируете пользоваться регулярно, то удобнее поставить сам speedtest-cli:


sudo apt install speedtest-cli


После этого достаточно просто выполнить команду:


speedtest


LinuxCamp | #utils #microhelp
😁21👍14🔥6❤‍🔥21🤝1
htop: фишки, о которых часто забывают

О htop знают практически все пользователи линухи. Его воспринимают как "красивый top", а для каких-то систем она вообще предустановлена по умолчанию. Но всеми возможностями пользуются редко, либо вообще не в курсе о них, хотя они реально могут ускорять работу.

Сортировка и дерево процессов:

Сортировку процессов можно переключать на лету. Часто по умолчанию htop показывает нагрузку по CPU, но нажми F6 - и список можно отсортировать по памяти, времени жизни, приоритету или IO. Это удобно, если нужно понять, кто именно грузит систему, не только процессор.


htop
# F6 → выбрать Mem% или TIME+


Есть режим дерева процессов. Нажми F5, и все процессы выстроятся в иерархию с отступами, где видно, кто чей родитель. Это помогает, например, при отладке сервисов или контейнеров, когда нужно быстро увидеть, какой процесс кого породил.


htop
# F5 → Tree


Поиск, приоритеты и завершение:

Поиск по процессам тоже встроен. Просто нажми / и введи часть имени процесса. Найденные совпадения будут подсвечены. Это быстрее, чем прокручивать сотни строк глазами.


htop
# /nginx


Можно менять приоритет процессов прямо из интерфейса. Выбираешь процесс стрелками, нажимаешь F7/F8 и меняешь nice-уровень. Таким образом можно «успокоить» прожорливую задачу без выхода в отдельные команды.


htop
# стрелками выбрать процесс
# F7 - снизить nice, F8 - повысить


Если нужно убить процесс, не обязательно выходить и писать kill. Выбираешь его и нажимаешь F9. Htop спросит, каким сигналом завершить.


htop
# стрелками выбрать процесс
# F9 → SIGTERM или SIGKILL


Дополнительные метрики:

Есть и скрытые метрики. Через F2 открывается меню настроек, где можно включить показ IO по процессам, swap, контекстные переключения, page faults. Htop сразу отобразит эти данные в колонках.


htop
# F2 → Columns → выбрать IO_read, IO_write, MajFLT


Подводный момент: htop показывает данные только в момент запуска, он не хранит историю и не строит долгосрочных графиков. Поэтому если проблему нужно отлавливать во времени, лучше использовать atop или glances.

Вывод:

htop - это не просто «цветной top», а мощный инструмент: сортировка, дерево процессов, поиск, изменение приоритетов, завершение задач и гибкая настройка колонок.

LinuxCamp | #utils
39👍27🔥10
Исправление ошибок в консоли одной командой

Когда часто работаешь в консоли постоянно возникают какие-то мелкие проблемы: опечатался в команде, забыл sudo, не тот флаг или пакет, и снова приходится вводить всё заново.

Решение:

Существует шикарный инструмент - TheFuck! Он автоматически исправляет ошибки в предыдущей команде.

Установка:

Debian/Ubuntu:


sudo apt install python3-dev python3-pip
pip3 install thefuck --user


Arch:


yay -S thefuck


Чтобы активировать добавьте в ~/.bashrc или ~/.zshrc:


echo 'eval $(thefuck --alias)' >> ~/.bashrc
source ~/.bashrc


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

После этого можно использовать, теперь, если вы ошиблись при вводе команды, достаточно набрать:


fuck


И утилита автоматически предложит правильный вариант.

Важно!

Иногда thefuck может предложить неожиданное исправление, поэтому полезно следить за тем, что именно он собирается выполнить :)

LinuxCamp | #utils
16😁13🔥105
Современный ls: exa / eza

Когда-то появился инструмент exa - красивая альтернатива ls. С недавних пор основной форк называется eza. Оба делают одно и то же, просто eza активнее поддерживается и именно он есть в новых Ubuntu/Debian.

Что умеет:

- Красиво подсвечивает права, владельцев, даты.
- Показывает дерево директорий.
- Встраивает git-статусы (-M modified, -N new, -- unchanged).
- Поддерживает иконки (если шрифт в терминале позволяет).

Установка:

sudo apt install eza


(в старых системах пакет может называться exa)

Мастхэв команды:

# дерево каталогов
eza -T

# подробный вывод с правами и датами
eza -l

# с владельцами и git-статусом
eza -lg --git

# размеры в "человеческом" виде
eza -lh

# сортировка по времени изменения
eza -lt


Комбинированный вариант (можно использовать как алиас вместо ls):

alias ls="eza -lh --git --icons"


Вывод:

eza - это та же простая команда для просмотра файлов, но в современном исполнении. Установка занимает секунды, а ощущение, что терминал стал живее и дружелюбнее - останется надолго. Если привыкли к ls, попробуйте заменить его алиасом на eza и, скорее всего, уже не захотите возвращаться назад.

LinuxCamp | #utils
🔥35👍225😐3❤‍🔥1
Напоминаю, что у нас есть чат с отборными линуксоидами. Сюда можно задать любой интересующий вопрос по Linux, DevOps, системному администрированию и разработке.

Участники всегда рады помочь и пообщаться, поэтому не упускай сообщество из виду и присоединяйся!
👍9🔥7💊41
Работа с HTTP-запросами в терминале

Инструмент:

Для отправки запросов из командной строки можно использовать утилиту httpie. Она позволяет выполнять запросы в формате, близком к привычному синтаксису HTTP.

Установка:


apt install httpie


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

Простой GET-запрос
(без операторов — просто указываем метод и URL):


http GET https://primer.com/json


Запрос с передачей данных
- ключ=значение → строка
- ключ:=значение → литерал (число, true/false/null)


http POST https://primer.com/post name=LinuxCamp active:=true


Добавить заголовки
- ключ:значение → HTTP-заголовок


http GET https://primer.com/headers User-Agent:LinuxCamp


Особенности:

- Подсветка синтаксиса и форматирование ответа.
- Удобный ввод параметров (ключ-значение).
- Поддержка JSON "из коробки".
- Подходит для быстрой проверки API прямо из терминала.

Вывод:

httpie - это удобная альтернатива curl, ориентированная на человеко-читаемый вывод. Подсветка синтаксиса, автоматическая работа с JSON и лаконичный ввод делают его полезным инструментом для тестирования и отладки HTTP-запросов прямо в терминале.

LinuxCamp | #utils
👍289🔥5❤‍🔥1
Быстрое перемещение по папкам с помощью zoxide

Инструмент:

zoxide - это умный заменитель cd, который запоминает каталоги, в которых вы работаете, и позволяет прыгать к ним за пару символов.

Установка:


sudo apt install zoxide


Затем добавьте в ~/.bashrc или ~/.zshrc:


eval "$(zoxide init bash)" # для bash
eval "$(zoxide init zsh)" # для zsh


Как пользоваться:

Обычный cd остаётся доступным, но появляются новые возможности, например, добавление каталогов в базу (происходит автоматически при cd):


cd ~/projects/linuxcamp


Переход в каталог по части имени (z - сокращение от zoxide), сразу откроет ~/projects/linuxcamp:


z linux


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


z proj lin


Быстрый возврат в предыдущую папку:


z -


Посмотреть список популярных путей (с рейтингом посещений):


zoxide query -l


Особенности:

- Работает поверх истории - чем чаще заходите в папку, тем выше её приоритет.
- Поддерживает автодополнение (bash, zsh, fish).
- Значительно сокращает время навигации по проектам.

Вывод:

zoxide делает работу с файловой системой быстрее и удобнее. Там, где раньше приходилось писать длинные пути или хранить алиасы, теперь достаточно пары букв.

LinuxCamp | #utils
👍2013🔥5❤‍🔥4👏2
😎 Биг дроп на канале: как я бы учил программирование с 0?

Я уже как 5 лет учу программирование. За это время совершал ошибки и корректировал свой путь. Есть много вещей, которые я бы делал иначе, чтобы процесс шел более эффективно.

В новом видео делюсь опытом и рассказываю, как, по моему мнению, стоит учить программирование, учитывая наличие ИИ в современном мире:

— какие ошибки я бы точно не повторил и как себя держать в ментальном порядке

— как быстро обучаться так, чтобы знания не выветривались через пару дней. Также поговорим о том, что нужно на старте учить и в какой последовательности

— как не попасть в "Tutorial hell" и не увязнуть в потреблении курсов

Видос уже на канале: YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥95🥱2🤣1
asciinema - как записать терминал красиво и удобно

С помощью asciinema можно записывать терминал так, что результат выглядит как видео, но на самом деле это текст. Его можно не только просто воспроизводить как видео, но и копировать команды и вывод прямо из записи. В отличие от классического скринкаста, который занимает много места и теряет качество, asciinema сохраняет чистый поток терминала в лёгком текстовом файле, соответственно мало весит.

Установка:


sudo apt install asciinema


Как записать демку:


asciinema rec demo.cast


Запустится запись. Всё, что вы вводите и что выводит программа сохраняется. Остановить: Ctrl+D или exit.
Файл demo.cast можно вставить в README.md проекта, хранить локально (и потом воспроизводить: asciinema play demo.cast), либо просто делиться файлом

Мгновенный шаринг:

Можно делиться записью прямо через официальное облако asciinema:


asciinema upload demo.cast


После этой команды терминал вернёт ссылку вида:


https://asciinema.org/a/cFWlOCAQjSYYGeJRoUAlSfHx1


По этой ссылке можно открыть сайт asciinema и там посмотреть запись терминала как видео и также весь поток ввода-вывода можно скопировать!

Осторожно с паролями!

asciinema пишет всё, что появляется в терминале. Если вводите пароль или показываете секретный ключ он попадёт в запись, этими данными делиться небезопасно :)

Вывод:

asciinema - это как GIFки из терминала, только без лишнего веса и с удобной интеграцией в документацию, README файлы и копирования ввода-вывода.

LinuxCamp | #utils
🔥23👍85🤔4❤‍🔥1
2025/10/13 13:18:21
Back to Top
HTML Embed Code: