Как стать автором
Обновить
28
Рейтинг

Оболочки *

Шелл и компания

Сначала показывать
Порог рейтинга

Пишем тетрис в bat-файле

Блог компании Auriga Ненормальное программирование *Разработка игр *Оболочки *Разработка под Windows *

В комментарии к моей предыдущей статье, «Какие задачи не решаются bat-файлами?», предположили, что на bat-файлах не получится написать Doom. Насчет Дума я пока не уверен, а вот тетрис у меня получился.

Играть в тетрис бесплатно
Всего голосов 91: ↑91 и ↓0 +91
Просмотры 14K
Комментарии 31

Новости

Паттерны верстки. Как объединить верстальщиков и дизайнеров

Разработка веб-сайтов *CSS *Оболочки *Расширения для браузеров Графический дизайн *

Данная статья поможет улучшить взаимодействие между дизайнерами и верстальщиками для минимизации ошибок и повышения продуктивности работы.

Работа богата практическими примерами. Она будет полезна специалистам разного профиля.

Дизайн является основой качественной верстки и помогает успешно продолжить создание веб-приложения.

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 4.5K
Комментарии 13

Какие задачи не решаются bat-файлами?

Блог компании Auriga Ненормальное программирование *Программирование *Оболочки *Разработка под Windows *

Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.

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

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

Читать далее
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 9.6K
Комментарии 53

Как скрестить Коня и Трепетную лань

Блог компании Sportmaster Lab Программирование *Оболочки *Разработка под Linux *Разработка под Windows *

«Бить (Bash) или не бить», - спрашивал один датский принц. Вот и у меня возник аналогичный вопрос, когда у нас в компании появился сервер сборки Bamboo. Как можно в задании Bamboo, выполняющем скрипт Bash или Cmd, написать команды, одновременно понятные интерпретатору командной строки Windows и оболочки Linux?

У нас в компании в качестве скриптового языка планов Bamboo используется кроссплатформенный язык Python. Но для запуска скриптов в Windows и Linux используется разный код.

Команды, понятные Linux, будут обработаны с ошибкой в Windows и наоборот. Что делать в этой ситуации?

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.5K
Комментарии 16

HaikuOS или немного практической кибер-поэзии

Оболочки *
Recovery mode

На Хабре регулярно публикуются отчёты о состоянии и развитии проекта HaikuOS. Я, питая некую слабость к экзотике и раритетам, их внимательно читаю. И чем дальше читаю, тем больше мне этот проект нравится. Главным образом потому, что среди аналогичной направленности проектов этот развивается достаточно активно и постепенно приближается, как мне начало казаться, к выходу из пелёнок и полноценному продукту (в противовес концептам, на стадии которых застыли многие его собратья).

В общем, после очередного отчёта с красивыми скриншотами я задался вопросом - а можно ли на это не просто посмотреть, но и реально этим попользоваться?

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 3.8K
Комментарии 9

Нюансы установки сторонних прошивок на Android-смартфоны. Первые шаги. Установка стороннего Recovery

Оболочки *Лайфхаки для гиков
Tutorial

Здравствуй, уважаемый читатель! Этот пост является первым в цикле статей про нюансы установки сторонних (далее — кастомных, от слова custom) прошивок на свои устройства под управлением ОС Andoid, а также о критически важных нюансах этого процесса. Цикл статей ориентирован на тех, кто либо только думает над тем, чтобы «накатить» на свой аппарат неофициальную прошивку, либо не знает некоторых моментов (например, как подружить GPay с новой ОС).

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 10K
Комментарии 51

Как сделать ваш терминал удобнее

Блог компании Cloud4Y Системное администрирование *Оболочки *Облачные сервисы
Перевод
Tutorial

Если вам приходится время от времени работать в терминале, и хочется сделать его удобнее, не затрачивая много сил, то небольшое руководство от Рейгана Макфарланда будет как нельзя кстати.

Есть масса более гибких и настраиваемых решений, но этот вариант для тех, кому надо сделать всё быстро и просто.

Читать далее
Всего голосов 20: ↑14 и ↓6 +8
Просмотры 11K
Комментарии 23

Для программиста shell так же необходим, как умение читать

Блог компании VDSina.ru Системное администрирование **nix *Оболочки *
Перевод
Грамотное владение shell — один из самых важных навыков, которыми вы как программист должны обладать. Unix shell — одна из самых мощных идей, реализованных в коде, и она должна стать вашей второй натурой. Ни один другой инструмент и близко не сравним с возможностью быстрого выполнения сложных задач или с сохранением этих команд в виде скриптов.

В своей работе я использую Vim в качестве редактора, а Unix — в качестве «IDE». Я не модифицирую свой vimrc, чтобы добавить в него функции IDE; самый важный плагин, который использую ежедневно — это Ctrl+P, и он нужен мне только для упрощения открытия файлов. Грамотное владение Vim — ценный навык, но важно понимать, когда от него нужно отказаться. В своей повседневной работе я взаимодействую с несколькими терминалами: обычно в одном из них есть Vim, второй используется для запуска сборок или демонов, а в третьем запущен shell, способный выполнить любые мои команды.



Постоянно открытый shell позволяет мне выполнять сложные задачи и отвечать на сложные вопросы. Интересные вещи я нахожу при помощи git grep, масштабные операции поиска и замены я выполняю через sed, отвечаю на вопросы с помощью awk, а более тонкие задачи я выполняю создаваемыми по ходу работы командами и конвейерами shell. Я обладаю свободой творческого решения задач без ограничений, заложенных проектировщиками IDE.
Читать дальше →
Всего голосов 44: ↑38 и ↓6 +32
Просмотры 14K
Комментарии 72

WinUI 3 — Новая эра разработки под Windows

.NET *Оболочки *API *C# *Разработка под Windows *
Из песочницы

В календаре 8 марта, а я пишу эту статью. Почему? - Потому, что WinUI 3 - это важно!

В этой статье:

- WinUI 3 - это не просто новая версия библиотеки пользовательских компонентов. Это изменит разработку ПО под Windows и не только.
- Как менялась разработка графических интерфейсов?
- Эволюция системных API пошла не по плану....
- В чём провал Universal Windows Platform?
- Что такое .NET, и почему за ним будущее?

Читать далее
Всего голосов 58: ↑52 и ↓6 +46
Просмотры 43K
Комментарии 165

Пишем панельный менеджер для сертификатов на linux shell

Системное администрирование *Программирование **nix *Оболочки *Разработка под Linux *

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

Возможно я бы собрался силой воли, помучился бы недельку, сделал бы все стандартными однострочниками+notepad+excel, но тут внезапно у меня случился больничный отпуск, а когда температура меня попустила, а на работу еще можно было не выходить. И я случайно вспомнил, что считаю себя спецом по bash.

И пусть я не хватаю лавры автора PIUPIU, но тем не менее встречайте:

35+ кбайт двух-панельного keystore manager на Linux shell

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 3.3K
Комментарии 5

Как «приручить» консоль, или 5 шагов к жизни с командной строкой

Блог компании red_mad_robot Настройка Linux **nix *Оболочки *
✏️ Технотекст 2021

Всем привет! Меня зовут Осип, я Android-разработчик в Redmadrobot и я люблю автоматизировать всё, что автоматизируется. В этом мне помогает консоль, поэтому решил поделиться опытом, как настроить командную оболочку так, чтобы в ней было приятно работать и она ежедневно помогала вам решать задачи.

Статья для тех, кто использует Linux или macOS. Если у вас Windows, вы можете использовать WSL (приравнивается к Ubuntu).

Читать далее
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 15K
Комментарии 33

Ты еще не используешь tmux на полную! (Наверное)

VIM *Оболочки *
Из песочницы
Привет, Хабр! Представляю вашему вниманию перевод статьи "(たぶん)君はまだtmuxの真の力を引き出せていない".

Содержание


  • Что такое tmux
  • Запуск и начало новой сессии
  • Открытие нового окна
  • Переходы между окнами
  • Разделение окон и создание панелей
  • Передвижение между панелями
  • Передвижение между сессиями
  • [Практическое использование] Переадресация отображаемого содержания в tmux
  • [Практическое использование] Отображение названия ветки Git в информационном поле
  • [Практическое использование] Отображение пути текущей операции
  • [Практическое использование] Вызов сниппета
  • Ссылка на настройки .tmux.conf
  • Совместимость версий tmux
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 21K
Комментарии 17

Blue-Green Deployment на минималках

Системное администрирование **nix *Оболочки *DevOps *Микросервисы *
🔥 Технотекст 2020

В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше всего подходит для приложений, у которых один инстанс, но есть возможность загрузить рядом второй, готовый к работе инстанс.


Допустим, у Вас есть веб-приложение, с которым активно работает множество клиентов, и ему совершенно никак нельзя на пару секунд прилечь. А Вам очень нужно выкатить обновление библиотеки, фикс бага или новую крутую фичу. В обычной ситуации, потребуется остановить приложение, заменить его и снова запустить. В случае докера, можно сначала заменить, потом перезапустить, но всё равно будет период, в котором запросы к приложению не обработаются, ведь обычно приложению требуется некоторое время на первоначальную загрузку. А если оно запустится, но окажется неработоспособным? Вот такая задача, давайте её решать минимальными средствами и максимально элегантно.


Disclaimer: Большая часть статьи представлена в экспериментальном формате — в виде записи консольной сессии. Надеюсь, это будет не очень сложно воспринимать, и этот код сам себя документирует в достаточном объёме. Для атмосферности, представьте, что это не просто кодсниппеты, а бумага из "железного" телетайпа.


Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 21K
Комментарии 36

Первые впечатления, а также основные особенности MIUI 12

Оболочки *Гаджеты Смартфоны
Из песочницы
27 апреля 2020 года состоялась презентация новой версии оболочки, базирующейся на Android 10, для аппаратов Xiaomi — MIUI 12, правда в статусе beta-версии.

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

Небольшой обзор того, какой пользовательский опыт приносит это обновление.


Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 25K
Комментарии 44

Простые консольные команды, которые стоит знать всем

Блог компании Edison Оболочки *Usability *Учебный процесс в IT
Перевод
Навыки работы в терминале помогают быть более продуктивным.


Каждый современный разработчик старается совершенствоваться и быть более продуктивным. Терминал — инструмент, позволяющий работать быстрее. Вместо того чтобы кликать мышью для перемещения по графическому интерфейсу, можно просто выполнить ту же самую работу в терминале, но гораздо быстрее. Хотя, это потребует некоторых знаний о консольных командах, которые можно использовать.

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

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

Список базовых команд:


pwd — информация о каталоге
cd — смена каталога
ls — список файлов в каталоге
cp & mv — скопировать/переместить файл/каталог
mkdir & touch — создать каталог/файл
rmdir & rm — удалить каталог/файл
cat, tail & head — прочитать файл
grep — поиск текста в файле по регулярному выражению
find — поиск файла/каталога
Читать дальше →
Всего голосов 12: ↑6 и ↓6 0
Просмотры 4.4K
Комментарии 3

Книга «Bash и кибербезопасность: атака, защита и анализ из командной строки Linux»

Блог компании Издательский дом «Питер» Настройка Linux *Оболочки *Профессиональная литература
image Привет, Хаброжители! Командная строка может стать идеальным инструментом для обеспечения кибербезопасности. Невероятная гибкость и абсолютная доступность превращают стандартный интерфейс командной строки (CLI) в фундаментальное решение, если у вас есть соответствующий опыт.

Авторы Пол Тронкон и Карл Олбинг рассказывают об инструментах и хитростях командной строки, помогающих собирать данные при упреждающей защите, анализировать логи и отслеживать состояние сетей. Пентестеры узнают, как проводить атаки, используя колоссальный функционал, встроенный практически в любую версию Linux.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 8K
Комментарии 1

Осторожнее с редактированием bash-скриптов

Ненормальное программирование *Системное администрирование **nix *Оболочки *Софт
Перевод
Предположим, я написал такой bash-скрипт с названием delay.sh. Как думаете, что он делает?

#!/bin/bash
sleep 30
#rm -rf --no-preserve-root /
echo "Time's up!"

Похоже, он ожидает 30 секунд, а затем выводит сообщение на экран. Здесь никаких фокусов — он делает именно это. Там есть опасная команда в середине, но она закомментирована и не выполняется.

Представьте, что я снова запускаю этот скрипт, но теперь мне не хочется ждать 30 секунд — это слишком долго. Я открываю вторую консоль, меняю sleep 30 на sleep 3, затем сохраняю файл. Как думаете, что будет теперь?

Ну, через 30 секунд скрипт удалит все мои файлы.
Читать дальше →
Всего голосов 262: ↑256 и ↓6 +250
Просмотры 61K
Комментарии 201

Можно ли писать скрипты на C++?

Настройка Linux *C++ **nix *Оболочки *

Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гуглить, как сделать то или это. Проблема еще оказывается в том, что зачастую не пишешь скрипт заново, а модифицируешь существующий, уже написанный кем-то. А он может быть не bash, а sh или еще что-то… Различия в синтаксисе есть, что работает в sh по идее должно работать и в bash, но не всегда наоборот. А если там dash или ash? Я не знаю… Различия в этих скриптовых языках все же есть, и они сбивают с толка. Ну и конечно, лично для меня, вишенка на торте, когда скрипт вызывает какой нибудь sed или awk и там такие параметры в командной строке, что смотришь на них и диву даешься. Понятно, что это все зависит от квалификации программиста, но вот у меня не все в голове помещается. И вот сейчас мое терпение лопнуло и я подумал, что отныне хочу попробовать писать скрипты на c++…

Я понимаю, что для true системного администратора моя мысль может показаться крамольной. Но почему бы и нет?
Читать дальше →
Всего голосов 62: ↑55 и ↓7 +48
Просмотры 23K
Комментарии 73

Базовые команды Linux для тестировщиков и не только

Настройка Linux **nix *Оболочки *
Из песочницы

Предисловие


Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обычно от кандидата на позицию QA инженера требуют знание основных команд (если, конечно, подразумевается работа с Linux), но как понять, про какие команды стоит почитать во время подготовки к собеседованию, если опыта работы с Linux мало или вовсе нет?

Поэтому, хоть про это уже и много раз написано, я всё же решился написать ещё одну статью «Linux для новичков» и перечислить здесь базовые команды, которые нужно знать перед любым собеседованием в отдел (или компанию), где используют Linux. Я подумал, какие команды и утилиты и с какими параметрами я использую чаще всего, собрал фидбек от коллег, и скомпоновал это всё в одну статью. Статья условно делится на 3 части: сначала краткая информация об основах ввода-вывода в терминале Linux, затем обзор самых базовых команд, а в третьей части описывается решение типовых задач в Linux.
Читать дальше →
Всего голосов 75: ↑63 и ↓12 +51
Просмотры 155K
Комментарии 50

Падение в кроличью нору: История об одной ошибке перезагрузки varnish — часть 1

*nix *Оболочки *Отладка *DevOps *
Перевод

ghostinushanka, молотив по кнопкам в течение предыдущих 20 минут, как если бы от этого зависела его жизнь, поворачивается ко мне с полу-диким выражением в глазах и хитрой ухмылкой — "Чувак, я кажется понял."


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


Немного озадаченный и уставший, я изменяю sed выражение, над которым мы какое-то время уже работали, сохраняю файл и запускаю systemctl varnish reload. Сообщение об ошибке исчезло...


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

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.6K
Комментарии 2

Вклад авторов