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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد
3 095
المشتركون
-124 ساعات
-37 أيام
-1230 أيام
أرشيف المشاركات
Какая специальная переменная содержит id процесса последней команды, выполненной в фоновом режиме?
Anonymous voting

Вам поможет команда nohup. Допустим, вы открыли какое-то приложение, введя команду в терминале. Если вы об этом забудете и закроете терминал, открытая через него программа тоже закроется. Чтобы этого не произошло, при введении команды нужно написать nohup. Синтаксис:
nohup команда аргументы &
nohup вам пригодится, если вы запускаете какой-то скрипт, работа которого занимает много времени и может происходить в фоновом режиме (для этого в конце добавляется &). После такого запуска вы сможете закрыть терминал или вылогиниться с удаленного сервера, а скрипт продолжит работу. Завершить работу nohup можно при помощи kill.

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

🖥 Что такое 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
Кстати, таких алиасов может быть множество и это очень удобно!

Топ 7 книг по Linux. Скачивайте и читайте. Хакинг на Linux Автор: Колисниченко Д. Н. Kali Linux Penetration Testing Bible Авт
Топ 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 #подборка

Права доступа -rwSr--r-- равнозначны...
Anonymous voting

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

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

Пришло время заглянуть под капот и научиться создавать драйвера на Linux! Научитесь создавать драйвера, управлять памятью на
Пришло время заглянуть под капот и научиться создавать драйвера на Linux! Научитесь создавать драйвера, управлять памятью на уровне ядра, писать многопоточные и синхронизированные модули, а также разбираться в архитектуре и механизмах ядра Linux. 🖐 Что ждет вас на курсе? - Создание и настройка модулей ядра: Вы научитесь легко интегрировать новое оборудование и расширять функциональность системы. - Внутренние механизмы ядра и управление памятью: Поймете, как более точно настраивать и оптимизировать систему под конкретные задачи, что улучшит общую эффективность работы. - Навыки разработки драйверов: Освоите взаимодействие с аппаратными устройствами, что позволит легко интегрировать аппаратные функции и управлять ими, расширяя функциональность мобильных приложений. ➡️ Что будет в программе курса? 1. Узнаем архитектуру ядра Linux и разберемся с драйверами. 2. Создадим простой модуль ядра: будем использовать printk(), сборку и макроопределения __init и __exit. 3. Связь модулей ядра с приложениями? Легко! 4. Работать с файлами символьных устройств — это просто! 5. Создадим драйверы для файловой системы /proc и научимся блокировать процессы при конкуренции. 6. Управление памятью в ядре Linux — прокачаемся! 7. Разработка и регистрация блочных устройств? Без проблем! 8. Конкуренция, семафоры, мьютексы — разберемся с примерами драйверов! 9. Типы данных в ядре и их использование — будем разбираться! Вас ждет пробный урок Перед тем как погружаться в курс, приглашаем вас пройти небольшой демо-урок, где вы сможете проверить, достаточно ли у вас знаний для обучения на курсе, а также послушать лекцию про архитектуру ядра и в чем отличия разработки драйверов от прикладного ПО. ➡️ Регистрация на демо-доступ Реклама. ООО "Инженеркатех" ИНН 9715483673 erid: 2W5zFGFH6oa

Linux и Go эффективное низкоуровневое программирование Автор: Олег Цилюрик Год издания: 2024 #go #ru #2O24 #linux #книга Скач
Linux и Go эффективное низкоуровневое программирование Автор: Олег Цилюрик Год издания: 2024 #go #ru #2O24 #linux #книга Скачать книгу

tailspin Утилита, которая позволяет просматривать логи с подсветкой. Это удобно, красиво и сокращает много времени на анализ.
tailspin Утилита, которая позволяет просматривать логи с подсветкой. Это удобно, красиво и сокращает много времени на анализ. Но есть один минус - если привыкните, то читать логи без этой тулзы будет очень сложно 🤓 🔛 https://github.com/bensadeh/tailspin

👩‍💻 Команда find Команда find позволяет выполнять поиск по различным критериям, таким как имя файла, размер, дата изменения и другие параметры. Вы можете указать точный путь или использовать джокеры для более гибкого поиска. Некоторые примеры использования: 1. Найти все файлы с определенным расширением в указанной директории:
find /путь/к/директории -name "*.расширение"
2. Найти файлы, измененные в течении последних n дней:
find /путь/к/директории -mtime -n
3. Найти файлы, у которых размер больше n Кбайт:
find /путь/к/директории -size +nk

Python и DevOps: Ключ к автоматизации Linux Автор: Ной Гифт Год издания: 2022 #python #devops #ru Скачать книгу
Python и DevOps: Ключ к автоматизации Linux Автор: Ной Гифт Год издания: 2022 #python #devops #ru Скачать книгу

Подстановка вывода команды: $() Оператор, который мы сегодня рассмотрим, является суперполезной фичей оболочки. Мы буквально
Подстановка вывода команды: $() Оператор, который мы сегодня рассмотрим, является суперполезной фичей оболочки. Мы буквально можем подставить вывод команды либо целой цепочки посреди выражения. Предположим, у вас есть несколько тысяч текстовых файлов 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 При работе в редакторе nano нажмите Alt+# чтобы отобразить номера строк 👉 🐧 Linux Junior | #linux
💡 Быстрый совет по Linux При работе в редакторе nano нажмите Alt+# чтобы отобразить номера строк 👉 🐧 Linux Junior | #linux