Использование командной строки с дислексией

57

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

Дейл Дэвидсон
источник
4
Когда вы перетаскиваете файл в терминал, он автоматически печатает полный путь. Когда вы нажимаете клавишу со стрелкой вверх, она автоматически печатает последнюю команду.
Карел
21
Это хороший вопрос, но мне трудно представить, какие у вас проблемы. Пожалуйста, отредактируйте и объясните, что именно бросает вам вызов. Возможные решения могут быть проще, чем вы думаете (см. Другие комментарии).
десерт
6
Клавиши быстрого доступа помочь много , найти полезные из них здесь: askubuntu.com/q/45521/507051 и askubuntu.com/q/444708/507051
десерт
4
Чтобы сэкономить время, набирая длинный путь к файлу, я перетаскиваю значок файла в терминал, чтобы распечатать путь файла, а затем скопировать / вставить его в следующую команду.
Карел
3
Zsh может на самом деле автозамену поменять местами буквы в именах команд! (Страницы справочника содержат больше информации.)
SilverWolf - Восстановите Монику

Ответы:

90

Вы можете попробовать несколько вещей, чтобы улучшить ваш опыт работы с командной строкой.

  1. Используйте табуляцию (автоматически вводите частично набранные команды нажатием Tab), когда это возможно.
  2. Нажмите (клавиша со стрелкой вверх), чтобы автоматически напечатать последнюю команду, и продолжайте нажимать & (клавиши со стрелками вверх и вниз), чтобы просмотреть историю команд.
  3. Перетащите файл в терминал, чтобы автоматически распечатать полный путь.
  4. Нажмите Alt+ .(точка), чтобы вставить последний аргумент из последней выполненной вами команды (полезно, например, mkdirпосле cd).
  5. Используйте сочетания клавиш (см. Это и это ).
  6. Используйте псевдонимы Bash (см. Это и это ).
  7. Используйте history, вы можете просмотреть историю команд, а затем использовать номер исторической команды для повторного выполнения команды (например, повторить команду # 352 с !352). Псевдоним это просто hдля быстрого и легкого доступа.
  8. Используйте обратный поиск терминала ( Ctrl+ R, затем начните печатать), чтобы соответствовать более ранним командам; это быстрый способ найти вещи из ранее.
  9. Используйте оболочку, которая выполняет команды и необязательные аргументы, такие как Zsh или fish .
  10. Используйте шрифт, который улучшает читаемость для читателей с дислексией , например, « OpenDyslexic », в терминале.
  11. Слушайте, что на экране, когда вы читаете; включить скрин-ридер, как Orca . Вы можете прочитать только одно слово, целую страницу, прописать слова по буквам, изменить скорость, объем, уровень детализации и т. Д.
  12. Увеличьте часть экрана, когда вы читаете; взгляните на приложения, которые масштабируются с помощью сочетаний клавиш, например, « Лупа» .
  13. Дополнительно: персонализируйте способ отображения вывода, например, настройку условных цветов текста. Дистрибутив Ubuntu по умолчанию предоставляет несколько улучшений для терминала. lsНапример, когда вы используете список содержимого каталога, подкаталоги печатаются синим цветом, а имена файлов печатаются белым, что облегчает их различение. Для других примеров посмотрите на многие персонализации, которыми люди поделились. Некоторым обязательно стоит попробовать «как есть». Хорошей отправной точкой является популярный репозиторий Awesome dotfiles .
pomsky
источник
1
@flith Это должно быть !352вместо history 352, не так ли?
Помский
2
До сих пор я перешел на дислексический шрифт и включил цвета в терминале. Это помогло с чтением и некоторыми головными болями. До сих пор листаю книги Ubuntu Unleashed и Linux Bible. Vim и некоторые другие редакторы могут дать некоторые ответы.
Дейл Дэвидсон
Ctrl + R - я никогда не видел этого раньше. Это удивительно полезно
Ноэль Эванс
16

Я попытаюсь дать исчерпывающий ответ. Если я что-то пропустил, пожалуйста, прокомментируйте, и я добавлю это.

Tab завершение

Заполнение вкладок - ваша самая большая помощь. Нажатие Tabзавершит команду, насколько это можно однозначно идентифицировать. Двойное нажатие Tabвыдаст список опций. Набрав достаточное количество символов, чтобы определить, какой вариант вы хотите, и нажмите еще Tabраз, чтобы завершить его. Это также работает с путями / именами файлов.

Например, допустим, у меня есть пользователь по имени Пол, и у него есть файлы text123.txt и text124.txt в его папке «Загрузки»:

Я мог бы напечатать / ч Tabи Баш даст мне /home/. Затем введите P Tabи получите /home/Paul/. И продолжайте в том же духе, пока у меня не будет полного файла и пути.

Расширение пути / имени файла

Автозаполнение также принимает джокеры *и ?. ?соответствует одному символу и *соответствует всем символам (или ни одного). Используя приведенный выше пример, я мог бы набрать:

/h*/P*/Dow*/t*4*тогда Tabи Баш даст мне /home/Paul/Downloads/text124.txt. Если я уверен, что я сопоставляю правильный файл, я могу просто нажать, Enterчтобы выполнить команду, не раскрывая ее в первую очередь.

Некоторые общие ссылки на каталоги:

  • ~ для вашего домашнего каталога.
  • .. родительский каталог
  • .Текущий каталог; в случае, если вы хотите быть абсолютно уверены, что bash выглядит в правильном каталоге.

Горячие клавиши

Клавиши со стрелками вверх и вниз позволяют перемещаться по списку недавно использованных команд. Нажмите Ctrl+, Gчтобы выйти из режима поиска истории. Alt+ .повторяет последний аргумент предыдущей команды.

Псевдонимы

Bash позволяет указывать псевдонимы. Если вы обнаружите, что часто неправильно набираете команду одним и тем же способом, вы можете добавить пользовательские псевдонимы, отредактировав ~/.bashrcи добавив такие строки:

alias agi='apt-get install'
alias mkdri='mkdir'

Затем повторно войдите, чтобы активировать их.

ravery
источник
4
~это не расширениеalias , оно скорее расширено , bashкак описано в EXPANSION / Tilde Expansion inman bash - ~расширено $HOME, например , ~+до $PWDи ~-до $OLDPWD. Вы можете установить, например, alias ~='cd ~'и очень полезно быстро вернуться к домашнему каталогу, но это полностью отличается (и не повредит) расширению.
десерт
Ну, man bashесть целый раздел EXPANSION... Вы уже рассмотрели немного расширения пути.
десерт
В моей системе я не могу заставить большинство других расширений работать в CLI. Но я реорганизую, чтобы исправить объяснение тильды.
Ревери
1
@WJAndrea: оболочка имеет специальную поддержку ..и .; например, cd ..фактически удаляет последний сегмент пути из текущего рабочего каталога, а не добавляет ..сегмент.
Руах
1
@WJAndrea и ravery: Ctrl + G выходит из поиска истории команд, который вы начинаете с Ctrl + R. После запуска просто введите начало команды, и она покажет вам самую последнюю соответствующую. Пролистайте соответствующие команды с помощью Ctrl + R, запустите команду с помощью Enter или отредактируйте ее с помощью клавиши, которая меняет положение курсора, например, Home, End, стрелки и т. Д. Этот режим поиска чрезвычайно полезен, если вы хотите найти последнюю команду с помощью его имя - попробуйте, это взорвет ваш разум. ;)
десерт
12

Оболочка Zsh (или, по крайней мере, версия, которую я использую, Oh-my-ZSH ) имеет функцию, которая исправляет вас, если вы делаете небольшие опечатки в именах команд и файлов:

$ pyhton scirpt.py
zsh: correct 'pyhton' to 'python' [nyae]? y
zsh: correct 'scirpt.py' to 'script.py' [nyae]? y
...

Вы можете включить его следующей строкой .zshrc:

# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
Graipher
источник
это может быть сделано автоматически? я знаю, что это вызывает проблемы, mr fr- ./ -oe--rvoeorrpne-st->zsh: automatically correcting to rm -rf / --no-preserve-root
кошка
1
@ Cat Не так далеко, как я знаю. Причина, которую вы привели, - это одна из причин, но она также помешает вам делать законные вещи, например mv file1 file1.old, потому что это исправит второе имя файла к первому, сделав его неактивным.
Graipher
1
TSCH тоже это делает.
Питер - Восстановить Монику
11

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

https://opendyslexic.org/

  1. Скачать это.
  2. Установите шрифт.
  3. Откройте терминал, перейдите к строке меню и выберите «Правка» -> «Настройки профиля».
  4. Включите пользовательский шрифт и выберите открытый монолитный шрифт с дислексией.
HSchmale
источник
Установка может быть сделана с sudo apt install fonts-opendyslexic.
Чай Т. Рекс
2

Чтобы завершить ответ @pomsky, я хотел бы добавить несколько моментов:

  • Узнайте, как автоматизировать вещи, особенно узнать, как forработают циклы, как readработает, как ifработает, что [ ]и [[ ]], как использовать неофициальный строгий режим bash , потому что, как только скрипт работает, легче не совершать ошибок.

  • если вы можете, установите пакет bash-complete (может иметь разные имена в зависимости от версии)

  • Используйте rmс -iвыключателем, когда в опасных ситуациях (например, с sudo), или, возможно, установите и используйте rmtrash(который будет мусор в мусор)

  • Используйте cpс -nпереключателем, который не будет перезаписывать существующие файлы при копировании. (Конечно, полезнее при рекурсивном копировании)

  • Узнайте, как использовать ~/.bashrcфайл, он может сделать $PS1переменную более понятной для вас.

И, может быть, самое сложное, если вы молоды

  • Постарайтесь узнать немного лучше о современных и распространенных инструментах того, что вы делаете.

    • Например, если вы студент, изучающий, как развиваться с c ++, попробуйте установить $CXXFLAGSв вашем ~/.bashrc. (Например: в export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "соответствии с вашей версией c ++, конечно, так что я предполагаю, что c ++ 11 для ubuntu), затем скомпилируйте make main.cppи ваши параметры будут перенесены. Обратите внимание, что этот набор параметров довольно резок: все правильное и стандартное будет восприниматься как ошибка и не позволит вам скомпилировать.
Пьер-Антуан Гийом
источник
2

Попробуйте "FISH" Дружественную интерактивную оболочку. Доступно в репозиториях.

Я имел обыкновение бороться с командной строкой, используя BASH. Рыба запоминает все последние команды и предлагает завершение. sudo может установить рыбу, затем в bash-типе; рыбы. Если вам это нравится, посмотрите инструкции о том, как сделать его оболочкой по умолчанию. Есть другие доступные оболочки; РЫБА - мой выбор Как только вы начнете, вам это может понравиться.

user73028
источник
2

Я узнал, что у меня дислексия после того, как я много лет работал инженером Unix и опытным пользователем оболочки на разных платформах (Linux, AIX и Solaris).

Дислексия влияет на разных людей в разной степени, поэтому предположение о том, что «мы видим вещи не по порядку» может быть чрезмерно упрощенным и разочаровывающим, если это не повлияет на вас таким образом - я на самом деле считаю шрифт фиксированной ширины терминалов по умолчанию очень удобочитаемым ( белое на черном мне кажется приятным)

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

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

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

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

Я полагаю, что за исключением ответов о завершении вкладок и ключевых рекомендаций, большинство ответов только сделает этот процесс еще более ошеломляющим. Игнорируй их. Упрощение является ключом

Аластер МакКормак
источник
2

Есть инструмент, который сидит между шуткой и бесценным помощником.

https://github.com/nvbn/thefuck

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

Это не серебряная пуля, но, возможно, стоит попробовать.

MariusSiuram
источник