Pull to refresh

Linux Workshops — бесплатные интенсивы по работе в Linux

Reading time1 min
Views2.5K

Привет, Хабр!

Приглашаем инженеров прокачать свои скиллы на воркшопах по Linux.

Сосредоточиться на практике — идеальный план для инженеров, стремящихся прокачать свою экспертизу. Собрали в одном месте полезные знания, опытных экспертов и, конечно, возможность сразу применить всё на деле. Не хватает лишь одной детали — начинающих Linux-инженеров.

Немного формальностей: будет 3 воркшопа от IT-компаний: Orion soft, K2 Cloud и K2 Tech. Можно зарегистрироваться только на один. Воркшопы проходят онлайн и длятся 7 часов, проходят по субботам, чтобы не отвлекаться от рабочих задач.

Подробнее можно прочитать на сайте.

Читать далее
Total votes 4: ↑4 and ↓0+8
Comments3

Представлена игра Tux-vs-Mutant-Window в Bash

Reading time1 min
Views2.5K

14 сентября 2024 года разработчики под ником SomeUnusualGames представил игру Tux-vs-Mutant-Window, написанную на Shell и C. Исходный код проекта опубликован на GitHub под лицензией MIT.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments4

Представлена версия ps aux, полностью написанная на bash

Reading time1 min
Views11K

В конце июля 2024 года разработчик Isabella Bosia представил версию утилиты ps для просмотра списка процессов в Linux с комбинацией параметров aux. Этот проект полностью написан на bash (в 270 строк) с no forking (не выполняется системный вызов fork() для запуска других процессов). В решении используются только built-in команды bash.

Читать далее
Total votes 6: ↑6 and ↓0+9
Comments28

3-месячный курс по Python

Reading time2 min
Views1.8K

Рутинная работа уходит в прошлое: сегодня всем — тестировщикам, девопсам, сисадминам — нужны навыки автоматизации рабочих процессов. И знание Python может отлично в этом помочь.

Читать далее
Total votes 8: ↑7 and ↓1+7
Comments0

Boosting Your Terminal Productivity: Shell GPT

Reading time1 min
Views4K

As developers, we spend a significant amount of time in the terminal, executing commands, writing scripts, and trying to solve problems. But, how many times have you found yourself stuck, trying to remember the correct syntax or flag for a command, or spending hours looking for a specific code snippet?

sgpt "nginx default config file location" # -> The default configuration file for Nginx is located at /etc/nginx/nginx.conf.

sgpt "docker show all local images" # -> You can view all locally available Docker images by running: docker images

Read more
Total votes 1: ↑1 and ↓0+1
Comments0

Linux Upscale – программа обучения Linux и погружение в DevOps

Reading time2 min
Views13K

Привет, Хабр!

Есть у нас традиция каждый год учить крутых специалистов правильно заходить в Ред Хату (Enterprise Linux). Приглашаем Linux-инженеров прокачаться в DevOps и получить оффер по итогам программы Linux Upscale. Обучение состоит из нескольких модулей: базовый и продвинутый курс по Linux, курс по Ansible. В конце каждого курса есть лабораторная работа, результаты которой оцениваются экспертами.

Между курсами будет недельный перерыв, чтобы еще раз пройти материал и закрепить практикой в Облаке КРОК. При успешном прохождении первых трех модулей — участники продолжат обучение K8s, Docker и Git, работая в одной из команд CROC Cloud Services. 

Немного формальностей: на программе предусмотрена стипендия, обучение длится 2 месяца (апрель-май) и предполагает фулл-тайм загрузку. Обучение проходит офлайн в Москве. Если нет возможности приехать  —  подключим онлайн. 

Подробнее о можно прочитать на сайте. Кстати, мы спрятали там пасхалку) 

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments11

Файлы подсистемы Linux нельзя создавать, изменять или удалять при помощи инструментов для Windows

Reading time2 min
Views36K
image

Весной этого года компания Microsoft начала интеграцию Linux-инструментария в свою новую ОС Windows 10. Первым шагом было включение Ubuntu и Bash инструментария в сборку 14316. Суть обновления заключалась в добавлении прослойки WSL, которая транслировала системные вызовы Linux в системные вызовы Windows, что позволяет развернуть в основном окружении Windows полноценный инструментарий Ubuntu Linux без эмуляции и виртуализации.

Вчера Microsoft опубликовала в официальном блоге запись, призывающую разработчиков не изменять, создавать или удалять файлы Linux при помощи инструментов или приложений Windows, так как это приводит к повреждению дистрибутива с необходимостью его последующей переустановки.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments102

Microsoft призывает linux-разработчиков опробовать Windows 10

Reading time2 min
Views25K


Компания Microsoft после неудачи с мобильным сегментом и непростого перехода на Windows 10 все же продолжает расширять географию собственной экспансии. Являясь разработчиком доминирующей ОС на рынке настольных ПК, технологический гигант стремится войти и в среду разработчиков не только в виде поставщика ПО, но и в качестве производителя платформы.

Так, Microsoft активно разрабатывает собственную эмуляцию среды Linux Bash WSL для того, чтобы привлечь в свою экосистему традиционных пользователей Unix-систем, которые отдают предпочтение последним в связи со своей профессиональной деятельностью. Недавно компания стала платиновым участником инициативы Linux Foundation и высказала приверженность идеями разработки ПО с открытым исходным кодом и поддержки Linux- и Open Source-сообществ.
Total votes 40: ↑22 and ↓18+4
Comments272

2000 звезд на GitHub у нашего Open Source-инструмента shell-operator

Reading time2 min
Views4.6K

Минута славы у нашего Open Source-инструмента shell-operator — он набрал 2000 звезд на GitHub. Благодарим сообщество за поддержку!

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments0

Мини заметка об оптимизации Arch Linux

Level of difficultyEasy
Reading time12 min
Views5.7K

Всем привет! Наверно, многие пришли к линуксу, когда их старый компьютер или ноутбук не тянул, или плохо тянул операционные системы от Microsoft. Многие пробовали разные дистрибутивы - AntiX, MX Linux, Linux Lite, Lubuntu, Xubuntu, и многие другие. Но скорее всего, вы в итоге пришли к Arch Linux - по моему скромному мнению, одному из лучших дистрибутивов.

Читать далее
Total votes 9: ↑9 and ↓0+10
Comments31

Разворачиваем приложение Next.js с базой данных PostgreSQL и задачей Cron на облачном сервере Ubuntu Linux

Level of difficultyMedium
Reading time10 min
Views554


Привет, друзья!


Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно.


Основные элементы нашей системы:


  • приложение, демонстрирующее несколько мощных возможностей Next.js 15
  • база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении
  • задача Cron для удаления из БД всех задач каждые 10 мин
  • приложение, БД и задача Cron функционируют в контейнерах Docker
  • контейнеры запускаются с помощью Docker Compose на облачном сервере Ubuntu
  • сервер Nginx для перенаправления запросов HTTP (обратного проксирования)
  • домен, привязанный к серверу
  • Certbot для получения сертификата SSL из Let's Encrypt и его установки для домена

Демо приложения.


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 9: ↑7 and ↓2+10
Comments0

Коллоквиум по программированию микроконтроллеров

Level of difficultyHard
Reading time13 min
Views17K

Это список вопросов на которые должен уметь ответить тот кто хочет программировать микроконтроллеры и заниматься разработкой электроники. Вопросы в частности взяты из технических собеседований при устройстве на работу в разные компании. Постарался отобрать только самые приближенные к практике вопросы, которые можно выделить после 11 лет insider(ского) опыта.

Если вы знаете адекватные, сложные и интересные вопросы по теме разработки на MCU, то пишите их в комментариях.

Читать далее
Total votes 36: ↑14 and ↓22-4
Comments127

findNclean: найти и вычистить

Reading time14 min
Views5.9K


Нет-нет, этот пост совсем не про боль и страдание! Даже немножко наоборот. Просто картинка напоминает о значимости первой строчки будущего кода.
Вначале, просто хотел описать свежую утилиту, с пылу с жару из под клавиатуры. Сама по себе она вполне ничего (хоть и до блеска бляхи новоиспечённого дембеля её ещё полировать и полировать), но описывать только её оказалось как-то скучновато. Потом решил, что на её примере можно поделиться башизмами, которыми сам раньше не пользовался. Далее подумал, что можно убить двух зайцев и описывать её совместно с жизненными примерами. Но в конце понял, что негоже мучить и без того изрядно потрёпанных зверушек, и решил просто их немножко причесать. Третий заяц (который и не заяц вовсе, а удав) мудро предпочёл воздержаться от участия в этом бардаке.

Так что если вдруг, тебе регулярно приходится искать файлы и может даже затем перемещать их куда-то; или тебе всё равно какой слой пыли лежит на файловой системе твоего сервера с аптаймом в несколько сотен лет и тебе просто интересен bash; или если ты просто мимо проходил{,а,о}, то не проходи мимо!
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments2

${var?} и && — два простых помощника в работе с командами оболочки из документации

Reading time3 min
Views10K


tl;dr: используйте инструкцию ${placeholders?} для выдачи ошибки при пропуске параметра и объединяйте команды оболочки с помощью &&, чтобы упростить и обезопасить их копирование из технической документации.
Читать дальше →
Total votes 47: ↑43 and ↓4+55
Comments16

Bake – запускаем таски на bash

Reading time2 min
Views6.4K

Думаю многим известна ситуация, когда собственный изобретенный велосипед нигде потом не используется. Поэтому я долго не решался опубликовать эту разработку, пока не обратил внимание, что таскаю его из проекта в проект. И так, одним из неотъемлемых элементов современной разработки являются так называемые таск раннеры – это Grunt/Gulp для nodejs, Rake для Ruby, Make для C/C++ и т.п. А для главного инструмента разработчика – консоли – ничего подобного нет. Точнее есть, но, как это обычно бывает, не совсем то. В результате изысканий, на свет появился инструмент Bake – таскраннер написанный на bash с поддержкой модульной структуры.


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


  • Таски в виде функции.
  • Поддержка аргументов.
  • Модули.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments30

Неожиданные подвохи при перенаправлениях оболочки в $((i++))

Reading time3 min
Views5.2K


Год назад вышла ShellCheck v0.7.1. Главным образом в ней были подчищены и исправлены имеющиеся проверки, но также появились и новые. Лично меня из всех новинок больше всех удивила та, что указывает на проблему, обсуждение которой я еще нигде не встречал:

In demo line 6:
  cat template/header.txt "$f" > archive/$((i++)).txt
                                             ^
  SC2257: Arithmetic modifications in command redirections
          may be discarded. Do them separately. 
#Арифметические изменения при перенаправлениях в command могут быть 
#отброшены. Выполняйте их отдельно
Читать дальше →
Total votes 40: ↑38 and ↓2+57
Comments5

Шахматы на чистом sed

Reading time3 min
Views48K
В Линуксе и многих других системах существует утилита командной строки sed («сед») — это несложный редактор, которые преобразует текст, попадающий ему на вход при помощи несложных команд.

Его, в основном, используют для всяких мелких нужд в bash-скриптах — заменить одну строку на другую, что-то удалить и так далее. Если говорить терминами более привычных языков, в «седе» доступны две строковые переменные, в одной из которых можно что-нибудь проверять, заменять, а со второй только обмениваться данными из первой, метки, команды переходов на метки и группировка команд, плюс ещё несколько менее полезных директив.

Вот на этом безобразии я решился написать шахматы, причём такие, чтобы можно было бы играть с компьютером.
Читать дальше →
Total votes 189: ↑183 and ↓6+177
Comments67

Bash-скрипты: начало

Reading time11 min
Views1.8M
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments123

Несколько полезных команд для работающих в терминале Linux

Reading time1 min
Views19K
Загрузка файла по ссылке с возможностью продолжить загрузку, например, при обрыве соединения:
wget -c http://link/file

Просмотр записи в текстовый файл в реальном времени:
tailf file

Узнать время выполнения команды:
time command

Слежение за изменениями в выводе команды:
watch command

Сочетание клавиш для закрытия текущей сессии в bash и различных утилитах, например клиент MySQL:
Ctrl-D

Быстрое создание резервной копии файла:
cp file{,.copy}
Читать дальше →
Total votes 69: ↑33 and ↓36-3
Comments34

Bash-скрипты, часть 2: циклы

Reading time8 min
Views762K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы рассказали об основах программирования для bash. Даже то немногое, что уже разобрано, позволяет всем желающим приступить к автоматизации работы в Linux. В этом материале продолжим рассказ о bash-скриптах, поговорим об управляющих конструкциях, которые позволяют выполнять повторяющиеся действия. Речь идёт о циклах for и while, о методах работы с ними и о практических примерах их применения.

image

Внимание: в посте спрятана выгода!
Читать дальше →
Total votes 59: ↑41 and ↓18+23
Comments35
1
23 ...