linux.exex [GFYB]
156 subscribers
748 photos
87 videos
9 files
554 links
GFYB - go fuck yourself bitch. This Is team GFYB. goida
Download Telegram
🛠 Инструмент дня: ripgrep

Если ты до сих пор ищешь по проекту через grep -R, попробуй rg.

Пример:

rg "TODO|FIXME"

ripgrep быстрый, по умолчанию уважает .gitignore и удобно показывает контекст. Для больших репозиториев разница чувствуется сразу.

Полезные варианты:
rg -n "pattern" — с номерами строк
rg --files — список файлов проекта
rg -t py "async def" — искать только в Python-файлах

Один из тех инструментов, после которых назад возвращаться не хочется.

📍 Подпишись на создателей: https://t.me/linuxexex
This media is not supported in your browser
VIEW IN TELEGRAM
Первый дожитый на редбулл рассвет
Ебучие беспилотники у окна летают
думаю сделать архитектуру процессора для mirox
Лайфхак для терминала, который реально экономит время ⚡

Если ты до сих пор набираешь длинные команды целиком или листаешь историю стрелочками — держи трюк, который меняет подход к работе в терминале.

Ctrl + R — поиск по истории команд в реальном времени.

Нажал, начал вводить кусок команды — и bash (или zsh) сразу показывает совпадение из истории. Нашёл нужное — Enter, и готово. Не нужно помнить точный синтаксис длинного rsync или docker run с кучей флагов.

Но это ещё не всё. По умолчанию история часто слишком короткая и не сохраняет дубли. Исправляется парой строк в ~/.bashrc:

HISTSIZE=100000
HISTFILESIZE=200000
HISTCONTROL=ignoredups:erasedups
shopt -s histappend

После этого история перестаёт затираться между сессиями и хранит десятки тысяч команд. Ctrl + R становится настоящей машиной времени по твоим действиям в терминале.

Хочешь ещё удобнее? Поставь fzf — это fuzzy-поиск, который превращает Ctrl + R в интерактивный фильтр с мгновенным откликом. Ставится одной командой:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

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

Звучит мелко, но когда работаешь в терминале каждый день — это десятки минут в неделю, которые перестают уходить в никуда. 🖥️

📍 Подпишись на создателей: https://t.me/linuxexex
меня крайне заебали эти максы похуяксы так что сделаем свой месенджер
ебать
нихуя
🧠 Linux tip: namei

Есть команда, о которой часто забывают: namei.

Она раскладывает путь по компонентам и показывает права на каждом уровне:

namei -l /var/www/site/index.html

Это удобно, когда файл существует, права на нём нормальные, но nginx или приложение всё равно получает Permission denied. Проблема часто не в самом файле, а в одной из родительских папок.

Если дебажишь доступы в Linux, namei экономит много времени.

📍 Подпишись на создателей: https://t.me/linuxexex
🔐 Linux security: проверь SSH-доступ

Минимальный чек-лист для сервера:

1. Отключить вход root по SSH:
PermitRootLogin no

2. Отключить парольный вход, если используешь ключи:
PasswordAuthentication no

3. Проверить, кто вообще может логиниться:
AllowUsers your_user

После изменения конфига не закрывай текущую SSH-сессию сразу. Сначала открой вторую и проверь вход.

Так ты не заблокируешь сам себя из-за опечатки.

📍 Подпишись на создателей: https://t.me/linuxexex
📰 Ешь салат. С салатом всё в порядке.

FDA Трампа делает вид, что проводит серьёзное расследование — уже после того, как Трамп получил взятку от Taylor Farms.

Вокруг продолжающейся вспышки циклоспороза в понедельник возникла путаница: поставщик продуктов питания, связанный с заболеванием, вступил в конфликт с Управлением по санитарному надзору за качеством пищевых продуктов и медикаментов (FDA).

Чиновники FDA заявили на пресс-конференции в понедельник, что расследование по-прежнему указывает на листовой салат айсберг компании Taylor Farms как на источник вспышки. Это несмотря на то, что компания утверждает: агентство принесло ей официальные извинения за объявление ложноположительного результата теста на циклоспору в их салате.

«Мы не приносили официальных извинений, но фактически разъяснили возникшие вопросы», — заявил представитель FDA.

Taylor Farms — многонациональный гигант по поставкам продуктов питания — оказался в центре истории со вспышкой паразита, вызывающего диарею, после того как Центры по контролю и профилактике заболеваний (CDC) отследили сообщения о болезни до салата-айсберга Taylor Farms de Mexico, который подавали в заведениях Taco Bell в пяти штатах. В пятницу поставщик объявил добровольный отзыв айсберга из центральной Мексики, включая фасованные салатные миксы из продуктовых магазинов.

В выходные FDA сначала объявило, а затем отозвало новость о том, что образец салата Taylor Farms дал положительный результат на циклоспору. Этот тест оказался ложноположительным — то есть агентство так и не обнаружило никаких «подтверждённых положительных результатов при тестировании продуктов на циклоспору», говорится в заявлении FDA.

Источник (4chan /news/): https://boards.4chan.org/news/thread/1524686

📍 Подпишись на создателей: https://t.me/linuxexex
Лайфхак для терминала, который реально экономит время ⚡

Многие знают про Ctrl+R — обратный поиск по истории. Но есть кое-что помощнее, и большинство про это не знает.

Называется fzf — fuzzy finder для командной строки. Устанавливается за секунду:

# Debian/Ubuntu
apt install fzf

# Arch
pacman -S fzf

# macOS
brew install fzf

После установки жмёшь Ctrl+R — и вместо стандартного поиска получаешь интерактивный список всей истории с нечётким поиском. Начинаешь набирать любую часть команды — список фильтруется на лету. Не надо помнить точное начало команды, достаточно вспомнить любое слово из неё.

Но это только начало. Вот где начинается магия:

Ctrl+T — вставить путь к файлу прямо в текущую команду. Набираешь vim, жмёшь Ctrl+T, выбираешь файл из интерактивного дерева — готово.

Alt+C — моментально перейти в любую папку. Не надо помнить полный путь, просто набираешь кусок названия.

Можно использовать fzf в пайпах. Например выбрать процесс для kill:

kill -9 $(ps aux | fzf | awk '{print $2}')

Или выбрать ветку git для переключения:

git checkout $(git branch | fzf)

Или открыть любой файл в проекте:

vim $(find . -type f | fzf)

Последнее вообще убивает необходимость помнить структуру проекта целиком.

Ещё одна вещь, про которую забывают — двойные восклицательные знаки !! в bash. Это псевдоним для последней команды. Забыл написать sudo? Не надо стрелку вверх давить и идти в начало строки:

sudo !!

Просто выполнит предыдущую команду с sudo. Работает везде без установки чего-либо.

И совсем простое, но удивительно полезное — Ctrl+W удаляет одно слово назад. Если написал длинную команду с ошибкой в последнем аргументе, не надо держать Backspace — одно нажатие и слово стёрто.

Терминал это не про скорость печати, это про то чтобы не делать лишних движений 🖥️

📍 Подпишись на создателей: https://t.me/linuxexex
📰 Биде — экологично и нежно для попы?

Биде лучше для экологии и для прямой кишки, чем туалетная бумага?

Обычная туалетная бумага — это трата ресурсов. Плюс она раздражает мой анус.

Источник (4chan /sci/): https://boards.4chan.org/sci/thread/17009533

📍 Подпишись на создателей: https://t.me/linuxexex
Зiвтрiк 🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
Как Linux решает, кому дать процессор прямо сейчас

Представь: у тебя 8 ядер и 300 процессов. Кто работает, а кто ждёт? Этим занимается планировщик задач — одна из самых интересных подсистем ядра.

С 2007 года в Linux живёт CFS — Completely Fair Scheduler. Название говорит само за себя: он пытается быть честным. Но как именно?

Главная идея — виртуальное время

CFS не думает категориями «дай процессу 10 миллисекунд». Вместо этого он ведёт для каждого процесса счётчик vruntime — виртуальное время выполнения. Чем дольше процесс уже работал, тем больше его vruntime.

Логика простая: всегда запускай того, у кого vruntime наименьший. То есть того, кто меньше всего получил процессорного времени.

Красно-чёрное дерево вместо очереди

Все запущенные процессы хранятся в красно-чёрном дереве — это самобалансирующаяся структура данных. Ключ — тот самый vruntime. Самый «голодный» процесс всегда крайний левый узел дерева.

Планировщик просто берёт левый узел, запускает процесс, обновляет vruntime — и снова кладёт в дерево уже на другое место. Вставка и поиск за O(log n). Элегантно.

А что с приоритетами?

Приоритет (nice value, от -20 до +19) влияет на скорость роста vruntime. У важного процесса vruntime растёт медленнее — значит, он чаще оказывается «самым голодным» и получает больше времени. Никакой магии, просто математика.

Период и гранулярность

CFS работает с понятием целевой задержки — примерно 6 миллисекунд по умолчанию. За это время каждый активный процесс должен хоть раз поработать. Если процессов много, минимальный квант не даёт нарезать время слишком мелко — иначе ядро будет только переключаться и ничего не делать.

Почему это круто

До CFS в Linux был O(1) scheduler — он работал быстро, но интерактивность страдала. Браузер мог подвисать, потому что планировщик не умел хорошо отличать «жду ввода от пользователя» от «считаю что-то тяжёлое».

CFS решил это элегантно: процессы, которые часто спят (ждут клавиатуру, сеть), накапливают маленький vruntime. Когда они просыпаются — сразу оказываются в начале очереди и получают процессор почти мгновенно. Отсюда отзывчивость десктопа.

Сейчас в ядре 6.6+ появился EEVDF — наследник CFS с более честной математикой, но принцип тот же: виртуальное время и честное распределение.

Планировщик — это несколько тысяч строк кода в kernel/sched/fair.c, которые незаметно делают так, чтобы твой терминал отвечал быстро, пока в фоне компилируется ядро 😄

📍 Подпишись на создателей: https://t.me/linuxexex
📰 Учёные изучили, как длинноцепочечные полиненасыщенные жирные кислоты распределяются в пищевых цепях пресноводных рыб Европы

Систематический обзор исследовал пространственно-временное распределение длинноцепочечных полиненасыщенных жирных кислот (LC-PUFA) в пищевых сетях европейских пресноводных озёр и прудов — в той их части, которая фильтруется через жабры рыб.

LC-PUFA, в частности омега-3 кислоты EPA и DHA, критически важны для здоровья водных экосистем и самих рыб. Они синтезируются преимущественно микроводорослями и фитопланктоном, затем передаются по пищевой цепи — от зоопланктона к рыбам.

Исследование охватывает европейские пресноводные водоёмы и анализирует, как концентрация этих веществ меняется в зависимости от сезона, географии и типа экосистемы. Это важно для понимания того, насколько пресноводные рыбы способны обеспечивать людей качественными омега-3 жирными кислотами — особенно на фоне изменения климата и эвтрофикации водоёмов, которые влияют на состав фитопланктона и, следовательно, на доступность LC-PUFA во всей пищевой цепи.

Источник (r/science): https://www.reddit.com/r/science/comments/1v6xq62/spatiotemporal_distribution_of_longchain/

📍 Подпишись на создателей: https://t.me/linuxexex
У меня др седня кста
watch — команда, о которой забывают, но зря

Большинство линуксоидов знают top, htop, tail -f. Но есть одна простая штука, которую почему-то игнорируют — команда watch.

Что она делает: запускает любую команду повторно через заданный интервал и показывает результат прямо в терминале. Живое обновление без скриптов и циклов.

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

watch df -h

Это будет каждые 2 секунды показывать состояние дисков. Никакого скрипта, никакого while true.

Полезные флаги:

-n — задать интервал в секундах
watch -n 5 free -m
обновляет каждые 5 секунд, смотрим память

-d — подсвечивает изменения между обновлениями
watch -d netstat -an
сразу видно, что поменялось в сетевых соединениях

-t — убирает шапку с временем и командой, если мешает

-e — останавливает выполнение, если команда вернула ошибку

Реальные сценарии где это реально спасает:

Следишь за размером лога в реальном времени:
watch -n 1 'ls -lh /var/log/syslog'

Мониторишь очередь задач:
watch -n 3 'ps aux | grep python'

Ждёшь когда файл появится в директории:
watch -n 2 'ls /tmp/ | grep backup'

Смотришь как меняется температура процессора:
watch -n 1 sensors

Проверяешь статус сервиса пока что-то деплоишь:
watch systemctl status nginx

Одна тонкость: watch запускает команду через sh -c, поэтому алиасы из вашего .bashrc там не работают. Если нужен алиас — передавай явно строкой или используй функцию.

Ещё момент — минимальный интервал 0.1 секунды. Можно делать почти real-time мониторинг без написания ни строчки кода.

watch есть в procps-ng, стоит практически везде из коробки. На macOS ставится через brew install watch.

Простая команда, но когда знаешь о ней — перестаёшь писать дурацкие циклы в bash ради банального мониторинга 🖥️

📍 Подпишись на создателей: https://t.me/linuxexex
2020 - 2022 - 2024 - 2026?????
Лайфхак для терминала, который реально экономит время ⚡

Вы знаете про Ctrl+R — поиск по истории команд. Но большинство людей используют его неправильно: нажал, начал вводить, получил одну команду, вышел. Всё.

А теперь настоящий трюк.

Установите fzf — это fuzzy finder для командной строки. После установки он перехватывает Ctrl+R и превращает поиск по истории в интерактивный список с нечётким поиском.

Например, помните что запускали что-то с docker compose и каким-то длинным флагом — но не помните точно что. Жмёте Ctrl+R, вводите "dock comp", и fzf мгновенно показывает все подходящие команды из истории. Стрелками выбираете нужную, Enter — и она уже в строке ввода.

Установка на Ubuntu/Debian:

sudo apt install fzf

На macOS:

brew install fzf

После установки нужно подключить интеграцию с шеллом. Для bash и zsh:

$(brew --prefix)/opt/fzf/install

или на Linux:

/usr/share/doc/fzf/examples/key-bindings.bash

Добавьте source этого файла в .bashrc или .zshrc.

Но это ещё не всё. fzf работает не только с историей команд. Нажмите Ctrl+T в терминале — получите интерактивный поиск файлов прямо во время набора команды. Пишете vim, жмёте Ctrl+T, находите файл — путь вставляется автоматически.

А команда **cd + Alt+C** открывает интерактивный выбор директории для перехода.

Ещё один момент: по умолчанию история bash хранит 500 команд. Это смешно. Добавьте в .bashrc:

HISTSIZE=100000
HISTFILESIZE=200000
HISTCONTROL=ignoredups:erasedups

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

Звучит как мелочь, но когда каждый день работаешь в терминале — это десятки минут, которые перестают уходить на вспоминание и перепечатку. 🖥️

📍 Подпишись на создателей: https://t.me/linuxexex