Microsoft объявила о прекращении поддержки режима консоли Legacy в Windows 11 и будущих версиях. Этот инструмент предназначался для запуска старых приложений командной строки в Windows 10.
Как начать работу с Linux и не опингвиниться? Рассказываем в новом бесплатном курсе для новичков
1 min
8.5KВ Академии Selectel появился новый курс «Linux: горячие клавиши и команды». В нем делимся полезными материалами по базовым командам, файловым системам и работе с терминалом. Изучение всех материалов займет около трех часов.
+3
Microsoft убирает из Windows 11 wmic.exe
1 min
58KMicrosoft удаляет инструмент командной строки Windows Management Instrumentation (WMIC), wmic.exe, из последних предварительных сборок Windows 11 на канале Dev.
+13
Microsoft поставляет устаревшие, уязвимые опенсорсные утилиты с Windows 10 и 11
2 min
7.5KВ списке рассылки Seclists, посвящённом информационной безопасности, обратили внимание на пренебрежительное отношение Microsoft к опенсорсным компонентам в составе Windows 10 и 11.
Так, в декабре 2017 года Microsoft объявила о включении в состав Windows 10 программ
За это время вышло 34 новых версии
Так, в декабре 2017 года Microsoft объявила о включении в состав Windows 10 программ
curl.exe
и tar.exe
. Но компания не смогла сделать это нормальным образом, а потерпела «жалкую неудачу» (как пишут в списке рассылки): она взяла версию curl 7.55.1 от 14.11.2017 года — и вообще не обновляла её два года, применив пару патчей в 2019 году (без обновления), а потом опять забыв о программе ещё на два года до нынешнего времени.За это время вышло 34 новых версии
curl
, а в древнем curl 7.55.1 задокументировано 15 уязвимостей.+27
Вышла бета консольной утилиты GitHub CLI
2 min
5KРазработчики GitHub выпустили бета-версию консольной утилиты GitHub CLI. Она позволяет создавать пул-реквесты и тикеты на GitHub, не выходя из консоли, где вы уже работаете с git.
Пул-реквесты и issue — самые распространённые команды, поэтому их добавили в первую очередь.
Как и прошлая программа Hub, эта полностью написана на Go. Она тоже запускается в разных ОС, включая Linux, MacOS и Windows, причём гораздо удобнее в использовании.
+20
Библиотека для вывода изображений в командную строку
1 min
8.4KFabulous — замечательная библиотека, позволяющая выводить красивый цветной текст, картинки, фигуры прямо в окно терминала!
Для того, чтобы установить библиотеку, выполните в терминале:
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
— после такого вызова в терминале появится следующее изображение (как видите, чтобы вывести изображение, достаточно одной строки):+51
Функции в bashrc. Ещё одна простая вещь
1 min
10KВ .bashrc можно описывать функции.
К чему это я? Если вам не хватает alias, не обязательно писатьоднострочный скрипт.
К чему это я? Если вам не хватает alias, не обязательно писать
+53
Работа с Java в командной строке
11 min
642KTutorial
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
+67
bcat: просмотр вывода консольных программ в браузере
2 min
8.4KTutorial
С удивлением обнаружил, что никто на Хабрахабре не писал про bcat. Это маленькая удобная утилита для просмотра вывода консольных программ в браузере. У вас есть скрипт, возвращающий HTML? Bcat! Нужен простой предпросмотр для README-файла с Markdown-форматированием, который вы только что дописали? Bcat! Пишете парсер веб-сайта, и хотите посмотреть, что за ошибку возвращает сайт? Bcat! Есть большой лог, и вы хотите, чтобы он отобразился чёрным по белому, и его было удобно читать? Ну, вы поняли, да? :)
Программа работает на Linux, Mac OS X и FreeBSD (и, теоретически, на любой UNIX-подобной платформе с интеграцией freedesktop.org).
Для установки bcat можно воспользоваться gem:
Вместе с bcat устанавливается rack (если, конечно, он не был уже установлен до этого).
Для проверки можно попробовать открыть календарь на 2014 год:
Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
Программа работает на 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
Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
+27
Fucky new year!
2 min
36KПростите за мат в заголовке, это намёк на развлечение, начало которому дал язык «Брейнфак» — написать на каком-либо языке код, выполняющий что-то разумное, не используя букв и цифр. Мы уже видели JSFuck, PHPFuck, теперь я вам хочу представить Bashfuck:
Для запуска потребуется «Баш» четвёртой версии. Ничего вредоносного скрипт не делаетсмело запускайте из-под «рута», просто выведет надпись «Happy new year». Исходник надо скопировать в файл и запустить.
__=${_##*/};____=<(:);___=${__#???};_____=$((${#___}<<${#___}))
__=${__::-${#___}}${____:$_____:${#___}}
__=$__$((${#__}|$_____))$((${#__}));___=$___${__:${#___}:${#___}};____=$($__<<<$_____|$__)
_____=${____:$((${#__}-${#___})):${#?}};___=$___$_____$_____;____=$($__<<<$____|$__|$__)
___=$___${____:$((${#?}+${#__})):${#?}};___=$___' '${____:$((${#___}+${#___})):${#?}}
___=$___${__:$((${#____}/${#___}-${#?})):${#?}};___=$___${____:$((${#____}#$_____-${#___})):${#?}}
___=$___\ ${____:$((${#__}+${#?})):${#?}}${__:$((${#__}>>${#?})):${#?}}${__:${#_____}:${#?}}
___=$___${____:$((${#___}-${#?}-${#?})):${#?}};___=${___,,}
____=${____:$((${#___}+${#__}-${#?})):$((${#?}+${#?}))}
____=${____::${#?}}${__:${#_____}:${#?}}${____:${#?}};${____,,}<<<${___^}
Для запуска потребуется «Баш» четвёртой версии. Ничего вредоносного скрипт не делает
+61
Zsh: fucky new year
8 min
19KПрочитал пост habrahabr.ru/post/247161 и подумал: вот человек написал непонятную программу на bash, которая выводит «Happy new year». Но это ведь bash! Надо показать, что zsh не хуже, а даже намного лучше! И так, программа на zsh, выводящая «С новым годом!» (по‐русски!) со следующими ограничениями:
- Программа не должна использовать никакие сторонние программы. Ни base64, ни cat, ничего.
- Программа должна выводить текст по‐русски.
- Программа быть написана на ASCII, но не должна содержать ни одной буквы или цифры.
+21
Использование npm для глобальной установки приложений, наделённых GUI и основанных на nw.js
4 min
19KTutorial
Команда «npm install» в менеджере пакетов npm чаще всего употребляется для локальной установки зависимостей некоторого модуля, совершаемой в его подкаталоге «/node_modules».
Однако возможен и запуск этой командыс ключом «-g» (от слóва «global»). Он обеспечивает установку указанного ей пакета в некоторое глобальное (то есть общее для всей системы) место. Кроме того, в PATH (для последующего запуска из любого желаемого каталога) оказывается прописанною та команда, которая была указана в свойстве «"bin"» в файле package.json у установленного пакета.
Таким общим местом, согласно документации, под Windows служит подкаталог«/node_modules» в каталоге установки Node. В остальных же системах таким общим местом чаще всего оказывается каталог «/usr/local/lib/node_modules» (тогда как Node там устанавливается в каталог «/usr/local/bin»).
Обыкновенно этот подход употребляется для глобальной установки различных утилит, предназначенных для запуска из командной строки. Вот некоторые примеры:
Однако на CLI (на командной строке) свет клином не сошёлся — и читателям Хабрахабра должно уж вполне быть известно, что приложение на языке JavaScript, употребляющее API Node.js, можно снабдить и GUI (графическим интерфейсом пользователя), сочинённым на языках HTML и CSS. Для этого придётся и запускать такое приложение вместо Node на том движке, который до прошлого года называлсяnode-webkit, а в нынешнем (2015) году оказался 14 января переименованным в nw.js.
ВашиGUI-приложения также могут глобально быть установлены в системе из npm-пакета при помощи npm. Давайте поговорим об этом.
Однако возможен и запуск этой команды
Таким общим местом, согласно документации, под Windows служит подкаталог
Обыкновенно этот подход употребляется для глобальной установки различных утилит, предназначенных для запуска из командной строки. Вот некоторые примеры:
- Команда
«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 на том движке, который до прошлого года назывался
Ваши
+22
Взаимодействие с командной строкой perl 6 из функции MAIN
2 min
4.6KTranslation
В Unix-среде множество скриптов получают аргументы из командной строки. В Perl 6 обрабатывать их очень просто:
Просто создав функцию MAIN и задав ей сигнатуру из параметров, вы автоматически получаете парсер командной строки, который передаёт их в аргументы функции $x и $y, и сообщение о правильном вызове скрипта.
$ 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, и сообщение о правильном вызове скрипта.
+10
Создаём REST-сервис на Rust. Часть 3: обновляем базу из консоли
8 min
17KTutorial
В предыдущей части мы разобрали конфигурационный файл базы данных, чтобы считать из него параметры соединения.
Теперь давайте реализуем непосредственно операции обновления БД: создание, обновление, удаление наших записей и соответствующий им интерфейс командной строки.
Теперь давайте реализуем непосредственно операции обновления БД: создание, обновление, удаление наших записей и соответствующий им интерфейс командной строки.
+18
Настоящий Unix — не есть приемлемый Unix
5 min
28KTranslation
Командная строка Unix полна сюрпризов. Например, вы знали, что инструмент
Я не знал, так что затвитил этот факт. И получил парочку ответов, один из которых заставил меня задуматься: действительно ли саму Unix нужно винить в этом?
Насколько я знаю, ни Linux, ни OS X не были спроектированы в строгом соответствии с философией Unix. Будет лицемерием основывать критику “Unix” только на этих производных от Unix, которые есть у нас сегодня.
Но я всё-таки попробую показать, как много проблем с интерфейсами командной строки в современных наследниках Unix восходят к корням самой Unix. В частности, я попытаюсь объяснить свой скепсис относительно идеи, что окружение командной строки Unix могло когда-либо поддерживать экосистему программ, каждая из которых хорошо выполняет одну функцию.
Но я немного опережаю события. Прежде чем я начну говорить об этом, давайте более пристально посмотрим на команду
ls
, который чаще всего используется для получения списка файлов в текущем каталоге, в версии OS X распознаёт не менее 38 разных флагов?Я не знал, так что затвитил этот факт. И получил парочку ответов, один из которых заставил меня задуматься: действительно ли саму Unix нужно винить в этом?
Насколько я знаю, ни Linux, ни OS X не были спроектированы в строгом соответствии с философией Unix. Будет лицемерием основывать критику “Unix” только на этих производных от Unix, которые есть у нас сегодня.
Но я всё-таки попробую показать, как много проблем с интерфейсами командной строки в современных наследниках Unix восходят к корням самой Unix. В частности, я попытаюсь объяснить свой скепсис относительно идеи, что окружение командной строки Unix могло когда-либо поддерживать экосистему программ, каждая из которых хорошо выполняет одну функцию.
Но я немного опережаю события. Прежде чем я начну говорить об этом, давайте более пристально посмотрим на команду
ls
и попробуем выяснить, что конкретно она делает не так.+20
Да, вы можете запускать десктопные Linux приложения под Windows 10
2 min
56KСообщение корпорации Microsoft о нативной поддержке Bash on Ubuntu в среде Windows 10 наделало много шума. При этом компания решила не растягивать удовольствие ожидания для пользователей своей ОС, и выпустила Windows 10 Insider Preview Build 14316 с интегрированным Ubuntu спустя всего несколько дней после анонса. Полноценное крупное обновление Windows 10 с новой возможностью будет выпущено летом, а пока можно изучить возможности системы в превью билде.
Пользователи, которые опробовали новинку, сообщают, что все действительно работает. При этом возник вопрос — можно работать только в командной строке, или же есть какой-то способ запустить десктопное приложение с графическим интерфейсом? После проверки у ряда пользователей получилось запустить кое-какие десктопные Linux приложения. Официально заявляется, что такой возможности нет, но пользователь Reddit с ником w2qw нашел способ запуска «иксов» в Windows 10, что открывает возможность установки и работы с VIM и Firefox.
+22
Тяжкое наследие прошлого. Проблемы командной строки Windows
28 min
77KTranslation
Предисловие от автора, Рича Тёрнера из Microsoft. Это статья о командной строке: от её появления и эволюции до планов капитального ремонта Windows Console и командной строки в будущих версиях Windows. Будь вы опытным профессионалом или новичком в IT, надеемся, что вы найдёте статью интересной.
С первых дней развития информатики людям нужен был эффективный способ передавать компьютеру команды и данные и видеть результат выполнения этих команд/вычислений.
Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.
Давным-давно в далёкой-далёкой серверной...
С первых дней развития информатики людям нужен был эффективный способ передавать компьютеру команды и данные и видеть результат выполнения этих команд/вычислений.
Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.
+99
Встречайте псевдоконсоль Windows (ConPTY)
17 min
20KTranslation
Статья опубликована 2 августа 2018 года
Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, как её использовать и многое другое.
В прошлой статье «Тяжкое наследие прошлого. Проблемы командной строки Windows» мы рассказали о предпосылках появления терминала и эволюции командной строки в Windows, а также начали изучать внутреннее устройство Windows Console и инфраструктуры Windows Command-Line. Мы также обсудили многие преимущества и главные недостатки консоли Windows.
Один из недостатков заключается в том, что Windows пытается быть «полезной», но мешает разработчикам альтернативных и сторонних консолей, разработчикам служб и т.д. При создании консоли или службы разработчикам нужно иметь доступ к каналам связи, по которым их терминал/служба обменивается данными с приложениями командной строки, или предоставлять доступ к ним. В мире *NIX это не проблема, потому что *NIX предоставляет инфраструктуру «псевдотерминала» (PTY), которая позволяет легко создавать коммуникационные каналы для консоли или службы. Но в Windows такого не было…
… до настоящего времени!
Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, как её использовать и многое другое.
В прошлой статье «Тяжкое наследие прошлого. Проблемы командной строки Windows» мы рассказали о предпосылках появления терминала и эволюции командной строки в Windows, а также начали изучать внутреннее устройство Windows Console и инфраструктуры Windows Command-Line. Мы также обсудили многие преимущества и главные недостатки консоли Windows.
Один из недостатков заключается в том, что Windows пытается быть «полезной», но мешает разработчикам альтернативных и сторонних консолей, разработчикам служб и т.д. При создании консоли или службы разработчикам нужно иметь доступ к каналам связи, по которым их терминал/служба обменивается данными с приложениями командной строки, или предоставлять доступ к ним. В мире *NIX это не проблема, потому что *NIX предоставляет инфраструктуру «псевдотерминала» (PTY), которая позволяет легко создавать коммуникационные каналы для консоли или службы. Но в Windows такого не было…
… до настоящего времени!
+33
Работа с «плохими» файлами в командной строке в Linux
4 min
78KПри работе в командной строке администраторы часто сталкиваются с необходимостью что-то сделать с определенным файлом: удалить, переместить, скопировать. При выполнении подобных задач зачастую приходится обращаться к файлам по имени, что может быть затруднительно, поскольку в именах файлов могут встречаться самые разные символы. Даже те, которых нет на клавиатуре. В этом плане работу может облегчить файловый менеджер, в котором файл можно просто выделить и совершить с ним нужное действие. Но для тех, кто привык работать исключительно в командной строке, предлагаются следующие способы.
В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
+113
Продолжаем удалять. [Re: Работа с «плохими» файлами в командной строке в Linux]
4 min
5.1KКак известно, мир GNU/Linux многообразен. Для одной и той же задачи существует множество решений.
Порой один линуксоид решает проблему, а второй смотрит на данный процесс и испытывает неуемное желание вмешаться, сделать по-своему. В подобных условиях и была рождена эта запись.
Топик, в котором была затронута тема удаления файлов с неправильными именами находится здесь. Далее будут приведены иные методы решения той же задачи.
Предполагается, что использовать возможно только командную строку без файловых менеджеров. Под «правильным» файлом будем понимать файл с именем вида number.txt, под «неправильным» — все прочие.
Порой один линуксоид решает проблему, а второй смотрит на данный процесс и испытывает неуемное желание вмешаться, сделать по-своему. В подобных условиях и была рождена эта запись.
Топик, в котором была затронута тема удаления файлов с неправильными именами находится здесь. Далее будут приведены иные методы решения той же задачи.
Предполагается, что использовать возможно только командную строку без файловых менеджеров. Под «правильным» файлом будем понимать файл с именем вида number.txt, под «неправильным» — все прочие.
+32