Pull to refresh

Microsoft прекратит поддержку режима консоли Legacy в Windows 11

Reading time1 min
Views6.5K

Microsoft объявила о прекращении поддержки режима консоли Legacy в Windows 11 и будущих версиях. Этот инструмент предназначался для запуска старых приложений командной строки в Windows 10.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments27

Как начать работу с Linux и не опингвиниться? Рассказываем в новом бесплатном курсе для новичков

Reading time1 min
Views8.5K

В Академии Selectel появился новый курс «Linux: горячие клавиши и команды». В нем делимся полезными материалами по базовым командам, файловым системам и работе с терминалом. Изучение всех материалов займет около трех часов.


Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments3

Microsoft поставляет устаревшие, уязвимые опенсорсные утилиты с Windows 10 и 11

Reading time2 min
Views7.5K
В списке рассылки Seclists, посвящённом информационной безопасности, обратили внимание на пренебрежительное отношение Microsoft к опенсорсным компонентам в составе Windows 10 и 11.

Так, в декабре 2017 года Microsoft объявила о включении в состав Windows 10 программ curl.exe и tar.exe. Но компания не смогла сделать это нормальным образом, а потерпела «жалкую неудачу» (как пишут в списке рассылки): она взяла версию curl 7.55.1 от 14.11.2017 года — и вообще не обновляла её два года, применив пару патчей в 2019 году (без обновления), а потом опять забыв о программе ещё на два года до нынешнего времени.

За это время вышло 34 новых версии curl, а в древнем curl 7.55.1 задокументировано 15 уязвимостей.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments6

Вышла бета консольной утилиты GitHub CLI

Reading time2 min
Views5K


Разработчики GitHub выпустили бета-версию консольной утилиты GitHub CLI. Она позволяет создавать пул-реквесты и тикеты на GitHub, не выходя из консоли, где вы уже работаете с git.

Пул-реквесты и issue — самые распространённые команды, поэтому их добавили в первую очередь.

Как и прошлая программа Hub, эта полностью написана на Go. Она тоже запускается в разных ОС, включая Linux, MacOS и Windows, причём гораздо удобнее в использовании.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments6

Библиотека для вывода изображений в командную строку

Reading time1 min
Views8.4K
image

Fabulous — замечательная библиотека, позволяющая выводить красивый цветной текст, картинки, фигуры прямо в окно терминала!

Для того, чтобы установить библиотеку, выполните в терминале:
sudo apt-get install gcc python-imaging python-setuptools
sudo easy_install -U fabulous

Или просто скачать в архиве:

fabulous-0.1.3.tar.gz

Документация

После установки можете попробовать несколько примеров, выполнив такой код:
python -m fabulous.demo - выводит в терминал примерно первое изображение
python -m fabulous.rotating_cube
— пример вращающегося куба
python -m fabulous.image obama.jpg — после такого вызова в терминале появится следующее изображение (как видите, чтобы вывести изображение, достаточно одной строки):

image
Total votes 83: ↑67 and ↓16+51
Comments35

Работа с Java в командной строке

Reading time11 min
Views642K
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments25

bcat: просмотр вывода консольных программ в браузере

Reading time2 min
Views8.4K
С удивлением обнаружил, что никто на Хабрахабре не писал про bcat. Это маленькая удобная утилита для просмотра вывода консольных программ в браузере. У вас есть скрипт, возвращающий HTML? Bcat! Нужен простой предпросмотр для README-файла с Markdown-форматированием, который вы только что дописали? Bcat! Пишете парсер веб-сайта, и хотите посмотреть, что за ошибку возвращает сайт? Bcat! Есть большой лог, и вы хотите, чтобы он отобразился чёрным по белому, и его было удобно читать? Ну, вы поняли, да? :)

Программа работает на Linux, Mac OS X и FreeBSD (и, теоретически, на любой UNIX-подобной платформе с интеграцией freedesktop.org).

Для установки bcat можно воспользоваться gem:

gem install bcat

Вместе с bcat устанавливается rack (если, конечно, он не был уже установлен до этого).

Для проверки можно попробовать открыть календарь на 2014 год:

python -c "import calendar ; print calendar.HTMLCalendar().formatyear(2014)" | bcat

Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
Примеры
Total votes 33: ↑30 and ↓3+27
Comments21

Fucky new year!

Reading time2 min
Views36K
Простите за мат в заголовке, это намёк на развлечение, начало которому дал язык «Брейнфак» — написать на каком-либо языке код, выполняющий что-то разумное, не используя букв и цифр. Мы уже видели JSFuck, PHPFuck, теперь я вам хочу представить Bashfuck:

__=${_##*/};____=<(:);___=${__#???};_____=$((${#___}<<${#___}))
__=${__::-${#___}}${____:$_____:${#___}}
__=$__$((${#__}|$_____))$((${#__}));___=$___${__:${#___}:${#___}};____=$($__<<<$_____|$__)
_____=${____:$((${#__}-${#___})):${#?}};___=$___$_____$_____;____=$($__<<<$____|$__|$__)
___=$___${____:$((${#?}+${#__})):${#?}};___=$___' '${____:$((${#___}+${#___})):${#?}}
___=$___${__:$((${#____}/${#___}-${#?})):${#?}};___=$___${____:$((${#____}#$_____-${#___})):${#?}}
___=$___\ ${____:$((${#__}+${#?})):${#?}}${__:$((${#__}>>${#?})):${#?}}${__:${#_____}:${#?}}
___=$___${____:$((${#___}-${#?}-${#?})):${#?}};___=${___,,}
____=${____:$((${#___}+${#__}-${#?})):$((${#?}+${#?}))}
____=${____::${#?}}${__:${#_____}:${#?}}${____:${#?}};${____,,}<<<${___^}

Для запуска потребуется «Баш» четвёртой версии. Ничего вредоносного скрипт не делает смело запускайте из-под «рута», просто выведет надпись «Happy new year». Исходник надо скопировать в файл и запустить.
Как оно работает?
Total votes 79: ↑70 and ↓9+61
Comments22

Zsh: fucky new year

Reading time8 min
Views19K
Прочитал пост habrahabr.ru/post/247161 и подумал: вот человек написал непонятную программу на bash, которая выводит «Happy new year». Но это ведь bash! Надо показать, что zsh не хуже, а даже намного лучше! И так, программа на zsh, выводящая «С новым годом!» (по‐русски!) со следующими ограничениями:
  1. Программа не должна использовать никакие сторонние программы. Ни base64, ни cat, ничего.
  2. Программа должна выводить текст по‐русски.
  3. Программа быть написана на ASCII, но не должна содержать ни одной буквы или цифры.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments15

Использование npm для глобальной установки приложений, наделённых GUI и основанных на nw.js

Reading time4 min
Views19K
Команда «npm install» в менеджере пакетов npm чаще всего употребляется для локальной установки зависимостей некоторого модуля, совершаемой в его подкаталоге «/node_modules».

Однако возможен и запуск этой команды с ключом «-g» (от слóва «global»). Он обеспечивает установку указанного ей пакета в некоторое глобальное (то есть общее для всей системы) место. Кроме того, в PATH (для последующего запуска из любого желаемого каталога) оказывается прописанною та команда, которая была указана в свойстве «"bin"» в файле package.json у установленного пакета.

Таким общим местом, согласно документации, под Windows служит подкаталог «/node_modules» в каталоге установки Node. В остальных же системах таким общим местом чаще всего оказывается каталог «/usr/local/lib/node_modules» (тогда как Node там устанавливается в каталог «/usr/local/bin»).

Обыкновенно этот подход употребляется для глобальной установки различных утилит, предназначенных для запуска из командной строки. Вот некоторые примеры:

  • Команда «npm install jshint -g» обеспечивает появление в PATH команды «jshint», служащей для запуска JSHint.
     
  • Команда «npm install browserify -g» обеспечивает появление в PATH команды «browserify», служащей для запуска Browserify.
     
  • Команда «npm install less -g» обеспечивает появление в PATH команды «lessc», служащей для запуска Less.js.

Однако на CLI (на командной строке) свет клином не сошёлся — и читателям Хабрахабра должно уж вполне быть известно, что приложение на языке JavaScript, употребляющее API Node.js, можно снабдить и GUI (графическим интерфейсом пользователя), сочинённым на языках HTML и CSS. Для этого придётся и запускать такое приложение вместо Node на том движке, который до прошлого года назывался node-webkit, а в нынешнем (2015) году оказался 14 января переименованным в nw.js.

Ваши GUI-приложения также могут глобально быть установлены в системе из npm-пакета при помощи npm. Давайте поговорим об этом.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments4

Взаимодействие с командной строкой perl 6 из функции MAIN

Reading time2 min
Views4.6K
В Unix-среде множество скриптов получают аргументы из командной строки. В Perl 6 обрабатывать их очень просто:

    $ cat add.pl

    sub MAIN($x, $y) {
        say $x + $y
    }

    $ perl6 add.pl 3 4
    7
    $ perl6 add.pl too many arguments
    Usage:
    add.pl x y


Просто создав функцию MAIN и задав ей сигнатуру из параметров, вы автоматически получаете парсер командной строки, который передаёт их в аргументы функции $x и $y, и сообщение о правильном вызове скрипта.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments3

Создаём REST-сервис на Rust. Часть 3: обновляем базу из консоли

Reading time8 min
Views17K
В предыдущей части мы разобрали конфигурационный файл базы данных, чтобы считать из него параметры соединения.

Теперь давайте реализуем непосредственно операции обновления БД: создание, обновление, удаление наших записей и соответствующий им интерфейс командной строки.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments8

Настоящий Unix — не есть приемлемый Unix

Reading time5 min
Views28K
Командная строка Unix полна сюрпризов. Например, вы знали, что инструмент ls, который чаще всего используется для получения списка файлов в текущем каталоге, в версии OS X распознаёт не менее 38 разных флагов?

Я не знал, так что затвитил этот факт. И получил парочку ответов, один из которых заставил меня задуматься: действительно ли саму Unix нужно винить в этом?

Насколько я знаю, ни Linux, ни OS X не были спроектированы в строгом соответствии с философией Unix. Будет лицемерием основывать критику “Unix” только на этих производных от Unix, которые есть у нас сегодня.

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

Но я немного опережаю события. Прежде чем я начну говорить об этом, давайте более пристально посмотрим на команду ls и попробуем выяснить, что конкретно она делает не так.
Читать дальше →
Total votes 44: ↑32 and ↓12+20
Comments116

Да, вы можете запускать десктопные Linux приложения под Windows 10

Reading time2 min
Views56K


Сообщение корпорации Microsoft о нативной поддержке Bash on Ubuntu в среде Windows 10 наделало много шума. При этом компания решила не растягивать удовольствие ожидания для пользователей своей ОС, и выпустила Windows 10 Insider Preview Build 14316 с интегрированным Ubuntu спустя всего несколько дней после анонса. Полноценное крупное обновление Windows 10 с новой возможностью будет выпущено летом, а пока можно изучить возможности системы в превью билде.

Пользователи, которые опробовали новинку, сообщают, что все действительно работает. При этом возник вопрос — можно работать только в командной строке, или же есть какой-то способ запустить десктопное приложение с графическим интерфейсом? После проверки у ряда пользователей получилось запустить кое-какие десктопные Linux приложения. Официально заявляется, что такой возможности нет, но пользователь Reddit с ником w2qw нашел способ запуска «иксов» в Windows 10, что открывает возможность установки и работы с VIM и Firefox.
Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments90

Тяжкое наследие прошлого. Проблемы командной строки Windows

Reading time28 min
Views77K
Предисловие от автора, Рича Тёрнера из Microsoft. Это статья о командной строке: от её появления и эволюции до планов капитального ремонта Windows Console и командной строки в будущих версиях Windows. Будь вы опытным профессионалом или новичком в IT, надеемся, что вы найдёте статью интересной.

Давным-давно в далёкой-далёкой серверной...


С первых дней развития информатики людям нужен был эффективный способ передавать компьютеру команды и данные и видеть результат выполнения этих команд/вычислений.

Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.
Читать дальше →
Total votes 107: ↑103 and ↓4+99
Comments181

Встречайте псевдоконсоль Windows (ConPTY)

Reading time17 min
Views20K
Статья опубликована 2 августа 2018 года

Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, как её использовать и многое другое.

В прошлой статье «Тяжкое наследие прошлого. Проблемы командной строки Windows» мы рассказали о предпосылках появления терминала и эволюции командной строки в Windows, а также начали изучать внутреннее устройство Windows Console и инфраструктуры Windows Command-Line. Мы также обсудили многие преимущества и главные недостатки консоли Windows.

Один из недостатков заключается в том, что Windows пытается быть «полезной», но мешает разработчикам альтернативных и сторонних консолей, разработчикам служб и т.д. При создании консоли или службы разработчикам нужно иметь доступ к каналам связи, по которым их терминал/служба обменивается данными с приложениями командной строки, или предоставлять доступ к ним. В мире *NIX это не проблема, потому что *NIX предоставляет инфраструктуру «псевдотерминала» (PTY), которая позволяет легко создавать коммуникационные каналы для консоли или службы. Но в Windows такого не было…

… до настоящего времени!
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments23

Работа с «плохими» файлами в командной строке в Linux

Reading time4 min
Views78K
При работе в командной строке администраторы часто сталкиваются с необходимостью что-то сделать с определенным файлом: удалить, переместить, скопировать. При выполнении подобных задач зачастую приходится обращаться к файлам по имени, что может быть затруднительно, поскольку в именах файлов могут встречаться самые разные символы. Даже те, которых нет на клавиатуре. В этом плане работу может облегчить файловый менеджер, в котором файл можно просто выделить и совершить с ним нужное действие. Но для тех, кто привык работать исключительно в командной строке, предлагаются следующие способы.

В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
Читать дальше →
Total votes 127: ↑120 and ↓7+113
Comments53

Продолжаем удалять. [Re: Работа с «плохими» файлами в командной строке в Linux]

Reading time4 min
Views5.1K
Как известно, мир GNU/Linux многообразен. Для одной и той же задачи существует множество решений.

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

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

Предполагается, что использовать возможно только командную строку без файловых менеджеров. Под «правильным» файлом будем понимать файл с именем вида number.txt, под «неправильным» — все прочие.
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments29