Я новичок в Linux и, будучи дислексиком, считаю, что работать из командной строки - это непростая задача. Какие вспомогательные средства или советы помогут решить эту проблему?
command-line
accessibility
Дейл Дэвидсон
источник
источник
Ответы:
Вы можете попробовать несколько вещей, чтобы улучшить ваш опыт работы с командной строкой.
mkdir
послеcd
).history
, вы можете просмотреть историю команд, а затем использовать номер исторической команды для повторного выполнения команды (например, повторить команду # 352 с!352
). Псевдоним это простоh
для быстрого и легкого доступа.ls
Например, когда вы используете список содержимого каталога, подкаталоги печатаются синим цветом, а имена файлов печатаются белым, что облегчает их различение. Для других примеров посмотрите на многие персонализации, которыми люди поделились. Некоторым обязательно стоит попробовать «как есть». Хорошей отправной точкой является популярный репозиторий Awesome dotfiles .источник
!352
вместоhistory 352
, не так ли?Я попытаюсь дать исчерпывающий ответ. Если я что-то пропустил, пожалуйста, прокомментируйте, и я добавлю это.
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
, оно скорее расширено ,bash
как описано в EXPANSION / Tilde Expansion inman bash
-~
расширено$HOME
, например ,~+
до$PWD
и~-
до$OLDPWD
. Вы можете установить, например,alias ~='cd ~'
и очень полезно быстро вернуться к домашнему каталогу, но это полностью отличается (и не повредит) расширению.man bash
есть целый разделEXPANSION
... Вы уже рассмотрели немного расширения пути...
и.
; например,cd ..
фактически удаляет последний сегмент пути из текущего рабочего каталога, а не добавляет..
сегмент.Оболочка Zsh (или, по крайней мере, версия, которую я использую, Oh-my-ZSH ) имеет функцию, которая исправляет вас, если вы делаете небольшие опечатки в именах команд и файлов:
Вы можете включить его следующей строкой
.zshrc
:источник
mr fr- ./ -oe--rvoeorrpne-st
->zsh: automatically correcting to rm -rf / --no-preserve-root
mv file1 file1.old
, потому что это исправит второе имя файла к первому, сделав его неактивным.Вы можете попробовать использовать шрифт с открытой дислексией в вашем терминале. Это может помочь с чтением текста. Это предполагает, что вы используете терминал Ubuntu по умолчанию, который, я надеюсь, такой же, как терминал GNOME.
https://opendyslexic.org/
источник
sudo apt install fonts-opendyslexic
.Чтобы завершить ответ @pomsky, я хотел бы добавить несколько моментов:
Узнайте, как автоматизировать вещи, особенно узнать, как
for
работают циклы, какread
работает, какif
работает, что[ ]
и[[ ]]
, как использовать неофициальный строгий режим bash , потому что, как только скрипт работает, легче не совершать ошибок.если вы можете, установите пакет bash-complete (может иметь разные имена в зависимости от версии)
Используйте
rm
с-i
выключателем, когда в опасных ситуациях (например, сsudo
), или, возможно, установите и используйтеrmtrash
(который будет мусор в мусор)Используйте
cp
с-n
переключателем, который не будет перезаписывать существующие файлы при копировании. (Конечно, полезнее при рекурсивном копировании)Узнайте, как использовать
~/.bashrc
файл, он может сделать$PS1
переменную более понятной для вас.И, может быть, самое сложное, если вы молоды
Постарайтесь узнать немного лучше о современных и распространенных инструментах того, что вы делаете.
$CXXFLAGS
в вашем~/.bashrc
. (Например: вexport CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "
соответствии с вашей версией c ++, конечно, так что я предполагаю, что c ++ 11 для ubuntu), затем скомпилируйтеmake main.cpp
и ваши параметры будут перенесены. Обратите внимание, что этот набор параметров довольно резок: все правильное и стандартное будет восприниматься как ошибка и не позволит вам скомпилировать.источник
Попробуйте "FISH" Дружественную интерактивную оболочку. Доступно в репозиториях.
Я имел обыкновение бороться с командной строкой, используя BASH. Рыба запоминает все последние команды и предлагает завершение. sudo может установить рыбу, затем в bash-типе; рыбы. Если вам это нравится, посмотрите инструкции о том, как сделать его оболочкой по умолчанию. Есть другие доступные оболочки; РЫБА - мой выбор Как только вы начнете, вам это может понравиться.
источник
Я узнал, что у меня дислексия после того, как я много лет работал инженером Unix и опытным пользователем оболочки на разных платформах (Linux, AIX и Solaris).
Дислексия влияет на разных людей в разной степени, поэтому предположение о том, что «мы видим вещи не по порядку» может быть чрезмерно упрощенным и разочаровывающим, если это не повлияет на вас таким образом - я на самом деле считаю шрифт фиксированной ширины терминалов по умолчанию очень удобочитаемым ( белое на черном мне кажется приятным)
Оболочки сложны в изучении с множеством аббревиатур и не интуитивно понятных правил навигации, что часто затрудняет их изучение для людей, которым нравятся простые слова с регулярными шаблонами.
Теперь я понимаю, что большинство дислексиков учатся и запоминают на собственном опыте. Мы очень слабы в механическом обучении или поглощении многословной теории. Однако, как только мы усвоим теорию по приложениям, она, как правило, быстро придерживается глубокого внутреннего понимания. Для этого сфокусируйтесь на поиске примеров оболочки и их опробовании, набирая их от руки и понимая, что делает каждая строка. Экспериментируйте, ломайте вещи, не спите всю ночь, ремонтируя их.
Со временем вы будете помнить все больше и больше команд и шаблонов мест, в которых разработчики реализовывали свои программы, которые можно применить к следующей команде. Однако не все команды следуют одинаковым соглашениям при передаче аргументов / параметров, поэтому для изучения команд, которые похожи, потребуется некоторое время.
Как и все остальные, через несколько лет это станет второй натурой. Однако со временем вы можете получить преимущество в дислексии, когда вы интуитивно знаете, как находить решения и выполнять сложный анализ первопричин, используя свою 6-ую чувственную способность обнаруживать закономерности или разрывы в узорах.
Я полагаю, что за исключением ответов о завершении вкладок и ключевых рекомендаций, большинство ответов только сделает этот процесс еще более ошеломляющим. Игнорируй их. Упрощение является ключом
источник
Есть инструмент, который сидит между шуткой и бесценным помощником.
https://github.com/nvbn/thefuck
Вы можете попробовать это в дополнение к другим рекомендациям в этой теме. Основная идея заключается в том, что когда вы напишите что-нибудь и получите неизвестную команду или что-то еще, этот инструмент исправит и повторно выполнит ее.
Это не серебряная пуля, но, возможно, стоит попробовать.
источник