juniorlinux | Unsorted

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

3309

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

Subscribe to a channel

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

Двойные тире в командах Linux

Порой опытные админы используют команды в консоли следующим образом:

ssh root@linuxzone.ru --


Что означает это двойное тире? Зачем оно? Давайте разбираться.

Двойное тире означает «флаги командной строки». Оно указывает ssh или другой команде не пытаться анализировать то, что следует после параметров. На словах выглядит не очень, давайте посмотрим на практике!

У меня есть такая команда:
ssh root@linuzone.ru -- command1 --arg1 --arg2


Приведенный выше синтаксис указывает ssh не пытаться анализировать параметры arg1 и arg2 после символа --. Это гарантирует, что команда command1 примет arg1 и arg2 в качестве аргументов командной строки и выполнится на удаленном сервере.

Короче говоря мы сообщаем ssh: все то, что идет после двойного тире, это не твои параметры и аргументы, анализировать это НЕ НАДО! СТОП! Дальше дело за command1 и его параметрами и аргументами.

Двойное тире не обрабатывается оболочками bash/zsh/csh/sh/fish и т.п. Оно обрабатывается средствами самих программ, но НЕ всех. Например ssh это умеет делать, как и множество других команд и утилит. Рассмотрим другие примеры.

Например, вы не сможете просмотреть файл с именем --file или -f, используя команду cat. Проверяем:
cat --file
cat -f


Опа. Ошибка! cat: unrecognized option --file/f. Давайте теперь передадим двойное тире:
cat -- --file
cat -- -f


Ошибка пропала и файл успешно вывелся на экран, ну либо выскочило сообщение cat: --file/f: No such file or directory. Это нормально.

Закрепим:
rm --file       = получим ошибку
rm -- '--file' = а вот это сработает


Ну а что бы передать параметры в rm, делаем так:
rm -v -i -- '--file'
rm -f -v -i -- '-f'


Просто, логично, мелодично. Но как я и сказал выше, не все команды умеют работать с двойным тире. Например, команда echo. Все попытки подружить её с двойным тире просто-напросто провалятся:
/usr/bin/echo -- -n
echo -- --test


Выведется это:
-- -n
-- --test

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

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

Как быть, если не можешь вспомнить команду в Linux?

Вот бывает такое, что команда вылетела из головы. Причем прихватила не только свое название, но и какие-то команды с ключами. Что делать? Воспользуемся утилитой man с нужными ключами:

man -k <ключевое слово>


Например, вы забыли название команды, но помните, что она как-то связана с диском. Поэтому вводим следующую строку в терминал:

man -k disk


В выхлоп попадают все команды, связанные с дисками. Легко найти необходимую, вспомнить ее название и нужные ключи. Правда, все очень просто? Так что, пользуемся и наслаждаемся!

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

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

Как отправить сообщение всем подключенным пользователям?

Предположим, вы хотите ребутнуть сервер, но на нем одновременно с вами работают и другие люди. Как отправить им сообщение в терминале?

Ответ через час.

#вопросы

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

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

👩‍💻 Команда sync

Утилита команды sync синхронизирует данные из кэша в постоянную память.

Давайте рассмотрим варианты ее применения.

1️⃣ Синхронизация кэша юзера

Эта команда синхронизирует данные кэша с жестким диском:

$ sync


2️⃣ Синхронизация юзерских файлов

Когда вы даете привилегии sudo команде sync, она синхронизирует все смонтированные файловые системы на жестком диске:

$ sudo sync


Чтобы получить файловые системы юзера:

$ df


Можно посмотреть, сколько данных смонтированы в корневом каталоге "/", в раздел - "/dev/sda3".

3️⃣ Синхронизация данных файла

Команда sync предоставляет опции -d или -data для синхронизации/копирования данных кэша файла на жесткий диск:

$ sync -d /home/testfile1.txt


4️⃣ Синхронизация данных нескольких файлов

Для синхронизации данных кэша нескольких файлов, вы можете использовать команду следующим образом:

$ sync -d /home/testfile1.txt ~/Desktop/Samplevideo.mp4


5️⃣ Синхронизация файловой системы

Опции -f или -file-system позволяют юзеру синхронизировать данные вместе с файловыми системами:

$ sync -f /home/Downloads/testfile2.txt


6️⃣ Синхронизация нескольких файловых систем

Команда sync может синхронизировать/копировать несколько файловых систем с помощью одной команды:

$ sync -f /home/file1.txt ~/Desktop/Samplevideo.mp4


7️⃣ Синхронизация файловой системы конкретного раздела

Мы можем синхронизировать файловую систему определенного раздела системы:

$ sudo sync /dev/sda3


8️⃣ Синхронизация каталога и подкаталогов

Для синхронизации каталога с именем "/var/log/syslog" и его подкаталогов используется следующая команда:

$ sudo sync /var/log/syslog

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

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

PID процесса в Linux

В ОС Linux каждый процесс обладает уникальным идентификатором, который называется Process ID или PID. При создании нового процесса ему автоматически присваивается PID.

▶️Значения PID

В зависимости от значения PID, сигнал будет направляться определенной группе процессов.

Как именно значение PID влияет на отправку сигнала:

«PID > 0» - Сигнал будет отправлен процессу, который имеет идентификатор, соответствующий введенному значению.

«PID = 0» - Все процессы, которые в данный момент входят в одну группу, получают одинаковый сигнал.

«PID = −1» - В этом случае сигнал будет отправлен всем пользовательским процессам (если команду вызывает root, то сигнал будет отправлен всем процессам, за исключением init и самого kill). Для этой цели используется уникальный идентификатор пользователя (UID).

«PID < −1» - Сигнал передается процессам, которые входят в группу с GID (идентификатор группы), и значение PID (идентификатор процесса) имеет абсолютное значение.

▶️Поиск PID

Чтобы успешно завершить определенный процесс, необходимо определить его номер.

ps - команда отображает список активных процессов с дополнительной информацией о каждом из них.
grep - задача выполняется вместе с командой ps, которая занимается поиском по списку, полученному от ps.

Извлечь все процессы:

ps axu


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

ps axu | grep bash


Если процесс существует, то мы увидим подобный вывод:

root 447 0.0 0.4 7932 4708 tty1 S 11:26 0:00 -bash
root 477 0.0 0.0 6268 640 tty1 S+ 11:27 0:00 grep bash


Здесь важна первая строчка. Число после username и будет являться PID.

Доп.варианты поиска:

▫️ pgrep - просматривает активные процессы и выдает PID тех, чьи атрибуты удовлетворяют запросу.

pgrep firefox


▫️ pidof - команда, принимающая на вход название.

pidof gcalctool

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

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

При запуске команды или скрипта добавьте в начале команду time:

$ time ls -a

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

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

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

👩‍💻 Команда kill

Если вам известен PID процесса, вы можете принудительно остановить его, используя команду kill.

Введите команду с номером PID процесса:

kill 279


Когда мы используем команду kill без аргументов, она автоматически отправляет сигнал SIGTERM.

Сигнал сообщает о потребности в завершении процесса. Но сложность заключается в том, что сигнал может быть проигнорирован.

У каждого сигнала существует свой уникальный номер, в том числе у SIGTERM он равен 15.


Чтобы получить полный список всех доступных сигналов и их номеров необходимо ввести команду:

kill -l


Хотя SIGTERM и предназначен для остановки процесса, он не может гарантировать, что процесс будет остановлен в случае блокировки сигнала или его перехвата.

Чтобы гарантировано остановить процесс, нужно отправить SIGKILL (номер 9):

kill −9 279


ℹ️ С помощью команды kill можно одновременно убивать несколько процессов.

Для этого необходимо указать их PID через пробел:

kill −9 267 315 442

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

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

Как убить процесс, введя только часть его имени?

Ответ через час.

#вопросы

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

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

1000+ Bash скриптов для DevOps

Не всегда скрипты на Bash вообще нужны в DevOps, но иногда всё же возникает ситуация, когда нужно что-то автоматизировать, а готовых решений нет или они не подходят.
И именно в таких ситуациях может быть удобно быстро написать решение на Bash.

Так что держите эту большую подборку — это скрипты, связанные с настройкой и управлением AWS, GCP, Kubernetes, Docker, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure TeamCity, Spotify, LDAP, Python и это далеко не полный список

Есть здесь даже скрипты для конфигурирования .bashrc, .vimrc, .gitconfig, .screenrc, tmux

Ссылка: https://github.com/HariSekhon/DevOps-Bash-tools

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

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

У K2 Cloud скоро будет митап о карьере в Linux

Эксперты компании и приглашенный гость — блогер Константин Дипеж (DeusOps) — обсудят профессиональный путь Linux-специалиста.

Среди тем: как безболезненно «вкатиться» в Linux, с чем откликаться на вакансию, какие вопросы задают на техническом интервью и как расти после оффера. Полезный контент для начинающих спецов, которые хотят развиваться в DevOps и не только.

Встреча пройдет онлайн, 19 марта в 18:00 (msk). Подробности и регистрация по ссылке

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

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

Как запустить процесс, который не прервется при закрытии терминала?

Ответ через час.

#вопросы

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

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

Топ 7 книг по Linux.
Скачивайте и читайте.

Хакинг на Linux
Автор: Колисниченко Д. Н.

Kali Linux Penetration Testing Bible
Автор: Gus Khawaja

Efficient Linux at the Command Line
Автор: Daniel J. Barrett

Penetration Testing with Kali Linux 2.0

Mastering Kali Linux for Advanced Penetration Testing
Автор: Vijay Kumar Velu

Linux Bible from Scratch
Автор: Christopher Negus

How Linux Works
Автор: Brian Ward

#linux #подборка

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

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

Как очистить экран терминала?

Чтобы очистить экран терминала, введите команду clear. Или просто нажмите Ctrl+L.

#вопросы

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

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

Linux и Go эффективное
низкоуровневое
программирование

Автор:
Олег Цилюрик
Год издания:
2024

#go #ru #2O24 #linux #книга

🐧 Скачать книгу 🐧

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

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

👩‍💻 Команда find

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

Некоторые примеры использования:

1. Найти все файлы с определенным расширением в указанной директории:

find /путь/к/директории -name "*.расширение"

2. Найти файлы, измененные в течении последних n дней:

find /путь/к/директории -mtime -n

3. Найти файлы, у которых размер больше n Кбайт:

find /путь/к/директории -size +nk


👉 🐧 Linux Junior | #linux

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

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

🔥 Хотите понимать, как работает Linux на уровне ядра?

Повышение квалификации «Разработка ядра Linux» — это профессиональное погружение в архитектуру, отладку, модули, обработку прерываний и работу с памятью.

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

💚 Курс ведут практикующие эксперты с реальным опытом разработки под ядро.
💚Программа обновляется под актуальные стандарты и задачи индустрии.
💚Живые лекции, поддержка наставников, итоговая работа — всё, чтобы вы освоили сложные темы системного программирования.

Оставьте заявку прямо сейчас

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

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

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

Для отправки сообщения всем пользователям сразу используется команда wall (расшифровывается как write to all, т.е. “написать всем”).

$ wall
I'm going to reboot the server at 14:00!

После нажатия Ctrl+D сообщение будет отправлено.

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

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

Автоматизация задач с xargs

Многие пользователи Linux никогда не слышали о команде xargs, хотя это мощный инструмент для автоматизации задач и запуска команд с разными аргументами.

Утилита обрабатывает входные данные из стандартного потока ввода (STDIN). Они могут туда поступать либо напрямую от пользователя либо от сторонних команд через конвейер |.

Рассмотрим простой пример. Предположим, вы находитесь в каталоге с тремя файлами:

$ ls -1
file1.txt
file2.txt
file3.txt


Передадим данный список в xargs, чтобы он служил входными данными, и wc -l в качестве шаблона команды:

$ ls -1 | xargs wc -l
3 file1.txt
4 file2.txt
1 file3.txt
8 total


В результате xargs применил шаблон команды wc -l к каждому файлу для подсчета строк.

Недостаток примера заключается в том, что xargs тут не требуется, можно обойтись сопоставлением файлов с шаблоном:

$ wc -l *
3 file1.txt
4 file2.txt
...


Зачем тогда использовать xargs?

Ее мощь становится очевидной, когда входные строки немного сложнее.

Предположим, вы хотите обойти дерево каталогов и посчитать количество строк во всех python скриптах с именами, оканчивающимися на ".py".

Такой список путей к файлам легко создать с помощью команды find:

$ find . -type f -name \*.py -print

/usr/lib/bup/bup/options.py
/usr/lib/bup/bup/xstat.py
...


Теперь xargs может применить шаблон команды к каждому файлу:

$ find / -type f -name \*.py -print | xargs wc -l

292 /usr/lib/bup/bup/options.py
112 /usr/lib/bup/bup/xstat.py
...


Комбинируя find и xargs, можно дать возможность любой команде выполняться с обходом всей файловой системы, затрагивая только те ресурсы, которые соответствуют критериям.

Опции xargs

Команда xargs имеет множество опций. Рассмотрим наиболее интересные: -n, -I и -0.

1️⃣ Параметр "-n" указывает то количество аргументов, которое будет передано на 1 выполнение команды:

$ ls | xargs echo
file1.txt file2.txt

$ ls | xargs -n1 echo
file1.txt
file2.txt


Во втором случае команда echo выполнится 2 раза: по вызову на аргумент.

2️⃣ Параметр -I определяет место входных строк в команде. По умолчанию они добавляются в конец, но вы можете настроить их отображение в другом месте.

После -I введите любую строку, и она станет прототипом, указывающим, куда следует вставлять аргументы:

$ ls | xargs -I XYZ echo XYZ is OK
file1.txt is OK
file2.txt is OK


Обратите внимание, что -I ограничивает xargs одной входной строкой на команду.

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

3️⃣ Параметр -0 использует символ "\0" в качестве разделителя данных вместо "\n" или пробела. Он часто используется при объединении find и xargs, т.к., обычно xargs ожидает, что строки будут разделены пробелами.

А если отдельные элементы в строках содержат дополнительные пробелы, например имена файлов?

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

Например, если входные данные включают "file num 1.txt", xargs обработает все по отдельности и, вероятно, выведет ошибку:


$ find ./ -type f -name \*.txt -print | xargs wc -l

wc: ./file: No such file or directory
wc: num: No such file or directory
wc: 1.txt: No such file or directory


Как разделить входные строки нулями вместо символов новой строки? К счастью, у команды find есть возможность сделать это с помощью флага -print0:

$ find ./ -name \*.txt -print0

./file1.txt./file num 1.txt


Теперь xargs будет искать разделитель "\0" и по нему сформирует корректный список аргументов для wc -l:

$ find ./ -name \*.txt -print0 | xargs -0 wc -l

0 ./file1.txt
0 ./file num 1.txt
0 total

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

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

🔥 Понятная, интерактивная и доходчивая шпаргалка для новичков в сетевых протоколах

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

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

👩‍💻 Команда grep

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

Несколько примеров использования:

1. Простой поиск:

grep "word" файл.txt


2. Поиск с подсветкой:

grep --color=auto "pattern" file.txt


3. Рекурсивный поиск:

grep -r "pattern" /путь/к/директории


4. Исключение файлов:

grep "pattern" --exclude="*.log" /путь/к/директории


5. Поиск с номерами строк:

grep -n "pattern" file.txt

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

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

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

Ответ через час.

#вопросы

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

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

Указав имя процесса, можно его убить при помощи команды killall.

killall firefox

А команда pkill позволяет завершить процесс, введя только часть его имени.

pkill fire*

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

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

Передача команды в качестве аргумента bash

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

По умолчанию bash запускает интерактивную оболочку для ввода и выполнения команд.

Кроме того, можно передать команду в bash в виде строки с помощью параметра -c. Тогда bash запустит эту строку как команду, а после выполнения завершит работу:

$ bash -c "ls -l"
-rw-r--r-- 1 smith smith 325 Jul 3 17:44 animals.txt


🤔 Почему это бывает полезно?

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

Любые изменения в дочерней оболочке не повлияют на текущую:

$ pwd
/home/smith

$ touch /tmp/badfile

$ bash -c "cd /tmp && rm badfile"

$ pwd
/home/smith


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

‼️ Однако наиболее показательно и полезно использование bash -c вместе с sudo и перенаправлением ввода/вывода. Тогда-то эта фича и является ключом к успеху.

Предположим, вы хотите создать файл журнала в системном каталоге "/var/log", недоступном для записи обычным пользователям.

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

$ sudo echo "New log file" > /var/log/custom.log

bash: /var/log/custom.log: Permission denied


🤔 Минуточку, но ведь команда sudo должна дать разрешение на создание любого файла в любом месте! Как что-то может пойти не так?

Почему sudo даже не запрашивает пароль? Ответ: потому что sudo вообще не запускалась.

Вы применили sudo к команде echo, но не к перенаправлению вывода, которое запустилось первым и провалилось.

✏️ Опишем процесс пошагово:

1) Вы нажали клавишу Enter.
2) Оболочка начала вычислять всю команду, включая перенаправление.
3) Оболочка попыталась создать файл custom.log в защищенном каталоге "/var/log".

У нас не было разрешения на запись в "/var/log", поэтому оболочка сообщила, что в доступе отказано (Permission denied).

Чтобы решить эту проблему, нужно сообщить оболочке: «Выполни всю команду, включая перенаправление вывода, от имени суперпользователя».

Это именно та ситуация, которую так хорошо решает bash -c.

Создайте команду, которую вы хотите запустить, в виде строки и передайте ее в качестве аргумента для sudo bash -c:

$ sudo bash -c 'echo "New log file" > /var/log/custom.log'

[sudo] password for smith: xxxxxxxx

$ cat /var/log/custom.log
New log file


На этот раз мы запустили от имени суперпользователя bash, а не просто echo.

По итогу, bash выполнит всю строку как команду. Перенаправление проходит успешно.

Помните о bash -c, когда sudo сочетается с перенаправлением.

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

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

👩‍💻 Команды zip и unzip

Давайте рассмотрим на примерах, как пользоваться командами zip и unzip для упаковки и распаковки архивов формата ZIP.

📦 Упаковка архивов

Создаём архивы с помощью команды zip. Например:

1. Упаковка одного файла:

zip archive.zip file.txt


2. Упаковка нескольких файлов:

zip archive.zip file1.txt file2.txt file3.txt


3. Упаковка папки с ее содержимым:

zip -r archive.zip folder


4. Упаковка папки с исключением определенных файлов:

zip -r archive.zip folder -x "folder/file3.txt"


📦 Распаковка архивов

Для того чтобы распаковать архив, используем команду unzip. Например:

1. Распаковка архива в текущую директорию:

unzip archive.zip


2. Распаковка архива в определенную директорию:

unzip archive.zip -d /path/to/directory


3. Просмотр содержимого архива без распаковки:

unzip -l archive.zip


4. Распаковка архива с фильтрацией определенных файлов:

unzip archive.zip "*.txt"

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

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

Вам поможет команда nohup.

Допустим, вы открыли какое-то приложение, введя команду в терминале. Если вы об этом забудете и закроете терминал, открытая через него программа тоже закроется. Чтобы этого не произошло, при введении команды нужно написать nohup.

Синтаксис:

nohup команда аргументы &

nohup вам пригодится, если вы запускаете какой-то скрипт, работа которого занимает много времени и может происходить в фоновом режиме (для этого в конце добавляется &). После такого запуска вы сможете закрыть терминал или вылогиниться с удаленного сервера, а скрипт продолжит работу.

Завершить работу nohup можно при помощи kill.

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

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

🖥 Что такое SSH-алиас и как его настроить?

SSH-алиас (SSH alias)
- это короткое именованное обозначение, которое используется для подключения к удаленному серверу через SSH.

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

Для создания SSH-алиаса вам нужно отредактировать файл конфигурации SSH клиента, который обычно называется config и находится в директории ~/.ssh/

⚙️ Как это сделать:

1. Открываем файл конфига в любом текстовом редакторе, например:

vim ~/.ssh/config


2. Конфигурируем алиас. Например:

Host my_server
Hostname 34.151.201.192
User ghost23
Port 22


🟠Host - имя алиаса, то самое короткое именованное обозначение, по которому будет выполняться подключение

🟠Hostname - ip-адрес сервера, к которому будет выполняться подключение

🟠User - имя пользователя, под которым будем логиниться на сервере

🟠Port - номер порта, по которому будем подключаться

3. Сохраняем изменения.

✔️ Теперь, чтобы подключиться к серверу, достаточно ввести команду с алиасом:

ssh my_server


Кстати, таких алиасов может быть множество и это очень удобно!

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

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

Linux - сила, MacOS - могила!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tailspin

Утилита, которая позволяет просматривать логи с подсветкой. Это удобно, красиво и сокращает много времени на анализ.

Но есть один минус - если привыкните, то читать логи без этой тулзы будет очень сложно 🤓

🔛 https://github.com/bensadeh/tailspin

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

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

Python и DevOps:
Ключ к автоматизации Linux


Автор: Ной Гифт
Год издания: 2022

#python #devops #ru

Скачать книгу

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