Старые документы с хронологической шкалой публикаций 2024–2026 годовФото: Emre Karademir / Pexels
Bashdays / архив

Все посты

Здесь собраны все публикации блога Bashdays — заметки про Linux, DevOps и айтишные технологии.

314 статей 14 тем
Сначала новые

Все материалы

Страница 12 из 27

linux

Типы оболочек в Linux

Разбираем interactive, non-interactive, login, non-login, restricted и другие типы оболочек Linux. Смотрим, какие файлы профиля они читают, почему скрипт работает вручную, но ломается в cron, и как определить текущий режим.

linux

Почему base64 превращается в Jase64

Разбираем странный вывод Jase64 вместо base64 с помощью strace и системного вызова write. Смотрим, как ESC-последовательности проходят через псевдотерминал и почему эмулятор терминала скрывает первый символ сообщения об ошибке.

linux

Как устроены версии shared libraries в Linux

Разбираем устройство разделяемых библиотек Linux, их полные имена, soname и компоновочные ссылки. Смотрим правила major, minor и patch, создаём библиотеку через gcc и проверяем зависимости с ldconfig и ldd.

bash

Как ускорить find с exec и xargs

Разбираем разницу между суффиксами ; и + у find -exec, сокращаем число запускаемых процессов и подключаем xargs для параллельной обработки файлов. Практические команды помогают ускорить поиск и безопасно передавать группы …

linux

Как работают разрежённые файлы в Linux

Разбираемся, как sparse-файлы экономят физическое место на диске, но сохраняют заявленный логический размер. Создаём разрежённый файл через dd и truncate, форматируем его в ext4 и выясняем, как эту технологию используют …

linux

Как работают нулевые байты в Linux

Экспериментируем с /dev/zero, поведением read и нулевым символом в C-строках. Затем находим смещение строки через strings и точечно патчим бинарный файл одним нулевым байтом с помощью dd.

bash

Как работает eval в Bash

Разбираем двойную обработку команд в Bash через eval на примерах brace expansion, косвенного раскрытия переменных и файловых дескрипторов. Показываем, почему перенаправление с переменной требует ещё одного прохода интерпретатора.

bash

Как передавать файлы через transfer.sh

Автоматизируем передачу файлов с сервера скриптом на Bash: проверяем размер, упаковываем крупные данные, загружаем их через curl в transfer.sh и получаем ссылку. Отдельно обсуждаем лимиты сервиса и безопасность.

bash

Как передавать события сигналами реального времени в Bash

Строим взаимодействие между Bash-процессами через сигналы SIGRTMIN и trap без временных файлов. Пишем сервер-слушатель и клиент, разделяем события по индексам сигналов и разбираем порядок обработки и приоритеты.

linux

Как отладить core dump в Linux

Включаем создание core dump через sysctl и ulimit, намеренно вызываем segmentation fault в программе на C и исследуем дамп памяти в GDB. По стеку и значению указателя находим причину падения и исправляем код.

devops

Как настроить rate limit в Nginx

Настраиваем ограничение запросов в Nginx через limit_req_zone, geo и map. Разбираем размер зоны памяти, параметры rate, burst и nodelay, белый список IP-адресов и возврат HTTP 429 вместо стандартной ошибки 503.

bash

Как запускать команды параллельно в Bash

Запускаем фоновые команды в Bash через оператор &, управляем заданиями с помощью wait и jobs и получаем PID через $!. Собираем параллельный загрузчик файлов и сравниваем нативный подход с GNU Parallel.

Загружено 12 из 314