16351
@linuxkalii - наш канал По всем вопросам- @notxxx1 № 5032799382
💡 Что такое *subshell* в Linux (и зачем он нужен)
Когда ты открываешь терминал - ты запускаешь shell (чаще Bash/Zsh).
Но если ты пишешь команды в круглых скобках:
$ (pwd; ls)
➡️ ты создаёшь subshell - дочернюю оболочку, которая выполняет команды в изоляции от родительского shell.
✅ Subshell не ломает текущую сессию
Любые изменения внутри него не влияют на основной терминал:
- cd внутри subshell не меняет текущую папку в родительском shell
- переменные и export могут “не выйти наружу”
- окружение как бы временное
🔥 Где это реально полезно:
1) Безопасно выполнить набор команд
Ты можешь сделать пачку действий и не бояться, что они поменяют текущее окружение.
2) Локальная логика
Хочешь переехать в папку, что-то сделать и вернуться назад? Subshell идеа
blog.sysxplore.com/p/what-are-subshells-in-linux
🚀 Совет по Linux безопасности
Если ты настраиваешь сервер или рабочую Linux-машину, начинай защиту не с сложных IDS и фаерволов, а с базовой, но правильной минимизации поверхности атаки.
Главная ошибка
Оставлять активными сервисы и доступы "на всякий случай". Именно они чаще всего становятся точкой входа.
Правильный подход
- Закрыть всё по умолчанию
- Разрешать только необходимое
- Логировать и ограничивать попытки доступа
- Делать защиту простой и проверяемой
Минимальный must-have
- Отключение root-доступа по SSH
- Доступ по ключам вместо паролей
- Ограничение попыток входа
- Базовый firewall с allow-list подходом
Это даёт 80% реальной защиты без оверхеда и лишней магии.
Отключаем root-логин и пароли по SSH
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
Ограничиваем вход по SSH только нужному пользователю
sudo sed -i 's/^#\?AllowUsers.*/AllowUsers youruser/' /etc/ssh/sshd_config
sudo systemctl restart ssh
Включаем простой firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
Защита от brute-force
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
Linux совет дня💡
Нужно быстро найти исполняемые файлы в каталоге?
Используй find с флагом -executable — он покажет только те файлы, которые действительно можно запускать.
Пример:find . -type f -executable
В отличие от проверки прав через -perm, этот вариант учитывает реальные разрешения и ACL, поэтому результат точнее — вывод включает только те файлы, которые доступны для выполнения текущим пользователем.
Bash советы
💡 Продвинутый и редко используемый Linux совет - работа с PID-неймспейсами прямо из терминала
Если нужно отлаживать процессы в полностью изолированном пространстве процессов (почти как в контейнере), можно запустить команду в отдельном PID-namespace. Это позволяет:
- видеть процессы только внутри пространства
- запускать init-процесс PID 1
- безопасно тестировать сервисы, сигналы, демонизацию
- воспроизводить поведение контейнеров без Docker
Команда:
sudo unshare --pid --fork --mount-proc bash
- `--pid` создаёт новый PID-namespace
- `--fork` запускает новый процесс как PID 1 внутри пространства
- `--mount-proc` подменяет `/proc`, чтобы видеть только локальные процессы
ps aux
🖥 Bash Академия: секреты командной строки, которые нигде не рассказывают
Олег Шелест - профессионал по информационной безопасности, раскрывает скрытые механики Linux, с помощью наглядных картинок и коротких, максимально понятных разборов у себя в тг канале.
- Без воды.
- Без лишней теории.
Только практические приёмы, которые реально используют профи.
Если хочешь уверенно владеть Bash - здесь ты получишь всё, что нужно: t.me/bashmastter
Networking in Linux — команда ip
В Linux практически всё, что касается сети: интерфейсы, IP-адреса, маршруты и даже ARP-кеш, можно управлять прямо из терминала. Раньше для этого использовались утилиты ifconfig, route и arp, но они считаются устаревшими. Их современная замена — это команда ip.
Команда ip входит в состав набора iproute2, который включён по умолчанию во всех современных дистрибутивах Linux. Эта мощная универсальная утилита позволяет управлять сетевыми интерфейсами, IP-адресами, маршрутами и таблицами соседей, заменяя старые инструменты.
С её помощью можно поднимать и опускать интерфейсы, назначать адреса, просматривать маршруты, создавать сетевые пространства имён и даже управлять таблицами соседей (ARP).
В этой статье рассказывается о том, как использовать команду ip для управления сетевыми интерфейсами, адресами, маршрутами и соединениями на Linux-системе.
Источник: https://blog.sysxplore.com/p/ep1-networking-in-linux-ip-command
⚡️ Linux-совет: изолируй любую команду в одноразовой файловой системе
Когда хочешь протестировать скрипт, подозрительный бинарь или инсталлятор - не обязательно создавать отдельный контейнер. В Linux есть простой трюк: смонтировать временную файловую систему поверх каталога и выполнить команду так, будто она работает в «чистом» окружении.
Быстро, безопасно, без Docker.
Пример: заменить /tmp/testdir на пустой tmpfs и запускать всё внутри него, не трогая реальные файлы.
Читать полностью…
Изоляция через tmpfs - мини-песочница без Docker
создаём каталог и подменяем его на чистый tmpfs
sudo mkdir -p /tmp/safezone
sudo mount -t tmpfs -o size=100M tmpfs /tmp/safezone
запускаем тестируемую команду в изоляции
cd /tmp/safezone
bash suspicious_script.sh
снимаем изоляцию
cd /
sudo umount /tmp/safezone
🧱 Что такое Linux namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
🧱 Что такое Linux namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
🔍 Как точно измерить, сколько памяти реально использует процесс в Linux
Когда система тормозит, первым делом смотрят top или ps, но эти инструменты вводят в заблуждение. Они показывают RSS (Resident Set Size), который считает общую память как свою.
Например: если 5 процессов используют одну и ту же библиотеку на 100 МБ, RSS прибавит по 100 МБ к каждому, хотя в реальности эта память занимает только 100 МБ в RAM.
Чтобы понять реальный вклад процесса в потребление памяти, нужно смотреть PSS (Proportional Set Size) — метрику, которая делит общую память пропорционально между всеми пользователями.
📊 Три ключевые метрики:
- VSZ (Virtual Set Size) — общий виртуальный объём памяти, выделенный процессу.
→ Включает код, данные, библиотеки, маппинг файлов… но многое из этого может вообще не быть в RAM.
→ Не показывает реальное потребление RAM.
- RSS (Resident Set Size) — сколько памяти процесса фактически загружено в RAM сейчас.
→ Но считает общую память целиком, даже если она используется десятком других процессов.
→ Завышает реальное потребление.
- PSS (Proportional Set Size) — настоящий объём памяти, который освободится при завершении процесса.
→ Общая память делится поровну: если 3 процесса используют библиотеку на 90 МБ → каждый «платит» по 30 МБ.
→ Это самая точная метрика для оценки нагрузки на RAM.
🔧 Как получить PSS?
1. Найдите PID процесса:
pidof nginx
# или
ps aux | grep nginx
top или ps — но эти инструменты вводят в заблуждение. Они показывают RSS (Resident Set Size), который считает общую память как свою.
pidof nginx
# или
ps aux | grep nginx
sudo awk '/^Pss:/ { total += $2 } END { print total " kB" }' /proc/12345/smaps
sudo cat /proc/12345/smaps_rollup | grep Pss:
🔥Свежий курс со Stepik: Linux: полный апгрейд твоих скиллов
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?
Без глубокого знания базы ты не инженер - ты просто пользователь.
🔹 В курсе ты:
- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.
💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.
🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.
🚀 Сейчас действуют скидка целых - 30%, не упусти реальный шанс прокачаться.
👉 Забирай место на курсе со скидкой
🚀 GitHub Actions + Terraform: автоматизация деплоя с ревью плана изменений
Terraform стал стандартом для управления инфраструктурой как кодом (IaC). Но просто запускать terraform apply в CI/CD - не лучший вариант. Важно видеть план изменений до деплоя, чтобы избежать неожиданных последствий.
В статье показано, как интегрировать Terraform с GitHub Actions так, чтобы каждый pull request автоматически запускал terraform plan. Результаты работы добавляются прямо в PR, где команда может просмотреть и обсудить изменения до их применения.
Таким образом:
- при открытии PR → генерируется план, прикрепляется к обсуждению;
- после ревью и мержа → автоматически выполняется terraform apply.
Это позволяет:
✅ повысить прозрачность изменений в инфраструктуре
✅ избежать ошибок при деплое
✅ упростить командную работу с IaC
Отличный пример того, как CI/CD можно использовать не только для приложений, но и для инфраструктуры.
https://itnext.io/github-actions-terraform-deployments-with-a-review-of-planned-changes-30143358bb5c
#devops #девопс
Как правильно монтировать и размонтировать файловые системы в Linux
Монтирование и размонтирование файловых систем — одни из самых нужных операций в Linux. Когда вы подключаете новый диск или меняете схему хранения, его нужно смонтировать, чтобы получить доступ к данным. А размонтаж нужен, чтобы безопасно отключить связь перед изъятием устройства.
В этом руководстве вы узнаете:
как определить устройство (имя, путь);
как создать точку монтирования (директорию, куда “подвесить” файловую систему);
как монтировать с разными опциями (например, только для чтения, с определённым правами);
как корректно размонтировать, не допустив повреждения данных.
Полный текст статьи доступен здесь: http://sysxplore.substack.com/p/mounting-and-unmounting-file-systems
📌 Linux Process Signals Explained - обзор сигналов процессов в Linux
В этой статье разбираются основные сигналы, которые ядро Linux посылает процессам, и как приложения могут реагировать на них.
Сигналы — это механизм асинхронного уведомления процесса о событиях (например, прерывание, тайм-аут, завершение).
Процесс может:
- игнорировать сигнал,
- перехватить и обработать,
- использовать поведение по умолчанию (например, завершиться).
🛠 Ключевые сигналы и их значение| Сигнал | Описание |
|------------|---------------------------------------------------------------------------|
| `SIGINT` | Прерывание (Ctrl+C), обычно прерывает выполнение процесса |
| `SIGTERM` | Запрос корректного завершения процесса |
| `SIGKILL` | Безусловное завершение, нельзя поймать или игнорировать |
| `SIGHUP` | «Повешенный» терминал, часто сигнал перезагрузки конфигурации |
| `SIGCHLD` | Уведомление родительского процесса о том, что дочерний завершился |
| `SIGALRM` | Таймерный сигнал (например, от `alarm()`) |
| `SIGUSR1`, `SIGUSR2` | Пользовательские сигналы, доступные для произвольного использования |
🔄 Управление сигналами в коде
- signal() / sigaction() — установить обработчик сигнала
- kill() — отправить сигнал другому процессу
- raise() — послать сигнал самому себе
Правильная обработка сигналов важна для корректного завершения, очистки ресурсов и устойчивого поведения демонов и серверов.
linuxopsys.substack.com/p/linux-process-signals-explained
⚡️ Kali Linux vs Parrot OS – платформы для пентестинга. Что выбрать профессионалам по кибербезопасности
Обе операционные системы: отличные платформы для специалистов по безопасности. Kali Linux удерживает лидерство среди профессионалов благодаря большому набору специализированных инструментов и широкой поддержке, а Parrot OS предлагает сбалансированный и ресурсосберегающий вариант с уклоном в приватность и универсальность
В этой статье мы разберем что лучше выбрать для пентеста
Видео: https://www.youtube.com/watch?v=LRDIQGCurms
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует скидка в 40% процентов
👉 Начать учиться на Stepik
🔥 BASH СОВЕТ
Если тебе нужно быстро найти, какие команды ты запускал для конкретного проекта, но не хочешь листать весь history - используй историю по директории.
Bash сохраняет путь вместе с командой, и можно фильтровать только то, что выполнялось в текущем каталоге.
Читать полностью…
grep "$(pwd)" ~/.bash_history \
| sed "s|$(pwd)||" \
| sed 's/^.*: //' \
| sort -u \
| less
# Показывает только те команды,
# которые запускались в текущей директории.
# Можно искать по проектам, не засоряя историю.
🧩 Редкий, но очень полезный Linux совет, о котором знают далеко не все
Если хочешь понять, кто именно удерживает файл открытым и почему диск «занят», даже когда файл уже удалён, используй команду:lsof -a +L1
Это покажет процессы, которые держат открытые дескрипторы на удалённые файлы. Да, в Linux файл может продолжать занимать место на диске, даже если его стёрли, пока процесс не завершит работу.
Зачем это нужно
• помогает найти утечки логов
• решает проблему «диск заполнен, но где именно»
• спасает от внезапного out of space на проде
• позволяет не перезапускать весь сервер, а убить только нужный процесс
Масштабировать свой Linux скилл проще, когда понимаешь такие скрытые механики.
@linux_read
⚡️ Полное руководство по Bash: от основ к продвинутым темам
Bash (Bourne Again SHell) — это одна из самых популярных Unix-оболочек, широко используемая для запуска команд и написания скриптов в Linux и macOS.
Скрипты Bash позволяют автоматизировать рутинные задачи, объединять команды в программы и управлять системой через командную строку.
Данное руководство последовательно познакомит вас с основами Bash (синтаксис, переменные, условия, циклы и т.д.), а затем перейдет к продвинутым возможностям (таким как настройка strict mode, использование trap-обработчиков, планирование задач через cron и др.). Мы рассмотрим практические примеры скриптов, сопровождая их поясняющими комментариями, чтобы у вас сложилось цельное понимание создания надежных Bash-скриптов.
https://uproger.com/polnoe-rukovodstvo-po-bash-ot-osnov-k-prodvinutym-temam/
🔥 Подборка полезных ресурсов для программистов.
Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:/channel/addlist/w4Doot-XBG4xNzYy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
Сохрани себе, чтобы не потерять!
⚡️ Linux-совет: изолируй любую команду в одноразовой файловой системе
Когда хочешь протестировать скрипт, подозрительный бинарь или инсталлятор - не обязательно создавать отдельный контейнер. В Linux есть простой трюк: смонтировать временную файловую систему поверх каталога и выполнить команду так, будто она работает в «чистом» окружении.
Быстро, безопасно, без Docker.
Пример: заменить /tmp/testdir на пустой tmpfs и запускать всё внутри него, не трогая реальные файлы.
Читать полностью…
Изоляция через tmpfs - мини-песочница без Docker
создаём каталог и подменяем его на чистый tmpfs
sudo mkdir -p /tmp/safezone
sudo mount -t tmpfs -o size=100M tmpfs /tmp/safezone
запускаем тестируемую команду в изоляции
cd /tmp/safezone
bash suspicious_script.sh
снимаем изоляцию
cd /
sudo umount /tmp/safezone
Linux под угрозой? Повысьте защищенность конечных устройств с помощью новой технологии Universal Linux Kernel Module от «Лаборатории Касперского»
Читать полностью…
Если увлекаешься технологиями, не пропусти True Tech Champ 21 ноября — масштабный ИТ-фест от МТС 🔥
В программе:
📝 доклады о технологиях будущего от экспертов в ИИ, включая руководителя фундаментальных исследований MWS AI Валентина Малых и ведущего RnD-разработчика MWS и аспиранта ISR Lab и Skoltech Артема Лыкова;
🛻 шоу-битва роботов со спецэффектами и сюжетной линией;
📝 воркшоп по работе с ИИ-агентами от канадского разработчика и автора книги AI Agents in Action Майкла Ланэма, кодинг-практикум с MWS AI и интеллектуальный спарринг с искусственным интеллектом;
◻️ 20+ площадок с активностями: IT-Родео, робофайтинг, лазерный лабиринт и многое другое.
🔴 А в завершение дня — афтепати со звездным хедлайнером.
Фестиваль бесплатный, пройдет 21 ноября в Москве и онлайн.
Смотри подробную программу на сайте и регистрируйся — количество мест ограничено.
🧠 Как точно измерить использование памяти процессом в Linux
Когда система начинает «тормозить» или неожиданно заканчивается память, первое, что стоит проверить - какие процессы её съедают. Команды ps и top помогают получить общее представление, но цифры там часто обманчивы.
Процесс может выглядеть как прожорливый монстр, хотя значительная часть его памяти 0 shared, то есть разделяется с другими процессами. А наоборот, «лёгкий» процесс может скрытно потреблять больше через общие библиотеки и кэш.
Чтобы понять реальную картину, нужно копнуть глубже — в файловую систему /proc, а именно в файл smaps, где хранится подробная карта памяти каждого процесса.
Перед этим важно разобраться в трёх ключевых метриках:
- VSZ (Virtual Memory Size) — общий объём виртуальной памяти;
- RSS (Resident Set Size) — реальный объём памяти в RAM;
- PSS (Proportional Set Size) — точная оценка «реального» потребления с учётом разделяемых страниц.
💡 Эти метрики показывают, сколько памяти процесс действительно использует — и где она делится с другими.
Полный разбор и примеры смотри в оригинальном материале: blog.sysxplore.com/p/how-to-accurately-check-process-memory-usage-in-linux
Работа с правами доступа файлов и директорий в Linux# chown vasya /file
Назначить пользователя vasya владельцем файла file# chown -R vasya directory
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий# chown vasya:group /file
Назначить владельца и группу для файла /file# chmod ugo+rwx /directory
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory# chmod go-rwx /directory
Удалить все права на директорию /directory для группы и остальных# chgrp new_group file
Изменить группу-владельца для file на new_group# chmod o+t /home/public
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла# chmod o-t /home/public
Удалить STIKY-бит с директории /home/public# chmod u+s /bin/binary_file
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла# chmod u-s /bin/binary_file
Удалить SUID-бит с файла /bin/binary_file# chmod g+s /home/public
Установить SGID-бит на директории /home/public# chmod g-s /home/public
Удалить SGID-бит с директории /home/public# find / -perm -u+s
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы# ls -lh
Листинг текущего каталога с правами доступа
⚡️ Kali Linux: пентестинг и цифровая криминалистика: модульный план с примерами команд
В гайде представлен поэтапный план, разделённый на модули по каждой из этих областей, с пояснениями, примерными командами и упоминанием как командной строки, так и графических интерфейсов (GUI) там, где это уместно.
👉 Читать
Карьерный буст, робот в подарок и призовой фонд 7 500 000 рублей 🤖
Успей зарегистрироваться до 20 октября.
Все это ждет участников трека «Программирование роботов» на всероссийском ИТ-чемпионате МТС True Tech Champ 2025. Присоединяйся, если пишешь на С++, Go, Python, JS, Java, C# или другом языке.
Соревнования пройдут в командах от 2 до 4 человек в несколько этапов:
— Квалификация. Тебе предстоит запрограммировать робота на прохождение виртуального лабиринта.
— Полуфинал. Ты будешь дистанционно управлять роботом на офлайн-полигоне и наблюдать за его перемещениями в трансляции.
— Финал. За две недели до финала организаторы отправят тебе настоящего робота для кастомизации. Ты сможешь модифицировать его, чтобы он оказался быстрее других в многоуровневом офлайн-лабиринте и смог выбить соперников с платформы в шоу-битве.
Команды финалистов получат по одному роботу Waveshare Cobra Flex в подарок и сразятся за крупные денежные призы: 4 000 000 ₽ за первое место, 2 500 000 ₽ за второе и 1 000 000 ₽ за третье.
Еще ты сможешь:
— Получить практический опыт работы с инструментами, с помощью которых создают домашних и промышленных роботов.
— Прокачать компетенции, которые помогут развиваться в ИТ.
— Заявить о себе на всю Россию и ускорить свой профессиональный рост.
📍 Финал состоится 21 ноября в МТС Live Холл в Москве.
👉🏻 Регистрируйся на сайте до 20 октября.
📆 Как планировать задачи в Linux с помощью cron — отличный гайд от LinuxOpsYS
В статье подробно разбирается:
синтаксис crontab и правила составления расписаний
примеры повседневных задач (бэкапы, чистка логов, обновления)
особенности и подводные камни: часовой пояс, вывод, переменные окружения
🔗 Читай статью: linuxopsys.substack.com/p/scheduling-tasks-using-cron-in-linux
🔧 Как ускорить работу в Linux с помощью alias
В Linux есть удобный приём - alias. Это сокращённые команды, которые экономят время и избавляют от повторного ввода длинных конструкций.
📌 Проверить текущие alias
alias
Выведет список всех настроенных сокращений, например:
ll='ls -alF'
alias wr="cd /var/www/html"
Теперь wr перенесёт вас в /var/www/html.
unalias wr
Bash → ~/.bashrc
Zsh → ~/.zshrc
Fish → ~/.config/fish/config.fish
alias gs="git status"
alias update="sudo apt update && sudo apt upgrade -y"
alias serve="python3 -m http.server"
alias ..="cd .."
alias ...="cd ../.."
source ~/.bashrc
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
alias gs="git status"
alias gp="git pull"
alias update="sudo apt update && sudo apt upgrade -y"
alias serve="python3 -m http.server"
alias ..="cd .."