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

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

Відкрити в Telegram

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

Показати більше
3 117
Підписники
Немає даних24 години
+17 днів
-1130 день
Архів дописів
При помощи какой команды можно создать переменную окружения?
Anonymous voting

Указав имя процесса, можно его убить при помощи команды killall.
killall firefox
А команда pkill позволяет завершить процесс, введя только часть его имени. pkill fire*

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

Передача команды в качестве аргумента 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 сочетается с перенаправлением.

1000+ Bash скриптов для DevOps Не всегда скрипты на Bash вообще нужны в DevOps, но иногда всё же возникает ситуация, когда ну
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

👩‍💻 Команды 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"

У K2 Cloud скоро будет митап о карьере в Linux Эксперты компании и приглашенный гость — блогер Константин Дипеж (DeusOps) — о
У K2 Cloud скоро будет митап о карьере в Linux Эксперты компании и приглашенный гость — блогер Константин Дипеж (DeusOps) — обсудят профессиональный путь Linux-специалиста. Среди тем: как безболезненно «вкатиться» в Linux, с чем откликаться на вакансию, какие вопросы задают на техническом интервью и как расти после оффера. Полезный контент для начинающих спецов, которые хотят развиваться в DevOps и не только. Встреча пройдет онлайн, 19 марта в 18:00 (msk). Подробности и регистрация по ссылке

Какая специальная переменная содержит 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