Комментарии 33
Вот есть у нас консоль по UART транспорту. На удаленной системе только подмножество стандартных команд (какой-нибудь урезанный xxxxbox). Удаленная система readonly
SSH нет. Как удобнее гонять файлы из/в? Только средствами самой консоли и базовых команд.
Если на железке реализована поддержка X-Modem (чаще всего) или Y-Modem / Z-Modem(протоколы передачи файлов по модемному соединению и последовательному интерфейсу), то реализации под линукс есть. А чем вы на железку ходите? Какой программой? И да, если там ФС смонтирована в RO, то записать разумеется ничего не сможете, если конечно нет возможности перемонтировать ФС в RW.
Взял себе пару утилит.
Пользовался cmus, но хотелось что-то для Spotify!
Вот так, начитается кто-нить таких статей, а потом попадёт на сервер, где никакого fish
, совместимого исключительно с самим собой, и прочих хипстерских утилит отродясь не было и всё… приплыли! ;-)
Согласен, будет неприятно, но лучше чем если человек вовсе не знаком с консолью.
Я хочу заинтересовать людей, которые не хотят пользоваться консолью из-за того, что им некомфортно. Тут ведь как. Вошёл во вкус и вот сам не заметил как поставил себе i3 и пишешь скрипт на каждый блок в статусной строке :)
Так есть-же совместимые, с POSIX шеллы, при этом очень дружелюбные к пользователю. Тот-же Zsh, да даже баш, при большом желании, можно заточить до юзабельного сосстояния.
bash и zsh отличные шеллы, но для статьи между вариантами "поставьте fish" и "поставьте zsh и oh-my-zsh, потом поставьте плагин zsh-autosuggestions, настройте вот это и вон то" я выбрал первый.
Fish можно попробовать "бесплатно" — не тратя время на настройку. Не зашло — выкинул, настроил другой шелл. Если не настраивал, то и выкидывать не жалко.
Главное, чтобы читатель увидел какие фичи вообще бывают и тогда он при желании сможет настроить их и для других оболочек.
Вошёл во вкус и вот сам не заметил как поставил себе i3 и пишешь скрипт на каждый блок в статусной строке :)
Чтобы поставить себе i3, нужно сначала обкатать шелл с плюшками? Мне это всё как-то странно. С одной стороны, люблю, скажем, i3 + rofi + conky + terminator/bash + screen, с другой — fancy-шеллы, mc и разные ranger-ы так и не зашли. Максимум, бывает удобно походить по директориям через vim, когда нужно одновременно редактировать несколько файлов. Никакой особой непродуктивности не чувствую. Если учесть, что при постоянной необходимости набирать какие-то очень длинные и трудно запоминаемые команды, проще превратить их в короткие через скрипт, используя текстовый редактор (а для более сложных ситуаций с ещё большей вероятностью скорее используется текстовый редактор), то не очень понятно, зачем нужны плюшки. Больше похоже, что всё это чисто дело вкуса. Автодополнение из man сначало прозвучало интересно, потом вспомнил, что и так захожу в man почитать о каком-то параметре при неуверенности, и происходит это довольно быстро, главное время уходит на чтение.
P.S. Пока это писал, пришла мысль, что меня всё равно интересуют всякие плюшки. Просто я не сисадмин, и меня интересуют плюшки не шелла, а IDE. :)
Чтобы поставить себе i3, нужно сначала обкатать шелл с плюшками? Мне это всё как-то странно.
Зависимость не прямая, но у меня примерно так и было
не очень понятно, зачем нужны плюшки. Больше похоже, что всё это чисто дело вкуса.
Чтобы знать об их существовании и использовать если понадобится :) Вы уже нашли комфортное для себя окружение, а плюшки могут быть полезны тем кто его только ищет.
К сожалению, клавиша z
в top на macOS ничего не делает, да и в целом в этой версии топа довольно мало функций
А вот если linux, то действительно можно добавить цветов.
1) настройка «под себя» это первый гвоздь в гроб пользователя, это отчасти работает если кроме пары настроенных ПК вы ничем не пользуетесь, а когда у вас например 600 стандартных ПК, то у вас есть только та консоль, что уже установлена
2) если умирает какой-то проект на который вы подсели, то будет ломка, я не хочу ломки
3) консоль требует очень-очень хорошей памяти, которой например у меня нет и я быстрее всё сделаю «стрелочками» в FAR/NC чем вспоминая команды и их формат в консоли.
Спасибо за комментарий. Попробую ответить.
1) настройка «под себя» это первый гвоздь в гроб пользователя, это отчасти работает если кроме пары настроенных ПК вы ничем не пользуетесь, а когда у вас например 600 стандартных ПК, то у вас есть только та консоль, что уже установлена
Зависит от задачи. Не каждый работает с таким количеством компов, поэтому смею предположить, что для большинства пользователей настройка под себя приемлема.
2) если умирает какой-то проект на который вы подсели, то будет ломка, я не хочу ломки
Хороший аргумент. Можно снизить шансы, что это произойдёт если выбирать популярные опенсорсные утилиты. Вероятность, что они умрут меньше, потому что сообщество может взять поддержку утилиты на себя. С другой стороны проект может умереть и вы этого даже не заметите если утилита работала и работает исправно.
3) консоль требует очень-очень хорошей памяти, которой например у меня нет и я быстрее всё сделаю «стрелочками» в FAR/NC чем вспоминая команды и их формат в консоли.
Наверное я не до конца понял. Вы имеете в виду только работу с файлами в этом пункте? Если так, то это не противоречит статье. Возможно, стоит добавить ещё один спойлер с файловыми менеджерами :)
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 есть окно со списком задач и можно даже снять неугодную, но это еще дольше чем Диспетчер задач.
Из перечисленного я ничего не делаю никогда, но важность консоли для меня от этого не меньше. На мой взгляд консоль — это отдельный инструмент, как например УШМ и реноватор — могут многое делать одинаково, но всё же задачи у них разные.
Я ни в коем разе не против ваших доводов, я просто несколько озадачился вашим акцентом на то, что консоль — это мана небесная.
Хотел бы просто отметить, что на линуксах 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
самый яркий пример отсутствия файла в процессе обработки.
Консоль на любой вопрос в вашей голове требует запроса команды в консоли явно, то есть вы не можете просто посмотреть на разные части экрана и получить информацию.
Как это не могу?
Проводник
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, а то ваш смех странноват и вы действительно выглядите смешно.
пробовал fish
в итоге ушёл на zsh + ohmyzsh, обратная совместимость с bash оказалась важнее
Ничего не имею против zsh + ohmyzsh, но отвечу для тех кто тоже столкнётся с проблемой совместимость fish и bash.
Если использовать fish только как интерактивную оболочку, боль от отсутствия обратной совместимости минимизируется.
Иногда возникаю проблемы, что копипаста со stackowerflow или какой-то скрипт не работает (потому что в нём нет shebang), но тут есть варианты как это исправить.
- Если команда простая, её можно адаптировать под синтаксис fish.
- Всегда остаётся вариант выполнить команду через bash:
$ bash script.sh # Запускаем скрипт в bash $ bash -c 'your command here' # А теперь команду
- Если учитывать решения с плагинами, можно попробовать fish.reply
Как «приручить» консоль, или 5 шагов к жизни с командной строкой