Правильное оформление дистрибутива Linux 🎨
Все знают, что отличительной чертой дистрибутивов Linux является возможность широкой кастомизации. Многие думают, что это история исключительно про цвет кнопочек и толщину рамок окон. На самом же деле, стоит набаловаться с установкой тем в том же KDE Plasma, как начинает приходить осознание того, что правильное оформление дистрибутива может стать залогом его удобного использования, сформировать то, что я называю воркфлоу - рабочий поток, говоря по нашему. Приведу несколько простых примеров того, какое значение имеют привычные нам элементы дизайна среды рабочего окружения.
1️⃣ Изображение на заднем фоне (background)
Это не просто картинка на заднем фоне. При помощи бэкграунда можно четко обозначить границы между окнами, выделить на контрасте элементы интерфейса и даже (хотя мне это кажется фантазией) сэкономить батарею ноутбука. Про последнее я вполне серьезно: читал где-то в интернетах, что если установить черный фон в качестве заставки рабочего стола, то батарея будет разряжаться медленнее.
2️⃣ Шрифты
Мало кто будет спорить, что правильный выбор шрифтов не позволит глазам быстро устать и вглядываться в экранный текст, излишне напрягая глазные мышцы. Есть целые исследования, посвященные тому, какие шрифты лучше подойдут для определенного типа интерфейса, какие лучше использовать в редакторах кода, а какая гарнитура идеально впишется в графический редактор. Ранее на канале в Дзене выходила подборка десяти шрифтов для терминала.
3️⃣ Светлая или темная темы
Не буду разжигать холивара по поводу того, что лучше, но есть моменты, когда нужно и можно не просто выбрать какой-то один вариант для интерфейса, а сочетать светлую и темную тему в зависимости от степени используемости приложения. Говоря проще, то где вы работаете чаще должно иметь темное оформление, чтобы не утомлять глаза, а не часто используемые приложения можно сделать светлыми, дабы они имели контраст на фоне темных программ.
4️⃣ Темы значков (иконок)
Это не просто красивые ярлычки на рабочем столе или на панели. Используя различные иконки вы можете провести визуальное разделение между часто используемым софтом и теми программами, которые используются крайне редко. Вдобавок верно настроенная тема значков внутри программы позволит быстрее ориентироваться в интерфейсе, особенно если вы только начали его изучать.
5️⃣ Анимации и эффекты
Обычно пользователи для экономии ресурсов отключают анимационные и иные эффекты, но грамотная их настройка позволит привлечь внимание к всплывающим окнам или обозначить какое-то важное событие, случившееся в системе. Кстати, сегодня на канале в Дзен вышла статья про два интересных эффекта для окон в KDE Plasma.
🏁 В итоге получается, что правильное оформление дистрибутива не просто позволит вам получить красивую, но и функциональную среду рабочего стола, благодаря которой выполнять необходимые задачи получится быстрее. Напишите в комментариях про то, как вы относитесь к оформлению дистрибутива и придаете ли вы этому процессу важное значение?
Все знают, что отличительной чертой дистрибутивов Linux является возможность широкой кастомизации. Многие думают, что это история исключительно про цвет кнопочек и толщину рамок окон. На самом же деле, стоит набаловаться с установкой тем в том же KDE Plasma, как начинает приходить осознание того, что правильное оформление дистрибутива может стать залогом его удобного использования, сформировать то, что я называю воркфлоу - рабочий поток, говоря по нашему. Приведу несколько простых примеров того, какое значение имеют привычные нам элементы дизайна среды рабочего окружения.
1️⃣ Изображение на заднем фоне (background)
Это не просто картинка на заднем фоне. При помощи бэкграунда можно четко обозначить границы между окнами, выделить на контрасте элементы интерфейса и даже (хотя мне это кажется фантазией) сэкономить батарею ноутбука. Про последнее я вполне серьезно: читал где-то в интернетах, что если установить черный фон в качестве заставки рабочего стола, то батарея будет разряжаться медленнее.
2️⃣ Шрифты
Мало кто будет спорить, что правильный выбор шрифтов не позволит глазам быстро устать и вглядываться в экранный текст, излишне напрягая глазные мышцы. Есть целые исследования, посвященные тому, какие шрифты лучше подойдут для определенного типа интерфейса, какие лучше использовать в редакторах кода, а какая гарнитура идеально впишется в графический редактор. Ранее на канале в Дзене выходила подборка десяти шрифтов для терминала.
3️⃣ Светлая или темная темы
Не буду разжигать холивара по поводу того, что лучше, но есть моменты, когда нужно и можно не просто выбрать какой-то один вариант для интерфейса, а сочетать светлую и темную тему в зависимости от степени используемости приложения. Говоря проще, то где вы работаете чаще должно иметь темное оформление, чтобы не утомлять глаза, а не часто используемые приложения можно сделать светлыми, дабы они имели контраст на фоне темных программ.
4️⃣ Темы значков (иконок)
Это не просто красивые ярлычки на рабочем столе или на панели. Используя различные иконки вы можете провести визуальное разделение между часто используемым софтом и теми программами, которые используются крайне редко. Вдобавок верно настроенная тема значков внутри программы позволит быстрее ориентироваться в интерфейсе, особенно если вы только начали его изучать.
5️⃣ Анимации и эффекты
Обычно пользователи для экономии ресурсов отключают анимационные и иные эффекты, но грамотная их настройка позволит привлечь внимание к всплывающим окнам или обозначить какое-то важное событие, случившееся в системе. Кстати, сегодня на канале в Дзен вышла статья про два интересных эффекта для окон в KDE Plasma.
🏁 В итоге получается, что правильное оформление дистрибутива не просто позволит вам получить красивую, но и функциональную среду рабочего стола, благодаря которой выполнять необходимые задачи получится быстрее. Напишите в комментариях про то, как вы относитесь к оформлению дистрибутива и придаете ли вы этому процессу важное значение?
👍4
Кратко о CHROOT 🏡
1️⃣ Что такое chroot?
CHROOT – это системный вызов, который временно перемещает root каталог в новую папку. Как правило, root каталог находится в «/». Но при помощи chroot можно задать другой каталог, который будет служить как root-каталог в окружении chroot. Любые приложения, которые запускаются внутри изолированного окружения, в принципе не могут взаимодействовать с остальной операционной системой. Кроме того, не-рутовый пользователь (non-root), помещённый в chroot-окружение, не сможет перемещаться по иерархии каталогов. Когда нужны chroot-окружения?
2️⃣ Зачем оно нужно?
Chroot-окружение необходимо в самых различных ситуациях. К примеру, оно позволяет собирать, устанавливать и тестировать программное обеспечение в среде, которая отделена от остальной операционной системы. Также его можно использовать для запуска 32-битных приложений в 64-битной среде.
В целом, chroot – это способ временно воссоздать окружение операционной системы из подмножества файловой системы. Это позволяет временно перейти с привычных утилит на их экспериментальные версии, посмотреть, как приложения ведут себя в чистом окружении; также chroot может помочь выполнить операции по восстановлению, развернуть систему или создать дополнительный барьер, чтобы предотвратить потенциальный взлом системы.
3️⃣ Недостатки chroot
Основным недостатком chroot является неудобство в работе, вызванное тем, что в системе могут существовать приличное количество окружений и разных архитектур. Ну и стоит помнить, что даже этот способ не является 100%-тно безопасным и не защищает систему от кривых рук пользователя.
🏁 Постарался по простому объяснить что такое chroot, для чего он нужен и какие у него есть минусы. Если пост понравился, то поддержите его лайком, а любые возникшие вопросы пишите в комментариях.
1️⃣ Что такое chroot?
CHROOT – это системный вызов, который временно перемещает root каталог в новую папку. Как правило, root каталог находится в «/». Но при помощи chroot можно задать другой каталог, который будет служить как root-каталог в окружении chroot. Любые приложения, которые запускаются внутри изолированного окружения, в принципе не могут взаимодействовать с остальной операционной системой. Кроме того, не-рутовый пользователь (non-root), помещённый в chroot-окружение, не сможет перемещаться по иерархии каталогов. Когда нужны chroot-окружения?
2️⃣ Зачем оно нужно?
Chroot-окружение необходимо в самых различных ситуациях. К примеру, оно позволяет собирать, устанавливать и тестировать программное обеспечение в среде, которая отделена от остальной операционной системы. Также его можно использовать для запуска 32-битных приложений в 64-битной среде.
В целом, chroot – это способ временно воссоздать окружение операционной системы из подмножества файловой системы. Это позволяет временно перейти с привычных утилит на их экспериментальные версии, посмотреть, как приложения ведут себя в чистом окружении; также chroot может помочь выполнить операции по восстановлению, развернуть систему или создать дополнительный барьер, чтобы предотвратить потенциальный взлом системы.
3️⃣ Недостатки chroot
Основным недостатком chroot является неудобство в работе, вызванное тем, что в системе могут существовать приличное количество окружений и разных архитектур. Ну и стоит помнить, что даже этот способ не является 100%-тно безопасным и не защищает систему от кривых рук пользователя.
🏁 Постарался по простому объяснить что такое chroot, для чего он нужен и какие у него есть минусы. Если пост понравился, то поддержите его лайком, а любые возникшие вопросы пишите в комментариях.
👍5
Благодарности пост 🙏🏻
Чтобы я делал без своих подписчиков и читателей? Да наверное бы ничего путного 🤗 Подписчик канала и телеграмма по имени Александр уже дважды помогает в разработке сайта проекта: в первый раз он предоставил список всех материалов канала для размещения на сайте, а вчера скинул тексты всей полутысячи статей, опубликованных за практически год. Изображения парсить Дзен не дает, о чем открыто заявил в ответе на запрос, который я отправлял в техподдержку. Но наличие текстов уже в половину облегчило задачу по переносу: их нужно теперь копировать в markdown-файлы, накладывать нужное форматирование и вставлять изображения. Нет у Дзена (и в ближайшее время не появится) удобного инструмента для выгрузки материалов с канала. Поэтому приходится все делать ручками при поддержке подписчиков и читателей.
Александру еще раз говорю большое спасибо!
Чтобы я делал без своих подписчиков и читателей? Да наверное бы ничего путного 🤗 Подписчик канала и телеграмма по имени Александр уже дважды помогает в разработке сайта проекта: в первый раз он предоставил список всех материалов канала для размещения на сайте, а вчера скинул тексты всей полутысячи статей, опубликованных за практически год. Изображения парсить Дзен не дает, о чем открыто заявил в ответе на запрос, который я отправлял в техподдержку. Но наличие текстов уже в половину облегчило задачу по переносу: их нужно теперь копировать в markdown-файлы, накладывать нужное форматирование и вставлять изображения. Нет у Дзена (и в ближайшее время не появится) удобного инструмента для выгрузки материалов с канала. Поэтому приходится все делать ручками при поддержке подписчиков и читателей.
Александру еще раз говорю большое спасибо!
👍8🔥1
Сегодня каналу в Дзене исполняется год! 5 ноября 2022 года на нем вышла первая статья. О мечтах касательно проекта и том, в какой точке он находится сейчас рассказываю в первой части статьи
https://dzen.ru/media/id/63667a0d8c39ee4167280da4/6546ad5eead1b6392687e491?utm_source=zenreaderbot&utm_medium=telegram_bot&utm_campaign=zenreader
https://dzen.ru/media/id/63667a0d8c39ee4167280da4/6546ad5eead1b6392687e491?utm_source=zenreaderbot&utm_medium=telegram_bot&utm_campaign=zenreader
Дзен | Блогерская платформа
Каналу в Дзен исполнился год: оценим перспективы развития и смотрим на пройденный путь (часть первая)
Статья автора «Linux для чайников: гайды, статьи и обзоры» в Дзене ✍: Если календарь меня не обманывает и сегодня действительно 5 ноября, то это значит, что каналу в Дзен исполнился год.
👍9
Вторая часть материала, посвященная годовщине канала в Дзене. Рассказываю о том, что ждет проект в будущем, когда запущу сайт и что будет с Дзеном и Телеграммом.
https://dzen.ru/media/just_code/kanalu-v-dzen-ispolnilsia-god-ocenim-perspektivy-razvitiia-i-smotrim-na-proidennyi-put-chast-vtoraia-6548a2bb90699e44bc86e968
https://dzen.ru/media/just_code/kanalu-v-dzen-ispolnilsia-god-ocenim-perspektivy-razvitiia-i-smotrim-na-proidennyi-put-chast-vtoraia-6548a2bb90699e44bc86e968
Дзен | Блогерская платформа
Каналу в Дзен исполнился год: оценим перспективы развития и смотрим на пройденный путь (часть вторая)
Статья автора «Linux для чайников: гайды, статьи и обзоры» в Дзене ✍: Дробление материала по частям не типично для этого канала, но тому, почему так произошло есть конкретное объяснение: в момент...
👍6🔥2
Новая версия LXQt вышла в релиз 🆕 ⬆️
Представлен релиз пользовательского окружения LXQt 1.4 (Qt Lightweight Desktop Environment), развиваемого объединённой командой разработчиков проектов LXDE и Razor-qt. Интерфейс LXQt продолжает следовать идеям классической организации рабочего стола, привнося современное оформление и приёмы, увеличивающие удобство работы. LXQt позиционируется как легковесное, модульное, быстрое и удобное продолжение развития рабочих столов Razor-qt и LXDE, вобравшее лучшие черты обеих оболочек. Код размещён на GitHub и поставляется под лицензиями GPL 2.0+ и LGPL 2.1+. Появление готовых сборок ожидается для Ubuntu (LXQt по умолчанию предлагается в Lubuntu), Arch Linux, Fedora, openSUSE, Mageia, FreeBSD, ROSA и ALT Linux.
Как понятно из названия, это рабочее окружение, которое считается легковесным, то есть, ориентировано на непроизводительные и устаревшие устройства. если память не изменяет, то с LXQt удалось взаимодействовать лишь единожды: во время работы в школе техника внутри кабинета на время подготовки к ЕГЭ убирается. Пришлось доставать свой старый ноутбук, чтобы как-то продолжать вести занятия. На него-то и была установлена Lubuntu (уже и не помню какой именно версии). Окружение являлось работоспособным и вполне покрывало те потребности, которые я поставил перед ноутбуком. Так что, в принципе, если нужно вдохнуть новую жизнь в древнее устройство, то LXQt вполне вам подойдет.
Напишите в комментариях о своем отношении к легковесным окружениям и том, пробовали ли вы LXQt? 💬
Представлен релиз пользовательского окружения LXQt 1.4 (Qt Lightweight Desktop Environment), развиваемого объединённой командой разработчиков проектов LXDE и Razor-qt. Интерфейс LXQt продолжает следовать идеям классической организации рабочего стола, привнося современное оформление и приёмы, увеличивающие удобство работы. LXQt позиционируется как легковесное, модульное, быстрое и удобное продолжение развития рабочих столов Razor-qt и LXDE, вобравшее лучшие черты обеих оболочек. Код размещён на GitHub и поставляется под лицензиями GPL 2.0+ и LGPL 2.1+. Появление готовых сборок ожидается для Ubuntu (LXQt по умолчанию предлагается в Lubuntu), Arch Linux, Fedora, openSUSE, Mageia, FreeBSD, ROSA и ALT Linux.
Как понятно из названия, это рабочее окружение, которое считается легковесным, то есть, ориентировано на непроизводительные и устаревшие устройства. если память не изменяет, то с LXQt удалось взаимодействовать лишь единожды: во время работы в школе техника внутри кабинета на время подготовки к ЕГЭ убирается. Пришлось доставать свой старый ноутбук, чтобы как-то продолжать вести занятия. На него-то и была установлена Lubuntu (уже и не помню какой именно версии). Окружение являлось работоспособным и вполне покрывало те потребности, которые я поставил перед ноутбуком. Так что, в принципе, если нужно вдохнуть новую жизнь в древнее устройство, то LXQt вполне вам подойдет.
Напишите в комментариях о своем отношении к легковесным окружениям и том, пробовали ли вы LXQt? 💬
👍4
Немного правильного подхода к разработке сайта 💻
Вы можете заметить, что сайт пока что недоступен, так как за вчера начал производить с ним некоторые процедуры, связанные со скорым (надеюсь на это) его запуском:
1️⃣ Обновил дистрибутив на сервере, накатив туда Debian 12 и Python версии 3.11 (хотя уже вышел, кстати, Python 3.12)
2️⃣ В Gitlab-репозитории завел себе тестовую ветку, чтобы выстроить процесс разработки чуть грамотнее, чем было до этого: в очень грубом приближении разделил среды разработки на prod и dev
3️⃣ Настроил доставку кода на prod-сервер, в dev-среде ничего доставлять не нужно, так как там все и так стартует нормально.
4️⃣ Установил в систему нужную версию Python (в Fedora 39 уже есть последняя версия Python, нужные ставятся удобнее, чем в Archlinux даже)
5️⃣ Похвалил себя, так как саморефлексия очень важна.
Сайт будет доступен в ближайшее время, там я заканчиваю внесение последних изменений.
Вы можете заметить, что сайт пока что недоступен, так как за вчера начал производить с ним некоторые процедуры, связанные со скорым (надеюсь на это) его запуском:
1️⃣ Обновил дистрибутив на сервере, накатив туда Debian 12 и Python версии 3.11 (хотя уже вышел, кстати, Python 3.12)
2️⃣ В Gitlab-репозитории завел себе тестовую ветку, чтобы выстроить процесс разработки чуть грамотнее, чем было до этого: в очень грубом приближении разделил среды разработки на prod и dev
3️⃣ Настроил доставку кода на prod-сервер, в dev-среде ничего доставлять не нужно, так как там все и так стартует нормально.
4️⃣ Установил в систему нужную версию Python (в Fedora 39 уже есть последняя версия Python, нужные ставятся удобнее, чем в Archlinux даже)
5️⃣ Похвалил себя, так как саморефлексия очень важна.
Сайт будет доступен в ближайшее время, там я заканчиваю внесение последних изменений.
👍6
Основы систем инициализации в Linux: всё, что вы должны знать 💻 🐧
Сегодня мы поговорим о системах инициализации в Linux. Эта тема может показаться сложной для новичков, но не волнуйтесь, мы постараемся объяснить всё максимально просто.
1️⃣ Что такое система инициализации?
Система инициализации - это программа, которая запускает и останавливает другие программы при старте и выключении компьютера. Она играет ключевую роль в процессе загрузки дистрибутива. В мире Linux существует несколько систем инициализации, но мы сосредоточимся на двух основных: SysV и systemd.
1. SysV init:
SysV init - это одна из старейших систем инициализации в Linux. Она использует скрипты в стиле Bash для управления службами. Каждая служба имеет свой собственный скрипт инициализации, расположенный в каталоге /etc/init.d. Вы можете управлять службами, используя команды, такие как
Пример запуска службы с использованием SysV init:
2. systemd:
systemd - это современная система инициализации, которая заменяет SysV init во многих дистрибутивах Linux. Она управляет службами и процессами с использованием юнит-файлов, и она более мощная и гибкая по сравнению с SysV init.
Пример запуска службы с использованием systemd:
2️⃣ Как выбрать систему инициализации?
Большинство современных дистрибутивов Linux используют systemd, но некоторые старые или специализированные дистрибутивы могут все еще использовать SysV init. Вы можете проверить, какая система инициализации используется на вашем компьютере, выполнив команду:
3️⃣ Что выбрать новичку?
Если вы новичок в мире Linux, то systemd, скорее всего, будет более удобным выбором, так как он более современный и интуитивно понятный. Он также предоставляет множество инструментов для управления службами, журналами и т. д.
Системы инициализации - это важная часть дистрибутивов Linux, и хотя они могут показаться сложными на первый взгляд, они играют ключевую роль в стабильной и эффективной работе вашей системы. Надеюсь, что этот пост помог вам лучше понять эту тему. Если у вас есть какие-либо вопросы, не стесняйтесь задавать их в комментариях! 💭 👇
Сегодня мы поговорим о системах инициализации в Linux. Эта тема может показаться сложной для новичков, но не волнуйтесь, мы постараемся объяснить всё максимально просто.
1️⃣ Что такое система инициализации?
Система инициализации - это программа, которая запускает и останавливает другие программы при старте и выключении компьютера. Она играет ключевую роль в процессе загрузки дистрибутива. В мире Linux существует несколько систем инициализации, но мы сосредоточимся на двух основных: SysV и systemd.
1. SysV init:
SysV init - это одна из старейших систем инициализации в Linux. Она использует скрипты в стиле Bash для управления службами. Каждая служба имеет свой собственный скрипт инициализации, расположенный в каталоге /etc/init.d. Вы можете управлять службами, используя команды, такие как
service или chkconfig.Пример запуска службы с использованием SysV init:
sudo service apache2 start
2. systemd:
systemd - это современная система инициализации, которая заменяет SysV init во многих дистрибутивах Linux. Она управляет службами и процессами с использованием юнит-файлов, и она более мощная и гибкая по сравнению с SysV init.
Пример запуска службы с использованием systemd:
sudo systemctl start apache2
2️⃣ Как выбрать систему инициализации?
Большинство современных дистрибутивов Linux используют systemd, но некоторые старые или специализированные дистрибутивы могут все еще использовать SysV init. Вы можете проверить, какая система инициализации используется на вашем компьютере, выполнив команду:
ps -p 1 -o comm=
3️⃣ Что выбрать новичку?
Если вы новичок в мире Linux, то systemd, скорее всего, будет более удобным выбором, так как он более современный и интуитивно понятный. Он также предоставляет множество инструментов для управления службами, журналами и т. д.
Системы инициализации - это важная часть дистрибутивов Linux, и хотя они могут показаться сложными на первый взгляд, они играют ключевую роль в стабильной и эффективной работе вашей системы. Надеюсь, что этот пост помог вам лучше понять эту тему. Если у вас есть какие-либо вопросы, не стесняйтесь задавать их в комментариях! 💭 👇
🔥7
Две команды для просмотра информации о файлах и папках, которые использую чаще всего ✌️
Во время навигации по клиентским серверам возникает потребность просмотреть различную информацию о файле: права доступа, владельца (пользователь/группа), время последнего изменения или появления, и мн. чего еще. Для этого я использую две команды: одну, чтобы просмотреть сведения массово (грубо говоря, для всей директории), другая нужна, чтобы узнать информацию о конкретном файле или папке. Хочу познакомить вас с этими командами.
1️⃣ Команда ls -la
Думаю, что прочитав введение вы сразу же подумали про команду ls (list), которая вместе с ключами l и a выводит подробную информацию о файлах и папках (в том числе скрытых) в директории. Выхлоп у нее обширный, но давайте посмотрим на него на примере одного файла:
Что значит этот набор символов? Давайте расшифруем:
- первый символ - указывает на тип файла. В данном случае, это обычный файл.
- символы rw- показывают права доступа для владельца файла. rw- означает, что владелец (пользователь jc) имеет права на чтение (read) и запись (write) этого файла.
- символы r-- показывают права доступа для группы, к которой принадлежит файл (в данном случае, группа также имеет права только на чтение файла).
- символы r-- показывают права доступа для остальных пользователей, не являющихся владельцем и не принадлежащих к группе (они также имеют права только на чтение файла).
- последний символ . указывает на наличие SELinux-метки, что означает, что файл может иметь дополнительные атрибуты безопасности SELinux.
- 1: число обозначает количество жестких ссылок на файл (в данном случае, у файла есть только одна жесткая ссылка).
- jc: имя пользователя (владельца) файла.
- jc: название группы, к которой принадлежит файл.
- 10: размер файла в байтах.
- ноя 7 11:39: дата последней модификации файла.
- test.txt: имя файла.
Обычно, использую эту команду в самом начале работы с файлами или папками. Так сказать, осматриваю поле предстоящих действий и смотрю, что из содержимого будет интересно. К выбранным файлам и папкам уже можно применить следующую команду.
2️⃣ Команда stat
Название говорит само за себя: команда выводит информацию о конкретных файле или папке. У команды есть параметры, но я их обычно не использую. Беру и просто пишу stat <имя файла или папки>. Выхлоп у нее следующий:
Согласитесь, что информация представлена гораздо лучше, чем при использовании первой команды? Если стоит русская локаль, то выхлоп тоже будет на русском и тут просто бери и читай, выхватывая то, что нужно. Особенно радует числовой вывод прав доступа. После считывания нужных данных уже можно планировать дальнейшие действия с файлами или папками.
3️⃣ Ничего не понятно с правами доступа
Если вы ничего не поняли в этих буквах и цифрах, который означают права доступа к файлу/папке, то на канале в Дзен выходила статья про работу с правами доступа на файлы и папки в Linux. Из нее же вы сможете легко перейти по внутренним ссылкам на цикл статей, посвященных работе с файлами и папками в Linux. Постарался в этих материалах объяснить все доступным языком с примерами.
🏁 Всего две команды позволяют получить очень много информации о файлах и папках в Linux. Польза в средах рабочего окружения от них небольшая (хотя, может вы много работаете в терминале или консольном файловом менеджере), а вот на серверах эти команды просто незаменимы.
Во время навигации по клиентским серверам возникает потребность просмотреть различную информацию о файле: права доступа, владельца (пользователь/группа), время последнего изменения или появления, и мн. чего еще. Для этого я использую две команды: одну, чтобы просмотреть сведения массово (грубо говоря, для всей директории), другая нужна, чтобы узнать информацию о конкретном файле или папке. Хочу познакомить вас с этими командами.
1️⃣ Команда ls -la
Думаю, что прочитав введение вы сразу же подумали про команду ls (list), которая вместе с ключами l и a выводит подробную информацию о файлах и папках (в том числе скрытых) в директории. Выхлоп у нее обширный, но давайте посмотрим на него на примере одного файла:
-rw-r--r--. 1 jc jc 10 ноя 7 11:39 test.txt
Что значит этот набор символов? Давайте расшифруем:
- первый символ - указывает на тип файла. В данном случае, это обычный файл.
- символы rw- показывают права доступа для владельца файла. rw- означает, что владелец (пользователь jc) имеет права на чтение (read) и запись (write) этого файла.
- символы r-- показывают права доступа для группы, к которой принадлежит файл (в данном случае, группа также имеет права только на чтение файла).
- символы r-- показывают права доступа для остальных пользователей, не являющихся владельцем и не принадлежащих к группе (они также имеют права только на чтение файла).
- последний символ . указывает на наличие SELinux-метки, что означает, что файл может иметь дополнительные атрибуты безопасности SELinux.
- 1: число обозначает количество жестких ссылок на файл (в данном случае, у файла есть только одна жесткая ссылка).
- jc: имя пользователя (владельца) файла.
- jc: название группы, к которой принадлежит файл.
- 10: размер файла в байтах.
- ноя 7 11:39: дата последней модификации файла.
- test.txt: имя файла.
Обычно, использую эту команду в самом начале работы с файлами или папками. Так сказать, осматриваю поле предстоящих действий и смотрю, что из содержимого будет интересно. К выбранным файлам и папкам уже можно применить следующую команду.
2️⃣ Команда stat
Название говорит само за себя: команда выводит информацию о конкретных файле или папке. У команды есть параметры, но я их обычно не использую. Беру и просто пишу stat <имя файла или папки>. Выхлоп у нее следующий:
Файл: test.txt
Размер: 10 Блоков: 8 Блок В/В: 4096 обычный файл
Устройство: 0/38 Инода: 744401 Ссылки: 1
Доступ: (0644/-rw-r--r--) Uid: ( 1000/ jc) Gid: ( 1000/ jc)
Контекст: unconfined_u:object_r:user_home_t:s0
Доступ: 2023-11-07 11:39:28.492328539 +0500
Модифицирован: 2023-11-07 11:39:25.705300264 +0500
Изменён: 2023-11-07 11:39:25.705300264 +0500
Создан: 2023-11-07 11:37:20.259833041 +0500
Согласитесь, что информация представлена гораздо лучше, чем при использовании первой команды? Если стоит русская локаль, то выхлоп тоже будет на русском и тут просто бери и читай, выхватывая то, что нужно. Особенно радует числовой вывод прав доступа. После считывания нужных данных уже можно планировать дальнейшие действия с файлами или папками.
3️⃣ Ничего не понятно с правами доступа
Если вы ничего не поняли в этих буквах и цифрах, который означают права доступа к файлу/папке, то на канале в Дзен выходила статья про работу с правами доступа на файлы и папки в Linux. Из нее же вы сможете легко перейти по внутренним ссылкам на цикл статей, посвященных работе с файлами и папками в Linux. Постарался в этих материалах объяснить все доступным языком с примерами.
🏁 Всего две команды позволяют получить очень много информации о файлах и папках в Linux. Польза в средах рабочего окружения от них небольшая (хотя, может вы много работаете в терминале или консольном файловом менеджере), а вот на серверах эти команды просто незаменимы.
👍4
Пост-загадка для новичков (ну и не только) ❓
Посмотрите на клавиатуру, которая лежит перед вами ⌨️ На ней есть только одна буква, которая является работоспособной командой в терминале Linux. Сможете без нажимании всех кнопок написать в комментариях что это за буква?
Посмотрите на клавиатуру, которая лежит перед вами ⌨️ На ней есть только одна буква, которая является работоспособной командой в терминале Linux. Сможете без нажимании всех кнопок написать в комментариях что это за буква?
🚀 Давайте поговорим о мощной команде в bash
Когда вы запускаете скрипт в bash, set -e делает ваш код более надежным и предсказуемым. Эта команда говорит оболочке "если какая-то команда в скрипте завершится неудачей (ненулевым кодом возврата), то прекрати выполнение скрипта". Вот несколько примеров использования
1. Пример с проверкой наличия файла:
2. Пример с командой, возвращающей ненулевой код:
3. Пример с ошибкой внутри подскрипта:
Эти примеры демонстрируют, как
#bash #скрипты #программирование
set -e 🛠Когда вы запускаете скрипт в bash, set -e делает ваш код более надежным и предсказуемым. Эта команда говорит оболочке "если какая-то команда в скрипте завершится неудачей (ненулевым кодом возврата), то прекрати выполнение скрипта". Вот несколько примеров использования
set -e для обеспечения стабильности ваших скриптов:1. Пример с проверкой наличия файла:
#!/bin/bash
set -e
FILE="/путь/к/вашему/файлу.txt"
# Проверяем наличие файла
if [ ! -e "$FILE" ]; then
echo "Ошибка: Файл $FILE не найден."
exit 1
fi
# Ваш код, который зависит от наличия файла
2. Пример с командой, возвращающей ненулевой код:
#!/bin/bash
set -e
# Пытаемся удалить несуществующий каталог
rmdir /несуществующий/каталог
# Если команда завершится неудачей, скрипт автоматически завершится
3. Пример с ошибкой внутри подскрипта:
#!/bin/bash
set -e
# Ваш код
(
# Подскрипт, возвращающий ненулевой код
command1
command2
command3
) || {
echo "Подскрипт завершился ошибкой."
exit 1
}
# Ваш код, который выполнится только при успешном завершении подскрипта
Эти примеры демонстрируют, как
set -e обеспечивает немедленное завершение выполнения скрипта при обнаружении ошибок. Используйте эту команду, чтобы сделать ваши скрипты более надежными и устойчивыми к непредвиденным ситуациям! 🚀💻#bash #скрипты #программирование
👍4
Стал владельцем iPhone 11 и Apple Watch. Затянет ли меня это в яблочное рабство? ⌚️📱
В конце недели супруге прикупили iPhone 14 Pro Max, а значит ее 11-ый яблочный смартфон перешел ко мне. Чуть позже уже сам отжал яблочные часы на пробу в ношении, так как после покупки они лежали не слишком часто супругой используемые. В итоге, за прошедшие выходные стал владельцем сразу двух устройство от Apple.
Не назвал бы себя яблочником или тем более фанатом техники Apple, до этого момента обладал лишь iPad Mini 2, который спустя какое-то время продал. И с того момента пошла череда устройств от Samsung, Xiaomi и пр. корейско/китайских брендов (это касается и смартфонов, и умных часов, и наушников). Но, как говорят те, кто уже давно втянулся в процесс использования этой техники, тут стоит только начать. В результате, технику Apple критикуют, говорят о ее ненужности, пытаются запретить, но при этом устройства каждый выход новой версии, раскупаются еще до старта продаж.
Каковы первые впечатления от использования iPhone? Непривычно чуть, но есть некоторые моменты, которые удивили и которых нет в смартфонах Andoroid. Они кажутся мелочью, но в сумме составляют так называемый пользовательский опыт. Возможно, что в одном из следующих постов, расскажу про эти впечатления от использования.
Возможно, что это станет шагом к яблочному рабству, а возможно, что оставит в общем равнодушным к iPhone, iPad, Apple Watch и пр. технике. Кто знает? 🤷♂️
Напишите в комментариях о том, какое ваше отношение к технике Apple и есть ли у вас она в использовании? 💬
В конце недели супруге прикупили iPhone 14 Pro Max, а значит ее 11-ый яблочный смартфон перешел ко мне. Чуть позже уже сам отжал яблочные часы на пробу в ношении, так как после покупки они лежали не слишком часто супругой используемые. В итоге, за прошедшие выходные стал владельцем сразу двух устройство от Apple.
Не назвал бы себя яблочником или тем более фанатом техники Apple, до этого момента обладал лишь iPad Mini 2, который спустя какое-то время продал. И с того момента пошла череда устройств от Samsung, Xiaomi и пр. корейско/китайских брендов (это касается и смартфонов, и умных часов, и наушников). Но, как говорят те, кто уже давно втянулся в процесс использования этой техники, тут стоит только начать. В результате, технику Apple критикуют, говорят о ее ненужности, пытаются запретить, но при этом устройства каждый выход новой версии, раскупаются еще до старта продаж.
Каковы первые впечатления от использования iPhone? Непривычно чуть, но есть некоторые моменты, которые удивили и которых нет в смартфонах Andoroid. Они кажутся мелочью, но в сумме составляют так называемый пользовательский опыт. Возможно, что в одном из следующих постов, расскажу про эти впечатления от использования.
Возможно, что это станет шагом к яблочному рабству, а возможно, что оставит в общем равнодушным к iPhone, iPad, Apple Watch и пр. технике. Кто знает? 🤷♂️
Напишите в комментариях о том, какое ваше отношение к технике Apple и есть ли у вас она в использовании? 💬
👍2
Как в терминале Linux отобразить ход выполнения операции копирования или удаления? 🗑 📄
Бывает что вы вводите команду cp или rm для копирования или удаления чего-либо и после нажатия Enter курсор просто повисает в терминале. Согласитесь, что было бы приятнее видеть какой-то прогресс в выполнении этой команды. Чтобы сделать это используется ключ --verbose или -v. В контексте Linux и других UNIX-подобных систем, указанные опции обычно относятся к режиму вывода подробной информации о выполняемых командах.
Например, вот так можно работать с копированием:
Или удалением:
Выхлоп будет содержать подробности совершаемых операций. И станет наглядно видно, что происходит и когда это закончится. Согласитесь, что в определенных моментах это удобно? Естественно, ключ --verbose или -v будет работать не только с копированием или удалением.
Бывает что вы вводите команду cp или rm для копирования или удаления чего-либо и после нажатия Enter курсор просто повисает в терминале. Согласитесь, что было бы приятнее видеть какой-то прогресс в выполнении этой команды. Чтобы сделать это используется ключ --verbose или -v. В контексте Linux и других UNIX-подобных систем, указанные опции обычно относятся к режиму вывода подробной информации о выполняемых командах.
Например, вот так можно работать с копированием:
cp -v <исходные_файлы_или_каталог> <целевой_каталог>
Или удалением:
rm -rf -v <каталог>
Выхлоп будет содержать подробности совершаемых операций. И станет наглядно видно, что происходит и когда это закончится. Согласитесь, что в определенных моментах это удобно? Естественно, ключ --verbose или -v будет работать не только с копированием или удалением.
👍4
Мы не верили в Uncom OS, а она смогла 💪
Помните про такую российскую систему на базе ядра Linux, как Uncom? Если нет, то на канале есть статья про нее (и не одна).
Так вот, думал, что система загнулась, но нет. Она теперь в реестре отечественного ПО.
Интересно, сколько стоит попасть в этот реестр и кому деньги передать? 🤔
Помните про такую российскую систему на базе ядра Linux, как Uncom? Если нет, то на канале есть статья про нее (и не одна).
Так вот, думал, что система загнулась, но нет. Она теперь в реестре отечественного ПО.
Интересно, сколько стоит попасть в этот реестр и кому деньги передать? 🤔
👍6
Разницы между DoS и DDoS атаками 💀
Когда-то здесь я публиковал небольшую заметку про то, что такое DDoS-атаки и чем они опасны. Но знали ли вы, уважаемые подписчики, что есть также DoS-атаки, причем разница между двумя этими видами состоит не просто в двойной D. Ниже об этой разнице и поговорим.
DOS (Denial of Service):
DOS атака – это попытка ограничить доступ к ресурсу, делая его недоступным для пользователей. В основе такой атаки лежит перегрузка системы, которая не способна обработать все запросы, поступающие от злоумышленников.
Пример: посылка большого количества запросов от одного источника к серверу, что приводит к его перегрузке и отказу в обслуживании.
DDoS (Distributed Denial of Service):
DDoS атака – это эволюция DOS, где атакующий использует ботнет (сеть зараженных компьютеров), чтобы координированно атаковать цель. Это делает атаку более мощной, трудной для выявления и преследования.
Пример: синхронизированная атака с тысяч компьютеров по всему миру, направленная на один сервер, что делает его недоступным для легитимных пользователей.
Вы наверняка слышали как правительства различных стран или отдельные корпорации периодически заявляются о том, что отбили очередную DDoS-атаку какой-либо группы хакеров. Про DoS-атаки слышно гораздо меньше, даже в интернетах при запросе о самых известных атаках этого вида, большая часть результатов поиска будет посвящена DDoS. Выходит, что именно этот тип атак теперь популярен больше всего и выше вероятность получить такую на свой сервис. Если же вы думаете, что мало кто будет обращать внимание на малоизвестные и непопулярные сервисы, то стоит помнить, что у них гораздо хуже защита, поэтому такие сервисы являются гораздо более привлекательной целью, чем что-то крупное и хорошо защищенное.
Когда-то здесь я публиковал небольшую заметку про то, что такое DDoS-атаки и чем они опасны. Но знали ли вы, уважаемые подписчики, что есть также DoS-атаки, причем разница между двумя этими видами состоит не просто в двойной D. Ниже об этой разнице и поговорим.
DOS (Denial of Service):
DOS атака – это попытка ограничить доступ к ресурсу, делая его недоступным для пользователей. В основе такой атаки лежит перегрузка системы, которая не способна обработать все запросы, поступающие от злоумышленников.
Пример: посылка большого количества запросов от одного источника к серверу, что приводит к его перегрузке и отказу в обслуживании.
DDoS (Distributed Denial of Service):
DDoS атака – это эволюция DOS, где атакующий использует ботнет (сеть зараженных компьютеров), чтобы координированно атаковать цель. Это делает атаку более мощной, трудной для выявления и преследования.
Пример: синхронизированная атака с тысяч компьютеров по всему миру, направленная на один сервер, что делает его недоступным для легитимных пользователей.
Вы наверняка слышали как правительства различных стран или отдельные корпорации периодически заявляются о том, что отбили очередную DDoS-атаку какой-либо группы хакеров. Про DoS-атаки слышно гораздо меньше, даже в интернетах при запросе о самых известных атаках этого вида, большая часть результатов поиска будет посвящена DDoS. Выходит, что именно этот тип атак теперь популярен больше всего и выше вероятность получить такую на свой сервис. Если же вы думаете, что мало кто будет обращать внимание на малоизвестные и непопулярные сервисы, то стоит помнить, что у них гораздо хуже защита, поэтому такие сервисы являются гораздо более привлекательной целью, чем что-то крупное и хорошо защищенное.
👍1
Как не профукать свой проект на Python? 🐍
Конец этой недели выдался интересным в плане рабочих задач. У одного клиента отвалился Airflow - это инструмент, который используется для управления потоками обработки данных. Реализован он на Python с использованием фреймворка Flask.
Почему отвалился? После неудачной попытки обновления этого самого Airflow. Апгрейд самого инструмента прошел успешно, ну а дальше начались проблемы с зависимостями. Оказалось, что проект не был установлен изолировано и обновление одного пакета затронуло много чего на уровне системы. Избежать подобного можно при помощи виртуального окружения или virtual environment. Попробую по простому объяснить что это такое.
Замки из песка и проекты в Python 🏰
У вас есть дистрибутив Linux, в котором много где используется Питон. И вы решили на этом дистрибутиве развернуть питонячий проект. Чтобы состояние проекта не влияло на зависимости Питона на уровне системы или на другие проекты (существующие или которые только появятся) проект нужно разместить в том самом виртуальном окружении - изолированной среде в пределах системы, которая не связана с системными пакетами Python и с пакетами других проектов.
Проекты и разработчиков в такой ситуации можно представить детьми, которые в песочнице строят замки. Одно неловкое движение и твой замок рухнет, но при этом есть риск обрушить еще и замки других детей. Мы ведь этого не хотим, правда? Поэтому свой замок мы обнесем оградой, закрывшись от других замков изолированной средой.
После нас хоть потоп 🌊
Оградившись от других детей и замков мы можем делать со своим творением все, что душа пожелает. Даже если что-то сломается, то это никак не повлияет на других. И наоборот, ошибки других не смогут повлиять на наш замок. Можем сделать несколько таких изолированных песочниц и пробовать в них любые варианты. Что в такой ситуации может произойти страшного? Только что-то глобальное - например, по городу, где расположены наши песочницы прилетит метеорит и разнесет все к черту. Но в таком случае уже будет не до спасения каждого отдельно взятого замка, нужно будет решать проблемы болшего масштаба.
Семь раз отмерь… и сделай виртуальное окружение 🧠
Проблемы с Airflow могло вообще не возникнуть, если бы изначально он крутился в виртуальном окружении. И даже если бы трудности после обновления возникли, то при решении все было бы проще, чем работа с зависимостями и пакетами Питона на уровне системы, когда любые манипуляции с ними грозят тем, что отвалится что-нибудь еще.
Потому, если вы новичок в программировании на Питоне, то виртуальное окружение должно стать вашим лучшим спутником при работе. Изолируйте все по максимуму, чтобы потом не оказаться у разбитого корыта.
Конец этой недели выдался интересным в плане рабочих задач. У одного клиента отвалился Airflow - это инструмент, который используется для управления потоками обработки данных. Реализован он на Python с использованием фреймворка Flask.
Почему отвалился? После неудачной попытки обновления этого самого Airflow. Апгрейд самого инструмента прошел успешно, ну а дальше начались проблемы с зависимостями. Оказалось, что проект не был установлен изолировано и обновление одного пакета затронуло много чего на уровне системы. Избежать подобного можно при помощи виртуального окружения или virtual environment. Попробую по простому объяснить что это такое.
Замки из песка и проекты в Python 🏰
У вас есть дистрибутив Linux, в котором много где используется Питон. И вы решили на этом дистрибутиве развернуть питонячий проект. Чтобы состояние проекта не влияло на зависимости Питона на уровне системы или на другие проекты (существующие или которые только появятся) проект нужно разместить в том самом виртуальном окружении - изолированной среде в пределах системы, которая не связана с системными пакетами Python и с пакетами других проектов.
Проекты и разработчиков в такой ситуации можно представить детьми, которые в песочнице строят замки. Одно неловкое движение и твой замок рухнет, но при этом есть риск обрушить еще и замки других детей. Мы ведь этого не хотим, правда? Поэтому свой замок мы обнесем оградой, закрывшись от других замков изолированной средой.
После нас хоть потоп 🌊
Оградившись от других детей и замков мы можем делать со своим творением все, что душа пожелает. Даже если что-то сломается, то это никак не повлияет на других. И наоборот, ошибки других не смогут повлиять на наш замок. Можем сделать несколько таких изолированных песочниц и пробовать в них любые варианты. Что в такой ситуации может произойти страшного? Только что-то глобальное - например, по городу, где расположены наши песочницы прилетит метеорит и разнесет все к черту. Но в таком случае уже будет не до спасения каждого отдельно взятого замка, нужно будет решать проблемы болшего масштаба.
Семь раз отмерь… и сделай виртуальное окружение 🧠
Проблемы с Airflow могло вообще не возникнуть, если бы изначально он крутился в виртуальном окружении. И даже если бы трудности после обновления возникли, то при решении все было бы проще, чем работа с зависимостями и пакетами Питона на уровне системы, когда любые манипуляции с ними грозят тем, что отвалится что-нибудь еще.
Потому, если вы новичок в программировании на Питоне, то виртуальное окружение должно стать вашим лучшим спутником при работе. Изолируйте все по максимуму, чтобы потом не оказаться у разбитого корыта.
👍2
Рефакторинг сайта проекта и проблема большого пазла 🧩
Давненько ничего не писал про сайт, правда? Все потому что решил готовить его к выпуску и как это часто бывает, вначале попробовал взглянуть например то, что получилось издалека. И ужаснулся…
Все же помнят, что я не профессиональный разработчик? Поэтому текущий проект представляет собой пазл, собранный из разных кусков. Вывод категорий и постов, которые с ним связаны - один кусок, лайки - другой, комментарии собрал из чего-то еще. Оно вроде и работает, но до поры определенной.
Запуская любой проект, на мой взгляд, автор должен задать себе вопрос: что буду делать, если оно сломается? За какие ниточки дергать? Вот и я задался недавно этим вопросом…
В разработке есть такое понятие, как рефакторинг. Это когда вы меняете внутреннюю часть проекта, не меняя функционала. То есть, внешне работает все также, но внутри переделано в лучшую (чаще всего) сторону. Я посмотрел на текущий вариант сайта и понял, что внутри нужно все изменить так, чтобы было проще дальше что-то улучшать, изменять и исправлять. Говоря проще, сделать рефакторинг.
Думаю, что проблема пазла свойственна всем проектам, где авторы делают первые шаги. Не имея достаточно опыта, мы дергаем готовые решения из разных источников, приматываем изолентой к своей идее и радуемся, как дети, когда оно работает в локальной среде. Но стоит только выпустить проект в массы…
Поэтому работаю сейчас над изменением внутренней структуры сайта. Основной функционал реализован, поэтому нужно лишь привести все это к некому общему знаменателю, чтобы не сесть в лужу, когда пойдут первые читатели.
Давненько ничего не писал про сайт, правда? Все потому что решил готовить его к выпуску и как это часто бывает, вначале попробовал взглянуть например то, что получилось издалека. И ужаснулся…
Все же помнят, что я не профессиональный разработчик? Поэтому текущий проект представляет собой пазл, собранный из разных кусков. Вывод категорий и постов, которые с ним связаны - один кусок, лайки - другой, комментарии собрал из чего-то еще. Оно вроде и работает, но до поры определенной.
Запуская любой проект, на мой взгляд, автор должен задать себе вопрос: что буду делать, если оно сломается? За какие ниточки дергать? Вот и я задался недавно этим вопросом…
В разработке есть такое понятие, как рефакторинг. Это когда вы меняете внутреннюю часть проекта, не меняя функционала. То есть, внешне работает все также, но внутри переделано в лучшую (чаще всего) сторону. Я посмотрел на текущий вариант сайта и понял, что внутри нужно все изменить так, чтобы было проще дальше что-то улучшать, изменять и исправлять. Говоря проще, сделать рефакторинг.
Думаю, что проблема пазла свойственна всем проектам, где авторы делают первые шаги. Не имея достаточно опыта, мы дергаем готовые решения из разных источников, приматываем изолентой к своей идее и радуемся, как дети, когда оно работает в локальной среде. Но стоит только выпустить проект в массы…
Поэтому работаю сейчас над изменением внутренней структуры сайта. Основной функционал реализован, поэтому нужно лишь привести все это к некому общему знаменателю, чтобы не сесть в лужу, когда пойдут первые читатели.
Всегда говори "ДА": зачем нужна команда yes и как ее грамотно использовать в Linux? 👌
Команда yes в Linux используется для того, чтобы направить в стандартный поток вывода (stdout) символ y (или любой другой символ, который будет указан после нее). Кстати, если вы еще не читали материал про ввод/вывод и их перенаправление в Linux, то самое время сделать это.
Получается, если в терминале ввести команду:
То консоль заполнится множеством выводов слова no, пока вы не остановите это безобразие сочетанием клавиш Ctrl + C. Как это дело применять на практике? Возьмем, к примеру, сервера, на которых установлена BitrixENV - это оболочка, которая упрощает установку, настройку и обслуживание порталов на CMS Bitrix. Если на сервере, где установлен BitrixENV ввести команду на удаление файла, то вас обязательно спросят о том, уверены ли вы в своих действия, попросив ввести y. Понимаете, теперь, как можно использовать команду yes? Представим, что вам нужно удалить несколько сотен файлов. Будете на каждый вводить y в консоль? Неее, намного удобнее будет использовать команду yes:
В результате все файлы с расширением log будут удалены без дополнительных телодвижений с вашей стороны. Удобно? Ну еще бы! Ну а что если нужно, например, имитировать нажатие клавиши Enter? Команда yes и тут поможет:
Казалось бы, в приведенной выше команде мы ничего не передаем и даже слово Enter не написали, почему же должно сработать? Все потому, что суть работы yes состоит в том, чтобы не просто вывести y, она добавляет ее переносом строки (каретки, как бы выразились олды), то бишь, имитирует нажатие Enter. Поэтому в кавычках ничего нет.
Естественно, больший простор для использования yes открывается при написании BASH-скриптов, поэтому команду стоит запомнить и использовать в случае необходимости.
Как думаете, если есть команда yes, то будет ли в Linux команда no, которая дает отрицательный ответ на запросы консоли? Свои идеи на сей счет оставляйте в комментариях 💬
Команда yes в Linux используется для того, чтобы направить в стандартный поток вывода (stdout) символ y (или любой другой символ, который будет указан после нее). Кстати, если вы еще не читали материал про ввод/вывод и их перенаправление в Linux, то самое время сделать это.
Получается, если в терминале ввести команду:
yes no
То консоль заполнится множеством выводов слова no, пока вы не остановите это безобразие сочетанием клавиш Ctrl + C. Как это дело применять на практике? Возьмем, к примеру, сервера, на которых установлена BitrixENV - это оболочка, которая упрощает установку, настройку и обслуживание порталов на CMS Bitrix. Если на сервере, где установлен BitrixENV ввести команду на удаление файла, то вас обязательно спросят о том, уверены ли вы в своих действия, попросив ввести y. Понимаете, теперь, как можно использовать команду yes? Представим, что вам нужно удалить несколько сотен файлов. Будете на каждый вводить y в консоль? Неее, намного удобнее будет использовать команду yes:
yes | rm *.log
В результате все файлы с расширением log будут удалены без дополнительных телодвижений с вашей стороны. Удобно? Ну еще бы! Ну а что если нужно, например, имитировать нажатие клавиши Enter? Команда yes и тут поможет:
yes "" | <команда>
Казалось бы, в приведенной выше команде мы ничего не передаем и даже слово Enter не написали, почему же должно сработать? Все потому, что суть работы yes состоит в том, чтобы не просто вывести y, она добавляет ее переносом строки (каретки, как бы выразились олды), то бишь, имитирует нажатие Enter. Поэтому в кавычках ничего нет.
Естественно, больший простор для использования yes открывается при написании BASH-скриптов, поэтому команду стоит запомнить и использовать в случае необходимости.
Как думаете, если есть команда yes, то будет ли в Linux команда no, которая дает отрицательный ответ на запросы консоли? Свои идеи на сей счет оставляйте в комментариях 💬
👍3
Firefox включает поддержку Wayland 🦊
Начиная с версии 121 веб-браузер Mozilla Firefox при запуске в сеансе Wayland будет задействовать «родную» поддержку новой оконной системы. Это сделает работу пользователей Linux в интернете безопаснее, улучшит отзывчивость интерфейса программы, исправит масштабирование в многомониторных конфигурациях и позволит использовать жесты на сенсорных экранах.
Ранее браузер полагался на слой совместимости XWayland, а нативная поддержка Wayland считалась экспериментальной и скрывалась за флагом MOZ_ENABLE_WAYLAND.
Выпуск Firefox 121 запланирован на 19 декабря.
У меня пока что 119 версия огнелиса, а какой браузер и какой версии используете вы?
Начиная с версии 121 веб-браузер Mozilla Firefox при запуске в сеансе Wayland будет задействовать «родную» поддержку новой оконной системы. Это сделает работу пользователей Linux в интернете безопаснее, улучшит отзывчивость интерфейса программы, исправит масштабирование в многомониторных конфигурациях и позволит использовать жесты на сенсорных экранах.
Ранее браузер полагался на слой совместимости XWayland, а нативная поддержка Wayland считалась экспериментальной и скрывалась за флагом MOZ_ENABLE_WAYLAND.
Выпуск Firefox 121 запланирован на 19 декабря.
У меня пока что 119 версия огнелиса, а какой браузер и какой версии используете вы?
Любите ли вы читать? 📚
Раньше я очень много читал. Благодаря этому, кстати, имеется некоторая начитанная грамотность, хотя правил русского языка, честно говоря, не помню.
Сейчас книги реже попадаются в качестве источника информации, тем более бумажные. Подвергся современной моде потреблять контент в формате видео 🤷♂️
Но! Все же, думаю, что нужно возвращать практику чтения, чтобы мозг окончательно не заржавел (хотя с моей работой это ему вряд ли грозит). Поэтому удачно оказалось, что всего за 100 рублей в месяц (плюсом к тем 350, которые я плачу за подписку Яндекс Плюс) можно получить подписку на сервис Букмейт. Его, кстати, купил Яндекс, поэтому подписка доступна через Плюс.
Пока что, добавил Пелевина, решив повторить путь по его библиографии. Туда же добавлен Оруэлл, а еще в аудиоформате самое любимое произведение - Мастер и Маргарита. Ее слушаю через Станцию Мини по утрам перед началом работы. Так что и для любителей аудио найдется чего послушать. Если у вас еще нет подписки Яндекса, то вот приглашение ее приобрести:
https://plus.yandex.ru/gift?promoName=referral&promocode=A7WDGCLL5F
При регистрации по ней вы получаете 60 дней бесплатной подписки Яндекса и другие плюшки. Хватит с лихвой, чтобы все попробовать. Воспользоваться ссылкой смогут до 10 человек.
Расскажите в комментариях о том, любите ли вы читать или слушать книги, что читаете/слушаете сейчас и какое произведение или произведения готовы перечитывать постоянно 💬
Раньше я очень много читал. Благодаря этому, кстати, имеется некоторая начитанная грамотность, хотя правил русского языка, честно говоря, не помню.
Сейчас книги реже попадаются в качестве источника информации, тем более бумажные. Подвергся современной моде потреблять контент в формате видео 🤷♂️
Но! Все же, думаю, что нужно возвращать практику чтения, чтобы мозг окончательно не заржавел (хотя с моей работой это ему вряд ли грозит). Поэтому удачно оказалось, что всего за 100 рублей в месяц (плюсом к тем 350, которые я плачу за подписку Яндекс Плюс) можно получить подписку на сервис Букмейт. Его, кстати, купил Яндекс, поэтому подписка доступна через Плюс.
Пока что, добавил Пелевина, решив повторить путь по его библиографии. Туда же добавлен Оруэлл, а еще в аудиоформате самое любимое произведение - Мастер и Маргарита. Ее слушаю через Станцию Мини по утрам перед началом работы. Так что и для любителей аудио найдется чего послушать. Если у вас еще нет подписки Яндекса, то вот приглашение ее приобрести:
https://plus.yandex.ru/gift?promoName=referral&promocode=A7WDGCLL5F
При регистрации по ней вы получаете 60 дней бесплатной подписки Яндекса и другие плюшки. Хватит с лихвой, чтобы все попробовать. Воспользоваться ссылкой смогут до 10 человек.
Расскажите в комментариях о том, любите ли вы читать или слушать книги, что читаете/слушаете сейчас и какое произведение или произведения готовы перечитывать постоянно 💬
👍2