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

Оболочки *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

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

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

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

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

Читать далее
Всего голосов 20: ↑14 и ↓6 +8
Просмотры 8.7K
Комментарии 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
Просмотры 13K
Комментарии 72

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Блог компании red_mad_robot Настройка Linux **nix *Оболочки *

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

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

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

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

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

Содержание


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

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

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

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


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


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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

Авторы Пол Тронкон и Карл Олбинг рассказывают об инструментах и хитростях командной строки, помогающих собирать данные при упреждающей защите, анализировать логи и отслеживать состояние сетей. Пентестеры узнают, как проводить атаки, используя колоссальный функционал, встроенный практически в любую версию Linux.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 7.3K
Комментарии 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
Просмотры 60K
Комментарии 201

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

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

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

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

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

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

Предисловие


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

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

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

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

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


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


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


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

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

Интегрируем команды Linux в Windows с помощью PowerShell и WSL

PowerShell *Оболочки *Разработка под Windows *Софт
Перевод
Tutorial
Типичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, разработчики под Windows хотят получить лёгкий доступ к этим командам в повседневной работе.

Подсистема Windows для Linux (WSL) сделала огромный шаг вперёд в этом отношении. Она позволяет вызывать команды Linux из Windows, проксируя их через wsl.exe (например, wsl ls). Хотя это значительное улучшение, но такой вариант страдает от ряда недостатков.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 9K
Комментарии 26

Нетипичный «ls» — Habr Edition

Ненормальное программирование **nix *Оболочки *
image

Всем привет!

После вчерашнего поста о замене штатного ls другими штатными (или не очень) утилитами, я просто не мог пройти мимо комментов, особенно учитывая то что пост взлетел на вершины хит-парадов и за сутки его прочитало 18k, с хвостиком человек. Хабровчане подарили миру много новых способов избавиться от ls. Я их все (но это не точно) проверил, некоторые «причесал», что бы они соответствовали условиям задачи, и хочу поделиться с вами. Наслаждайтесь!
Читать дальше →
Всего голосов 46: ↑39 и ↓7 +32
Просмотры 14K
Комментарии 53

Нетипичный «ls» или как развлекаются линуксоиды

Ненормальное программирование **nix *Оболочки *
Однажды в телеграм чат питерского сообщества линуксоидов SPbLUG я кинул забавную задачку:
Выведите список файлов в домашней директории максимально возможным количеством способов, без использования ls или его алиасов(1 способ — 1 балл)

Такое же задание чуть позже прилетело в ещё один чат, и вот что из этого получилось:
Читать дальше →
Всего голосов 77: ↑72 и ↓5 +67
Просмотры 32K
Комментарии 136

Восемь малоизвестных опций Bash

Настройка Linux *Оболочки *Софт
Перевод
Tutorial
Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

set -o xtrace

для отладки,

set -o errexit

для выхода по ошибке или

set -o errunset

для выхода, если вызванная переменная не установлена.

Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
Читать дальше →
Всего голосов 82: ↑79 и ↓3 +76
Просмотры 32K
Комментарии 13

Запуск Bash в деталях

Настройка Linux *Оболочки *Софт
Перевод
Tutorial
Если вы нашли эту страницу в поиске, то наверняка пытаетесь решить какую-то проблему с запуском bash.

Возможно, в вашем окружении bash не устанавливается переменная среды и вы не понимаете, почему. Возможно, вы засунули что-то в различные загрузочные файлы bash или в профили, или во все файлы наугад, пока это не сработало.

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

Диаграмма


Эта блок-схема обобщает все процессы при запуске bash.



Теперь подробнее рассмотрим каждую часть.
Читать дальше →
Всего голосов 35: ↑29 и ↓6 +23
Просмотры 24K
Комментарии 5

Семь неожиданных переменных Bash

Настройка Linux *Оболочки *Софт
Перевод
Tutorial
Продолжая серию заметок о менее известных функциях bash, покажу вам семь переменных, о которых вы могли не знать.

1) PROMPT_COMMAND


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

На самом деле многие сложные манипуляторы prompt используют эту переменную, чтобы выполнять команды для сбора информации, которая отображается в приглашении.

Попробуйте запустить это в новом шелле, и увидите, что произойдёт с сессией:

$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
Читать дальше →
Всего голосов 69: ↑66 и ↓3 +63
Просмотры 31K
Комментарии 32

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