juniorlinux | Unsorted

Telegram-канал juniorlinux - 🐧 Linux Junior. Программирование под Linux.

3309

Канал для программистов работающих с Linux. Почти все Python девелоперы с нами ну и другие тоже подтянутся. По рекламе: @jannytg @anothertechrock

Subscribe to a channel

🐧 Linux Junior. Программирование под Linux.

Подстановка вывода команды: $()

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

Предположим, у вас есть несколько тысяч текстовых файлов c песнями. Каждый файл содержит название песни, ее текст и имя исполнителя:

Название: Зеркала
Исполнитель: Лепс
Острые углы, нервы, суета


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

$ grep -l "Лепс" *.txt
song1.txt
song2.txt


Затем переместить каждый файл в необходимый каталог:

$ mkdir leps
$ mv song1.txt leps
$ mv song2.txt leps


Чет неудобно, так? Было бы неплохо сказать оболочке: «Перемести все файлы, содержащие строку Лепс, в каталог leps».

Для этого нужно забрать то, что нам выдала команда grep -l и передать результат в качестве списка аргументов для mv:

$ mv $(grep -l "Лепс" *.txt) leps


Синтаксис $(команда) выполняет выражение в круглых скобках и заменяет вставку его выводом.

Таким образом, grep -l подменяется подходящими под условие именами файлов. Результат использования $() в примере выше аналогичен:

$ mv song1.txt song2.txt leps


В сценариях оболочки подстановка бывает полезна для сохранения вывода команды в переменной:

переменная=$(команда)


Например, напишем простенький скрипт, который поможет нам узнать, содержит ли текущая директория файлы:

status=$(ls ./ 2>/dev/null | wc -l)

if [ "$status" -gt 0 ]; then
echo "В директории есть $status файлов"
else
echo "Директория пуста или не существует"
fi


Выдаем права на выполнение, запускаем и проверяем:


$ chmod +x script.sh
$ ./script.sh
В директории есть 66 файлов


Для чего бывает полезно брать $() в кавычки?

Есть несколько основных кейсов, когда следует использовать "$()" вместо $().

Во-первых, если вывод команды содержит пробелы, он будет разбит на отдельные слова.

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

Есть момент - имя каталога состоит из нескольких слов, разделенных пробелами "photo and video":

$ pwd
$ /home/xoadmin/photo and video
$ chmod 777 $(pwd)


После подстановки оболочка интерпретирует это как попытку применить chmod к трём разным объектам: "/home/xoadmin/photo", "and", и "video". Это, вероятно, приведёт к ошибке:

chmod: cannot access '/home/xoadmin/photo': No such file or directory

chmod: cannot access 'and': No such file or directory

chmod: cannot access 'video': No such file or directory


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

$ chmod 777 "$(pwd)"


Во-вторых, без кавычек символы перевода строки могут быть удалены при выводе через echo:

$ echo $(ls)
adduser.conf alsa alternatives apache2 apg.conf apparmor


Если требуется сохранить четкую структуру текста, содержащего спецсимволы, следует использовать $():

$ echo "$(ls)"
adduser.conf
alsa
alternatives

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

📕Открытый урок о функционале веб-серверов Angie и Nginx для системных администраторов Linux и веб-разработчиков.

На открытом уроке 27 февраля в 19:00 мск мы погрузимся в веб-серверами.

📗В результате вы:
- Узнаете основное назначение форка популярного веб-сервера Nginx;
- Поймете, как появлялся и развивается Angie;
- Определите основные отличия Angie от Nginx и разберетесь в преимуществах перехода с одного веб-сервера на другой.

Спикер Николай Лавлинский — эксперт веб-разработк (15+ лет), опытный преподаватель (10+ лет), занимался техническим руководством и оптимизацией клиентской и серверной производительности веб-приложений в более чем 100 проектах.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/fIXG/

📙 Все участники открытого урока получат скидку на курс "Администрирование Nginx/Angie"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

🎮 Настрой свой автостарт в Linux c помощью зажигания!

Ignition — это минималистичное приложение для редактирования записей автозапуска в дистрибутивах Linux, совместимых с Freedesktop.

Что предлагает данная программа:

— Просмотр приложения, находящихся в автозагрузке;
— Создание записей автозагрузки для установленных приложений;
— Создание записей автозагрузки для сохранённых скриптов;
— Создание записей автозагрузки для произвольных команд.

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

su -
apt-get update
apt-get install ignition-adw


👍 Устанавливать легко с Flathub:
flatpak install flathub io.github.flattool.Ignition


🔗 Исходный код

🐧 Linux Junior | #linux

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Как удалить файл/директорию?

Ответ сегодня

#вопросы

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

🐧 Linux Junior | #linux

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

❗️Шорткаты: Alt+F и Alt+B

Перемещение по набранной строке на одно слово вперед и назад. Похоже на Ctrl+F и Ctrl+B, при использовании которых можно перемещаться на символ вперед или назад.

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

❗️Шорткаты: Alt+D

Удаляет слово справа от курсора. Работает аналогично Ctrl+D, но удаляет не символ, а слово.

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Docker простыми словами - канал шпаргалка для тех, кто использует Docker в работе программиста, тестировщика или на любой другой позиции.

Первый канал по Docker. Поискав в телеграме каналы по docker и не найдя ничего, я решил обьединить контент в одном месте.

По содержанию в канале:
- вопросы с собеседований
- команды докера
- книги
- тесты для проверки ваших знаний
- обучающие видео
- чат для обсуждения

Подписывайтесь, комментируйте и предлагайте свой контент в нашем сообществе: @justdocker

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Из этой статьи вы узнаете о назначении и основных сценариях использования директории lost+found в Linux.

Читать статью

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

❗️Шорткаты: Ctrl+Y

При помощи этого шортката можно вставить в строку то, что было вырезано ранее при помощи, например, Ctrl+U или Ctrl+K.

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Новый уровень продуктивной разработки: добро пожаловать на платформу GitVerse

На платформе для работы с исходным кодом GitVerse можно легко и удобно организовать разработку любых проектов: писать и проверять код, автоматизировать CI/CD-процессы, общаться с единомышленниками и стать частью open source сообщества.

Что еще могут пользователи GitVerse:
– переносить проекты с других git-площадок в один клик;
– размещать открытые и приватные репозитории, работать самостоятельно и в командах;
– управлять проектами с помощью удобных досок и карточек, назначать роли, ревьюеров и делать все процессы прозрачными;
– делегировать рутинные задачи AI-ассистенту GigaCode, чтобы посвятить время по-настоящему интересным задачам!

Регистрируйтесь на платформе GitVerse и повышайте эффективность разработки!

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Давайте познакомимся поближе с командой uptime. С ее помощью можно узнать, как долго система работала или оставалась активной.

Читать статью

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

❗️Шорткаты: Ctrl+K

Удаляет (по факту - вырезает) всё справа от курсора до конца строки. Удобно, когда первая часть уже набранной команды правильная, а вот вторая подкачала.

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Команда chroot в Linux — это сокращение от «change root». Мы используем ее для изменения видимого корневого каталога запущенного процесса и его дочерних элементов.

Читать статью

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

❗️Шорткаты: Ctrl+T

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

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

💡 Быстрый совет по Linux

При работе в редакторе nano нажмите

Alt+#


чтобы отобразить номера строк

👉 🐧 Linux Junior | #linux

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Руководство по командам Linux

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

Также содержит сочетания клавиш для работы в терминале.

Полезно 👍

👉 🐧 Linux Junior | #linux

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

rm имя_файла — удалить файл

rmdir имя_директории — удалить пустую директорию
rm -r имя_директории — удалить директорию

shred -uv имя_файла — удаление файла для параноиков (без опции -u просто перезаписывает содержимое файла мусором)

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

⚙️ Управление процессами в Linux: kill, pkill, htop

Иногда процессы зависают или потребляют слишком много ресурсов. В Linux есть несколько удобных инструментов для их управления.

📌 Основные команды:

🟢 kill – завершение процесса по PID:
ps aux | grep firefox # Найти PID процесса
kill 12345 # Завершить процесс


🟢 pkill – завершение по имени процесса:
pkill -9 firefox # Принудительно завершить Firefox

🟢 htop – интерактивный мониторинг:

htop  # Открыть интерфейс для управления процессами  


🗣 Эти инструменты помогут эффективно управлять процессами и оптимизировать работу системы.

🐧 Linux Junior | #linux

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Друзья, мы возобновляем постоянный постинг постов.

Напишите темы, которые интересны вам. Так же добавим много инфы по DevOps.

Поставьте лайк/дизлайк этому посту по DevOps туториалам.

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Крутая программа для тех, кто уже работает с Linux и хочет погрузиться DevOps.

В двух словах: программа на 2 месяца, ты учишься, тебе еще и платят. Начинка: начинающий и продвинутый курс по Linux, погружение в DevOps. Обучение с практикой, лабораторными и под контролем экспертов из K2 Сloud.

Подробнее можно узнать на сайте

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Наткнулись на промо новой облачной конференции. Пошли подробнее узнавать, кто её организует — оказалось, это создатель первого в России публичного облака собственной разработки.

У ребят планируется много технических докладов: от обзоров новых типов сетевых дисков до приоритетов бизнеса в области ИТ — звучит интересно.

Подробнее можете посмотреть тут

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Пришло время заглянуть под капот и научиться создавать драйвера на Linux!

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

🖐 Что ждет вас на курсе?

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

➡️ Что будет в программе курса?

1. Узнаем архитектуру ядра Linux и разберемся с драйверами.
2. Создадим простой модуль ядра: будем использовать printk(), сборку и макроопределения __init и __exit.
3. Связь модулей ядра с приложениями? Легко!
4. Работать с файлами символьных устройств — это просто!
5. Создадим драйверы для файловой системы /proc и научимся блокировать процессы при конкуренции.
6. Управление памятью в ядре Linux — прокачаемся!
7. Разработка и регистрация блочных устройств? Без проблем!
8. Конкуренция, семафоры, мьютексы — разберемся с примерами драйверов!
9. Типы данных в ядре и их использование — будем разбираться!

Вас ждет пробный урок

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

➡️ Регистрация на демо-доступ

Реклама. ООО "Инженеркатех" ИНН 9715483673

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Создавайте и проверяйте задания по программированию на GitVerse

На платформе для работы с исходным кодом GitVerse появился SmartClass — бесплатный инструмент для управления заданиями по программированию. С ним можно создавать, хранить и проверять задачи, а также автоматизировать ревью кода с помощью AI-ассистента GigaCode. В общем, все что нужно – теперь под рукой.

Пользователи SmartClass получают все преимущества платформы GitVerse, что дает начинающим специалистам возможность освоить профессиональные инструменты разработки. Решение позволяет не только изучать программирование и код, но и погрузиться в детали работы с такими инструментами и практиками, как CI/CD, Git и многими другими.

И, конечно, теперь смело можно отдать рутину аналитики заданий вашему верному помощнику – AI-ассистенту! За счет встроенных в платформу AI-расширений и AI-ассистента разработчика GigaCode вы можете за пару минут провести аналитику кода и значительно облегчить процесс проверки работ.

Переходите на GitVerse и пробуйте новый инструмент!

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

🚀 Какие сетевые устройства выжили? Разбираем повторы, мосты, хабы и коммутаторы!

18 декабря в 20:00 (мск) на бесплатном вебинаре с экспертом по сетевым технологиям разберем, какие устройства прошли испытание временем, а какие устарели. Урок проходит в рамках набора на онлайн-курс «Специализация Network Engineer». Регистрация ограничена! https://otus.pw/gDsw/

Что обсудим на занятии:

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

- Как устроены эти устройства и какие принципы работы за ними стоят.

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

Результат урока: сможете четко понимать, как работают эти устройства, и научитесь эффективно их использовать в реальных сетевых проектах.

👨‍🏫 Урок проведет Николай Колесов — эксперт с многолетним опытом в проектировании и внедрении сетевых решений. Он поделится знаниями, которые позволят вам стать профессионалом в настройке и использовании сетевых устройств.

📝 Регистрируйтесь на вебинар 18 декабря в 20:00 (мск) и получите эксклюзивную цену на курс!
https://otus.pw/gDsw/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Задумывались, как сетевые устройства справляются с гигабайтами данных?

На открытом уроке «Data, control и management plane: что это и зачем нужно?» мы разберем, как работают три основные плоскости сетевых устройств: от управления до анализа.

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

📅 Присоединяйтесь 27 ноября в 20:00 мск.

Участники вебинара получат скидку на обучение на курсе «Специализация Network Engineer»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Интернет вещей, блокчейн, цифровые двойники и экосистемы — если это для тебя не просто слова, то не упусти шанс стать частью команды столицы! До 1 ноября подавай заявку на оплачиваемую стажировку в Правительстве Москвы.

Ты учишься на последнем курсе или недавно стал выпускником? Хочешь работать над масштабными цифровыми проектами? Тогда за полгода ты сможешь:

✔️принять участие развитии столичных цифровых проектов: mos.ru, Цифровой двойник города, ЕМИАС, МЭШ и другие
✔️освоить ключевые навыки для эффективного управления проектами, тестирования, бизнес- и дата-аналитики, разработки, UX/UI-дизайна, техподдержки или инфобезопасности
✔️выбрать удобный формат работы и получать конкурентную зарплату
✔️показать себя и получить приглашение на работу в Департамент информационных технологий Москвы

ИТ-стажировка в Правительстве Москвы — это обучение самым востребованным навыкам, шесть месяцев работы в амбициозной команде и реальный шанс дать мощный старт своей ИТ-карьере!

Присоединяйся к команде лучших!

Реклама
Рекламодатель МГУУ Правительства Москвы, университет Правительства Москвы
ИНН 7729026306
erid: 2SDnjdGPMs1

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

🚀 ☁️ Вебинар для: системных администраторов Linux, DevOps-инженеров 🚀 ☁️

👉 Тема: Настраиваем сетевой фильтр с nftables

Присоединяйтесь к бесплатному уроку курса Administrator Linux. Professional
Дата и время: 21.10.2024 в 19.00
На занятии вы узнаете:
- почему nf_tables должен заменить привычный iptables
- рассмотрим принципы настройки сетевого фильтра на базе nf_tables
- поговорим о совместимости и переходе с iptables на nf_tables.

💪 Преимущества участия в ОУ: на уроке вы сможете понять ключевые отличия nftables от iptables, научиться применять nftables для защиты системы от сетевых атак.

👉 Зарегистрироваться для участия: https://otus.pw/LWRy/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

МТС True Tech Champ

Регистрация: до 15 октября
Отборочный онлайн-этап: до 16 октября
Финал: 8 ноября в МТС Live Холл

МТС True Tech Champ — всероссийский ИТ-чемпионат, принять участие в котором могут не только опытные, но и начинающие ИТ-специалисты. Участникам предлагается два трека с разными типами алгоритмических задач: в первом можно попробовать свои силы в классическом олимпиадном формате, а во втором — показать себя в создании алгоритмов для прохождения лабиринтов роботами. Призовой фонд чемпионата 10 250 000 руб.

В обоих треках участникам помогают эксперты компании, есть записанные вебинары с разбором задач.

Успей зарегистрироваться до 15 октября по ссылке.

Читать полностью…

🐧 Linux Junior. Программирование под Linux.

Новый бесплатный вебинар «Инструменты безопасности Windows»:
- Как использовать встроенные средства безопасности Windows для защиты операционной системы
- Продвинутые функций брандмауэра.
- Управление политиками безопасности с помощью Group Policy.
- Контроль безопасности путем чтения логов системы.

✔️Полезно для: системных администраторов и всех кто работает с Windows!

⚡️За 60 минут Вы:
- Научитесь настраивать и использовать Windows Defender для обеспечения безопасности.
- Сможете эффективно управлять политиками безопасности через Group Policy.
- На практике реализуете основные меры по защите данных.
- Будете уверены в том, что ваша система защищена от большинства угроз.

🙂Регистрируйтесь сейчас и получите бонус «Групповые политики Windows»: https://otus.pw/iRRF/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…
Subscribe to a channel