Как стать автором
Обновить

Комментарии 33

На КДПВ: вообще-то не speak, a say!

Для картинки нужна была несуществующая команда :)
P.S Не знал, что для say можно ещё и голос выбрать, спасибо за ссылку

Вот есть у нас консоль по UART транспорту. На удаленной системе только подмножество стандартных команд (какой-нибудь урезанный xxxxbox). Удаленная система readonly
SSH нет. Как удобнее гонять файлы из/в? Только средствами самой консоли и базовых команд.

Спасибо за вопрос. Есть возможность использовать netcat?

Сети нет, только UART

Если на железке реализована поддержка X-Modem (чаще всего) или Y-Modem / Z-Modem(протоколы передачи файлов по модемному соединению и последовательному интерфейсу), то реализации под линукс есть. А чем вы на железку ходите? Какой программой? И да, если там ФС смонтирована в RO, то записать разумеется ничего не сможете, если конечно нет возможности перемонтировать ФС в RW.

Зависит от базовых команд. Проще всего — X/Y/Z-modem. Если нет — копипастой hex-дампа (xxd) / base64.
Отличная статья, спасибо!
Взял себе пару утилит.
Консоль это всего лишь интерфейс к тому или иному софту, то что визуальные инструменты как правило неполноценны по функционалу это другая история.
За spotify-tui отдельный мегареспект.
Пользовался cmus, но хотелось что-то для Spotify!

Вот так, начитается кто-нить таких статей, а потом попадёт на сервер, где никакого fish, совместимого исключительно с самим собой, и прочих хипстерских утилит отродясь не было и всё… приплыли! ;-)

Согласен, будет неприятно, но лучше чем если человек вовсе не знаком с консолью.
Я хочу заинтересовать людей, которые не хотят пользоваться консолью из-за того, что им некомфортно. Тут ведь как. Вошёл во вкус и вот сам не заметил как поставил себе i3 и пишешь скрипт на каждый блок в статусной строке :)

Так есть-же совместимые, с POSIX шеллы, при этом очень дружелюбные к пользователю. Тот-же Zsh, да даже баш, при большом желании, можно заточить до юзабельного сосстояния.

bash и zsh отличные шеллы, но для статьи между вариантами "поставьте fish" и "поставьте zsh и oh-my-zsh, потом поставьте плагин zsh-autosuggestions, настройте вот это и вон то" я выбрал первый.
Fish можно попробовать "бесплатно" — не тратя время на настройку. Не зашло — выкинул, настроил другой шелл. Если не настраивал, то и выкидывать не жалко.
Главное, чтобы читатель увидел какие фичи вообще бывают и тогда он при желании сможет настроить их и для других оболочек.

Полгитхаба готовых конфигов zsh. Как раз на попробовать. ;-) Зато потом как втянешься — за уши не оттащишь!

Вошёл во вкус и вот сам не заметил как поставил себе i3 и пишешь скрипт на каждый блок в статусной строке :)

Чтобы поставить себе i3, нужно сначала обкатать шелл с плюшками? Мне это всё как-то странно. С одной стороны, люблю, скажем, i3 + rofi + conky + terminator/bash + screen, с другой — fancy-шеллы, mc и разные ranger-ы так и не зашли. Максимум, бывает удобно походить по директориям через vim, когда нужно одновременно редактировать несколько файлов. Никакой особой непродуктивности не чувствую. Если учесть, что при постоянной необходимости набирать какие-то очень длинные и трудно запоминаемые команды, проще превратить их в короткие через скрипт, используя текстовый редактор (а для более сложных ситуаций с ещё большей вероятностью скорее используется текстовый редактор), то не очень понятно, зачем нужны плюшки. Больше похоже, что всё это чисто дело вкуса. Автодополнение из man сначало прозвучало интересно, потом вспомнил, что и так захожу в man почитать о каком-то параметре при неуверенности, и происходит это довольно быстро, главное время уходит на чтение.


P.S. Пока это писал, пришла мысль, что меня всё равно интересуют всякие плюшки. Просто я не сисадмин, и меня интересуют плюшки не шелла, а IDE. :)

Чтобы поставить себе i3, нужно сначала обкатать шелл с плюшками? Мне это всё как-то странно.

Зависимость не прямая, но у меня примерно так и было


не очень понятно, зачем нужны плюшки. Больше похоже, что всё это чисто дело вкуса.

Чтобы знать об их существовании и использовать если понадобится :) Вы уже нашли комфортное для себя окружение, а плюшки могут быть полезны тем кто его только ищет.

top у них не красивый ;-)… А если help...


почитать?

top во всей красе

К сожалению, клавиша z в top на macOS ничего не делает, да и в целом в этой версии топа довольно мало функций


Вот всё что есть


А вот если linux, то действительно можно добавить цветов.

Как всё грустно в этом вашем маке… ;-)

Как любитель консоли, линукса и всего лампового позволю себе не согласиться с автором. Вот мои минусы, которые я бы обозначил:
1) настройка «под себя» это первый гвоздь в гроб пользователя, это отчасти работает если кроме пары настроенных ПК вы ничем не пользуетесь, а когда у вас например 600 стандартных ПК, то у вас есть только та консоль, что уже установлена
2) если умирает какой-то проект на который вы подсели, то будет ломка, я не хочу ломки
3) консоль требует очень-очень хорошей памяти, которой например у меня нет и я быстрее всё сделаю «стрелочками» в FAR/NC чем вспоминая команды и их формат в консоли.

Спасибо за комментарий. Попробую ответить.


1) настройка «под себя» это первый гвоздь в гроб пользователя, это отчасти работает если кроме пары настроенных ПК вы ничем не пользуетесь, а когда у вас например 600 стандартных ПК, то у вас есть только та консоль, что уже установлена

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


2) если умирает какой-то проект на который вы подсели, то будет ломка, я не хочу ломки

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


3) консоль требует очень-очень хорошей памяти, которой например у меня нет и я быстрее всё сделаю «стрелочками» в FAR/NC чем вспоминая команды и их формат в консоли.

Наверное я не до конца понял. Вы имеете в виду только работу с файлами в этом пункте? Если так, то это не противоречит статье. Возможно, стоит добавить ещё один спойлер с файловыми менеджерами :)

1) безусловно, но лучше я буду в мире встречать ПК со стандартной консолью и понимать как ей пользоваться, чем ограничу себя двумя ПК — дома и на работе. Ну не будете же вы ставить и настраивать консоль на ноутбуке друга чтобы настроить ему сеть?
2) Это как в мире Линукса сидеть на OS/2, и длина жизни проекта не поможет, да и сообщество может увести проект не туда куда вам нужно. В любом случае это зависимость.
3) Я вообще о факте удержания в памяти всего набора консольных команд. Ну и в остальном — а что кроме файлов вы вообще на ПК можете обрабатывать — это же современная парадигма вычислительной техники, файл — её атом. Консоль на любой вопрос в вашей голове требует запроса команды в консоли явно, то есть вы не можете просто посмотреть на разные части экрана и получить информацию. Кому-то безусловно может нравится набивать миллионы команд для простейших операций, но я не считаю это разумным. Поэтому для меня примерно такая последовательность действий на ПК:
Проводник
FAR
PShell
В 99% случаев я не выхожу за рамки FAR.
Для примера давайте я прокомментирую ваш топ-5:
Я задал вопрос коллегам-роботам: «Для чего вы чаще всего открываете терминал?» Получился такой ТОП-5:
1. Работа с Git там, где не хватает графического интерфейса.
2. Установка пакетов и управление зависимостями (подробнее про менеджер пакетов поговорим в разделе «Устанавливаем менеджер пакетов»).
3. Работа с SSH.
4. Проверка API с помощью curl.
5. Когда нужно «грохнуть» процесс.

1) Я даже не в курсе что у Git есть GUI
2) FAR
3) putty
4) не в курсе что это, видимо тоже запущу FAR
5) Ctrl+Alt+Del, Диспетчер задач, Снять задачу — это примерно в 857564653 быстрее чем искать PID и потом его снимать. Кстати у FAR есть окно со списком задач и можно даже снять неугодную, но это еще дольше чем Диспетчер задач.
Из перечисленного я ничего не делаю никогда, но важность консоли для меня от этого не меньше. На мой взгляд консоль — это отдельный инструмент, как например УШМ и реноватор — могут многое делать одинаково, но всё же задачи у них разные.
Я ни в коем разе не против ваших доводов, я просто несколько озадачился вашим акцентом на то, что консоль — это мана небесная.
в продолжении темы об отсутствии универсальности — у меня дома нет ничего чтобы кастомизировало Windows, как нет и на работе ни на одном ПК, при этом я работаю одновременно от WinXP до Win10 с равной производительностью, а коллеги постоянно чертыхаются 10-ки, а те кто подсел на 10 — ничего не могут сделать на 7. Для меня это странно.

Хотел бы просто отметить, что на линуксах pid искать не обязательно и можно грохнуть процесс по имени одной командой))
А вообще — дело вкуса и ситуации, как по мне. Если консоль уже открыта — зачем запускать еще какую-то стороннюю утилиту, если можно парой команд выполнить поставленную задачу)

можно грохнуть процесс по имени одной командой))

только в том случае если вы знаете то самое имя

Это довольно странно, если вы хотите грохнуть "ну вот это вот, не знаю как называется"

Процессы игр из Steam сначала смотрю в ps, а потом:


ps aux | grep -i 'something' | tr -s ' ' | cut -d' ' -f2 | xargs kill -9

Понимаю, что извращение, и что можно использовать killall -9 -I -r 'something', но пока вспоминаю об этом, уже заканчиваю набирать… :)

Это как в мире Линукса сидеть на OS/2

Два года назад окончательно перелез с OS/2 на линуксы, при этом из под полуоси эти самые линуксы прекрасно админил… Эх, опять я что-т делаю не так.


Я вообще о факте удержания в памяти всего набора консольных команд.

Не нужно держать в голове весь набор консольных команд, но основные команды, хотя-бы из набора iproute2 / coreutils можно запомнить. А то это напоминает поведение младшекласника, типа я не хочу учить азбуку, это-ж буквы запоминать надо. А из этих букв, (о ужас!) ещё и слова составлять ;-)


а что кроме файлов вы вообще на ПК можете обрабатывать — это же современная парадигма вычислительной техники, файл — её атом

Не везде. Кое где основной парадигмой является объект, например. А обрабатывают обычно данные. Файл это контейнер, которого может и не быть… curl https://bla-bla-bla/ | jq blablabla самый яркий пример отсутствия файла в процессе обработки.


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

Как это не могу?


Могу

image


Проводник
FAR
PShell
В 99% случаев я не выхожу за рамки FAR.

Проводник, FAR, Pshell… О чём вообще речь? Нет, конечно, если сидеть под виндой, то консоль неудобна. С этим я согласен на все сто. Только не надо примерять пользовательские паттерны windows на *nix-like системы.


Проверка API с помощью curl.
не в курсе что это, видимо тоже запущу FAR

Спасибо, посмеялся. Заряд хорошего настроения на день обеспечен. :-)

Не нужно держать в голове весь набор консольных команд

надеюсь вы понимаете что все люди разные? или нет?
я если не пользуюсь чем-то неделю, то только man/google с повторением и примерами

Не везде

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

Как это не могу?

А текст выше вы руками написали или он сам появился? Как вы узнали что нужно именно png изучать? перед этим у вас еще будет ls -la, а только когда выдача вас устроит вы будете писать команду с новым фильтром и никак иначе.

Нет, конечно, если сидеть под виндой, то консоль неудобна

смелое утверждение адресованное человеку который за 35 лет не отказывался от консоли ни в одной из систем. я сам пишу программы под консоль, и всё на винде.

Только не надо примерять пользовательские паттерны windows на *nix-like системы

а когда беседа перешла в русло unix-like only?

Спасибо, посмеялся

надеюсь вы в курсе что такое FAR, а то ваш смех странноват и вы действительно выглядите смешно.
обхохочемся ))))
image

пробовал fish
в итоге ушёл на zsh + ohmyzsh, обратная совместимость с bash оказалась важнее

Ничего не имею против zsh + ohmyzsh, но отвечу для тех кто тоже столкнётся с проблемой совместимость fish и bash.


Если использовать fish только как интерактивную оболочку, боль от отсутствия обратной совместимости минимизируется.
Иногда возникаю проблемы, что копипаста со stackowerflow или какой-то скрипт не работает (потому что в нём нет shebang), но тут есть варианты как это исправить.


  1. Если команда простая, её можно адаптировать под синтаксис fish.
  2. Всегда остаётся вариант выполнить команду через bash:
    $ bash script.sh              # Запускаем скрипт в bash
    $ bash -c 'your command here' # А теперь команду
  3. Если учитывать решения с плагинами, можно попробовать fish.reply

Один вопрос… «Зачем пытаться хлебать суп китайскими палочками, когда можно спокойно есть ложкой»? ;-)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий