Многие люди не понимают в чем именно фишка линукса и зачем его используют. Сейчас я вам все расскажу и покажу на примерах.
Во-первых это Open-source. А он, на мой взгляд, имеет несколько серьезных преимуществ.
- Количество багов
Open-source приложения содержат меньше багов чем проприетарное ПО. Вот, например, исследование компании Coverity.
https://www.techrepublic.com/article/open-source-vs-proprietary/
Ну и просто даже тот факт, что над open-source проектами работают бесплатно говорит о многом. Там нет дедлайнов и соответственно не будет ситуации когда “давайте хоть как-то лишь бы быстрее”.
- Безопасность
Open-source продукты более безопасны. Например, в мире открытого софта есть программы шифрования например GPG
, Tomb
. Они развиваются сообществом. У различных структур нет возможности внедрить в это ПО различные бэкдоры. У них нет лидера на которого можно надавить чтобы он внедрил эти бэкдоры.
А из проприетарного софта есть программа, которая называется TrueCrypt
. И у этой программы были частые проблемы с властями. Как итог, разработчики бросили разработку своего продукта. И сказали своим пользователям чтобы они переходили на что-то более безопасное, как например программа BitLocker
. Но опытные пользователи намек разработчиков хорошо поняли, так как разработчики всегда стебались над этой программой и считали ее самой небезопасной.
Эту ситуацию я уже описывал, если хотите подробнее, то можете почитать тут - https://devpew.com/svidietielstvo-kanarieiki/
- Unix-way
Unix-way - это набор философских подходов к разработке ПО, которые основаны на опыте ведущих разработчиков операционной системы Unix. Например:
Когда каждая программка делает что-то одно, но делает это идеально.
Pipeline, это когда несколько небольших программ можно выполнять последовательно и результат выполнения первой программы будет атрибутом для второй.
Дальше на примерах.
Screenshot & Screencast
Screenshot
Лет пять назад, я работал на маке и была одна интересная программа, которая называлась Droplr. Она позволяла быстро делать скриншоты и сказу же закачивать их в интернет. Но через некоторое время она захотела, чтобы я платил за нее $5 в месяц.
Мне как-то совсем не хочется подписываться на тонну различных крошечных программ, которые я использую два раза в месяц.
В линуксе ты можешь разбить вот этот весь функционал на кучу маленьких программ. И соединить это все одним простым bash скриптом.
Например, программка которая называется xrectsel
отвечает только за одно действие. Она запускается и рисует на экране вместо курсора такой прицел. Ты можешь зажать мышку и выделить область. И результатом выполнения этой программы будет четыре числа. Координаты по иксу экрана, координаты по игреку экрана, ширина и высота. Эта программа больше ничего не делает.
Следующая программа, которую ты используешь может делать скриншот. Она может делать скриншот всего экрана или можешь сделать скриншот области. Чтобы сделать скриншот области ей надо передать четыре числа.
Третья программа при запуске выдает текущую дату.
Четвертая может закачать любой файл тебе на сервер.
Bash скриптом ты запускаешь первую программу, отдаешь результат второй, делаешь имя файла текущей датой и закачиваешь этот файл на сервер четвертой программой.
Вот это Unix-way. И это очень удобно.
Screencast
А что если ты захочешь записать видео с экрана в MacOS или Windows?
Ну, опять же. Тебе нужно покупать программу, которая будет весить пару гигабайт, несколько секунд запускаться и ждать кучу ресурсов.
В линуксе это делается одной командой.
Gif?
А что если ты хочешь gif из видео? Ну без проблем. Это делается одной командой:
Video
Мне в линуксе нравится то, как можно взаимодействовать с браузером.
Например, я сижу и пишу статью. И я хочу посмотреть что-нибудь на ютубе. Мне не хочется совсем сворачивать видео. Мне хочется смотреть его. Но при этом мне не хочется чтобы у меня было вот это огромное окно браузера.
Окей. Простой скрипт.
При выполнении скрипт выделяет адресную строку в браузере, копирует все содержимое, открывает проигрыватель с указанной строкой.
Это удобно, ведь я могу писать статью и смотреть телеканал “Спас” в маленьком окошке.
Text
Работа с текстом в линуксе тоже значительно упрощается.
Мне по работе часто приходят различные письма, некоторые из них сильно похожи. Например, люди просят прислать им примеры наших проектов, которые мы сделали на Node.js.
В линуксе это довольно просто, я сохранил описание проектов в текстовые файлы и просто делаю поиск по ним.
Возможно, это можно делать снипетами в различных текстовых редакторах. Но снипеты обычно конфигурируются в конфиг файле, что совершенно не удобно. В моем случае это обычные текстовые файлы с описанием проектов, которые расшарены с другими членами моей команды по Dropbox.
А работает это так:
RANGER
В обычном файловом менеджере я могу нажать одну кнопку и выбранный файл сразу загружается на сервер и ссылка на него копируется в буфер обмена.
Это намного быстрее и удобнее чем любые другие способы для того чтобы поделиться каким-нибудь файлом с другом.
Работает это так:
MDM
Даже сейчас я пишу и то как это происходит мне очень нравится.
Потому что я редактирую этот файл сразу же в формате markdown. Как только я открываю файл у меня автоматически рядом открывается браузер с просмотрщиком. Так что я сразу вижу визуально как выглядит моя статья.
После того как я дописал статью я могу закачать ее в Medium одной командой
IMAGES
Например, иногда мне нужно искать различные картинки для блога. Это могут быть, например, фотографии с моей камеры, которые в большом разрешении с огромным размером.
Это могут быть jpeg которые названы как jpeg или как JPG
И это все банально не удобно.
И я написал опять же крошечный скриптик. Который сначала переводит все в ‘.jpg’ а потом все конвертирует в ‘.png’ и сжимает до приемлемых размеров.
Youtube
Что вы будете делать если вам нужно скачать большое количество видео-файлов с youtube?
В win/mac вы опять же будете мучиться с поиском софта, большая часть из которого платная.
В линуксе я могу выкачать весь канал на ютубе одной командой