当前位置: 首页>>技术问答>>正文


命令行使用与阅读障碍

, ,

问题描述

我是Linux的新手,患有阅读障碍者,发现从命令行工作是一项挑战。有哪些帮助或建议可以帮助解决这个问题?

最佳解决方法

您可以尝试使用命令行来改善体验。

  1. 尽可能使用tab completion(通过按Tab自动填写部分键入的命令)。

  2. (向上箭头键)自动打印最后一个命令,并按住& (向上和向下箭头键)循环显示命令历史记录。

  3. 将文件拖到终端中以自动打印完整路径。

  4. Alt + .(点)以插入您执行的最后一个命令的最后一个参数(对于例如mkdir,后面跟cd有用)。

  5. 使用键盘快捷键(请参阅thisthis)。

  6. 使用Bash别名(请参阅this我如何创建一个永久的Bash别名?)。

  7. 使用history,您可以使用view the command history然后使用历史命令的编号来命令re-execute(例如,使用!352重做命令#352)。将其简化为h,以便快速轻松地访问。

  8. 使用反向终端搜索(Ctrl + R,然后开始键入)以匹配先前的命令;这是从早期发现事物的快捷方式。

  9. 使用完成命令和可选参数的shell,例如Zshfish

  10. 使用font which increases readability for readers with dyslexia,例如终端中的“OpenDyslexic”。

  11. 在阅读时听到屏幕上的内容;启用像Orca这样的屏幕阅读器。你可以让它只读一个单词,一整页,逐字拼出单词,改变速度,音量,细节等等。

  12. 在阅读时放大屏幕的一部分;看一下使用键盘快捷键缩放的应用程序,例如Magnifier

  13. 高级:个性化输出显示的方式,如设置条件文本颜色。默认的Ubuntu发行版为终端提供了一些增强功能。例如,当您使用ls列出目录的内容时,子目录以蓝色打印,文件名以白色打印,从而更容易区分这两者。对于其他示例,请查看人们共享的许多个性化设置。有些肯定值得尝试”as is”。一个很好的起点是流行的Awesome dotfiles存储库。

次佳解决方法

我会尝试一个全面的答案。如果我遗漏了一些东西,请发表评论,然后我会添加它。

Tab完成

标签完成是您最大的帮助。按Tab将完成命令,直到唯一可识别。按两次Tab将给出一个选项列表。键入足够的字符以标识所需的选项并再次按Tab将完成它。这也适用于路径/文件名。

例如,假设我有一个名为Paul的用户,他的Downloads文件夹中有文件text123.txt和text124.txt:

我可以输入/h Tab,bash会给我/home/。然后键入P Tab并得到/home/Paul/。并以这种方式继续,直到我有完整的文件和路径。

路径/文件名扩展

Auto-completion也接受通配符*??匹配单个字符,*匹配所有字符(或无)。使用上面的例子,我可以输入:

/h*/P*/Dow*/t*4*然后Tab和bash将给我/home/Paul/Downloads/text124.txt。如果我确定我匹配正确的文件,我可以点击Enter执行命令而不先扩展它。

一些常见的目录引用是:

  • ~为您的主目录。

  • ..父目录

  • .当前目录;如果你想绝对确定bash在正确的目录中查找。

键盘快捷键

向上箭头和向下箭头键可让您浏览最近使用的命令列表。按Ctrl + G以退出历史搜索模式。 Alt + .重复上一个命令的最后一个参数。

Aliases

Bash允许您指定别名。如果您发现经常以相同的方式错误输入命令,则可以通过编辑~/.bashrc并添加如下行来添加自定义别名:

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

然后重新登录以激活它们。

第三种解决方法

Zsh shell(或至少我正在使用的版本,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"

第四种方法

您可以尝试在终端中使用开放的阅读障碍字体。阅读文本可能会有所帮助。这假设您正在使用默认的ubuntu终端,我希望它与GNOME终端相同。

https://opendyslexic.org/

  1. 下载它。

  2. 安装字体。

  3. 打开终端导航到菜单栏并选择编辑 – >配置文件首选项

  4. 打开自定义字体并选择打开的阅读困难单声道字体。

第五种方法

要完成@pomsky的回答,我想补充一点:

  • 学习如何自动化,特别是了解for循环如何工作,read如何工作,if如何工作,[ ][[ ]]是什么,使用unofficial bash strict mode,因为一旦脚本有效,就更容易出错。

  • 如果可以的话,安装bash-completion package(根据版本可以有不同的名称)

  • 在危险情况下(如sudo)使用rm-i开关,或者安装和使用rmtrash(将垃圾放入垃圾箱)

  • cp-n开关一起使用,复制时不会覆盖现有文件。 (当然,递归复制时更有用)

  • 了解如何使用~/.bashrc文件,它可以使$PS1变量更加清晰。

如果你还年轻,也许是最难的:

  • 尝试更好地了解state-of-the艺术和您正在做的常用工具。

    • 例如,如果您是学习如何使用c ++开发的学生,请尝试在~/.bashrc中设置$CXXFLAGS。 (例如:export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "当然根据你的c ++版本,所以我猜c ++ 11为ubuntu),然后使用make main.cpp进行编译,你的选项将继续使用。请注意,这组选项非常苛刻:一切正确和标准将被视为错误并阻止您编译。

第六种方法

试试”FISH”友好的交互式shell。可在repos中使用。

我曾经使用BASH与命令行斗争。 Fish会记住所有最后的命令并提供完成功能。 sudo apt然后用bash类型安装鱼;鱼。如果你喜欢它,请查看如何将其作为默认shell的说明。还有其他炮弹; FISH是我的选择。一旦开始,你可能会喜欢它。

第七种方法

我在很多不同的平台(Linux,AIX和Solaris)上成为一名Unix工程师和熟练的shell用户后,我才知道自己是阅读障碍者。

阅读困难会不同程度地影响不同的人,所以“我们看到的东西乱序”的假设可能过度简化和令人沮丧,如果它不会影响你那样 – 我实际上发现默认的fixed-width终端字体非常易读(white-on-black似乎对我好)

Shell 很难用很多首字母缩略词和不直观的导航习惯来学习,这往往使得那些喜欢用常规模式表达简单单词的人很难学习。

我现在明白,大多数阅读障碍者都会从first-hand的经验中学习和 memory 。我们在死记硬背的学习或消耗大量的罗嗦理论方面非常匮乏。然而,一旦我们通过应用消化了理论,它通常会以一种深刻的内在理解而迅速发展。为此,专注于查找shell示例并通过手动输入并了解每行的功能来尝试它们。试验,打破东西,熬夜整理它。

随着时间的推移,你会记住越来越多的命令和点模式,开发人员已经实现了可以应用于下一个命令的程序。但是,在传递参数/参数时,并非所有命令都遵循相同的约定,因此需要一段时间才能学习相似的命令。

像其他人一样,几年后它将成为第二天性。然而,随着时间的推移,您可能会获得阅读困难的优势,您可以直观地了解如何使用第6个sense-like识别模式或模式中断的方法来解决解决方案并执行复杂的root-cause分析。

除了tab-completion和关键建议之外,我发现大多数答案只会让体验更加压倒性。别理他们。简化是关键

第八种方法

有一个工具,它位于一个笑话和一个无价的助手之间。

https://github.com/nvbn/thefuck

除了此主题中的其他建议外,您还可以尝试它。主要的想法是,当你写一些东西并接收未知的命令或其他什么时,这个工具将纠正​​和re-execute它。

它不是一颗银弹,但可能值得一试。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1261.html,未经允许,请勿转载。