阅读障碍的命令行用法


57

我是Linux的新手,阅读困难,发现在命令行中工作是一个挑战。有哪些帮助或建议可帮助解决此问题?


4
当您将文件拖到终端时,它将自动打印完整路径。当您按向上箭头键时,它将自动打印最后一条命令。
karel

21
这是一个很好的问题,但是我很难想象您的问题是什么。请编辑并解释您最大的挑战是什么。可能的解决方案可能比您想象的要简单(请参阅其他评论)。
甜点

6
键盘快捷键有很大帮助,请在此处找到有用的快捷键:askubuntu.com/q/45521/507051askubuntu.com/q/444708/507051
甜点

4
为了节省时间,输入文件的长路径时,我将文件的图标拖到终端中以打印文件的路径,然后将其复制/粘贴到下一个命令中。
karel

3
Zsh实际上可以自动更正命令名称中交换的字母!(手册页中提供了更多信息。)
SilverWolf

Answers:


90

您可以尝试一些方法来改善命令行体验。

  1. 尽可能使用制表符补全(通过按来自动填写部分键入的命令Tab)。
  2. (向上箭头键)自动打印上一条命令,并按住(向上和向下箭头键)在命令历史记录之间循环。
  3. 将文件拖到终端中以自动打印完整路径。
  4. Alt+ .(点)可插入您执行的最后一个命令的最后一个参数(例如对于mkdir后跟很有用cd)。
  5. 使用键盘快捷键(请参阅)。
  6. 使用Bash别名(请参阅thisthis)。
  7. 使用history,您可以查看命令历史记录,然后使用历史记录命令的编号重新执行该命令(例如,使用来重做命令#352 !352)。别名只是h为了快速,轻松地访问。
  8. 使用反向终端搜索(Ctrl+ R,然后开始键入)以匹配先前的命令;这是较早发现事物的快速方法。
  9. 使用可完成命令和可选参数(例如Zshfish)的外壳。
  10. 在终端中使用一种字体,以增加阅读障碍者的可读性,例如“ OpenDyslexic ”。
  11. 阅读时听到屏幕上的内容;启用Orca这样的屏幕阅读器。您可以让它仅读取一个单词,整个页面,逐个字母拼出单词,更改速度,音量,详细程度等。
  12. 阅读时放大屏幕的一部分;查看使用键盘快捷键缩放的应用,例如Magnifier
  13. 高级:个性化输出的显示方式,例如设置条件文本颜色。默认的Ubuntu发行版对Terminal进行了一些增强。ls例如,当您用于列出目录的内容时,子目录以蓝色打印,文件名以白色打印,这使得区分两者更加容易。对于其他示例,请查看人们共享的许多个性化设置。有些人肯定值得“照原样”尝试。一个很好的起点是流行的Awesome dotfiles存储库。

1
@flith应该!352代替history 352,innit吗?
pomsky '18

2
到目前为止,我已更改为阅读困难的字体,并在终端中启用了颜色。这有助于阅读和一些头痛。仍在研究Ubuntu Unleashed和Linux Bible。Vim和其他一些编辑器可能会提供一些答案。
戴尔·戴维森

Ctrl + R-我以前从未见过。这是非常有用的
Noel Evans

16

我将尝试一个全面的答案。如果我遗漏了一些内容,请发表评论,然后将其添加。

Tab 完成

制表符完成是您最大的帮助。按下Tab将尽可能唯一地完成命令。按Tab两次将给出一个选项列表。键入足够多的角色来确定您想要的选项,然后再按Tab一次即可完成。这也适用于路径/文件名。

例如,假设我有一个名为Paul的用户,并且他的“下载”文件夹中有文件text123.txt和text124.txt:

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

路径/文件名扩展

自动补全还接受通配符*??匹配一个字符,然后*匹配所有字符(或不匹配)。使用上面的示例,我可以输入:

/h*/P*/Dow*/t*4*然后Tabbash会给我的/home/Paul/Downloads/text124.txt。如果我确定匹配的文件正确,则可以直接Enter执行该命令,而无需先对其进行扩展。

一些常见的目录引用是:

  • ~ 为您的主目录。
  • .. 上级目录
  • .当前目录;如果您绝对要确保bash出现在正确的目录中。

键盘快捷键

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

别名

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

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

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


4
~不是一个alias,这是相当膨胀通过bash在如所描述的膨胀/波浪线扩展中man bash - ~被扩展为$HOME~+$PWD~-$OLDPWD例如。您实际上可以设置eg,alias ~='cd ~'并且快速返回到主目录非常有用,但这与扩展完全不同(并且不会损害)。
甜点

好了,man bash有一个完整的部分EXPANSION……您已经介绍了一些路径名扩展。
甜点

在我的系统上,我似乎无法在CLI中使用其他大多数扩展。但是,我将进行重组以修正波浪号的解释。
ravery

1
@WJAndrea:shell确实对..and 有一些特殊的支持.;例如,cd ..实际上是从当前工作目录中删除最后一个路径段,而不是添加一个..段。
ruakh

1
@WJAndrea和ravery:Ctrl + G退出以Ctrl + R开头的命令历史记录搜索。启动后,只需键入命令的开头,它将显示最新匹配的命令。使用Ctrl + R浏览匹配的命令,使用Enter运行命令,或使用可更改光标位置的键(例如Home,End,箭头等)对其进行编辑。如果您要查找最近的命令,则此搜索模式非常有帮助它的名字-试试吧,它会让您大吃一惊。;)
甜点

12

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"

可以自动吗?我知道它在麻烦,mr fr- ./ -oe--rvoeorrpne-st->zsh: automatically correcting to rm -rf / --no-preserve-root
cat

1
@cat据我所知。您给出的原因是这样做的一个原因,但是它也会阻止您进行诸如之类的合法操作mv file1 file1.old,因为它将第二个文件名更正为第一个文件名,从而使其成为空操作。
Graipher

1
tcsh也这样做。
彼得-恢复莫妮卡

11

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

https://opendyslexic.org/

  1. 下载它。
  2. 安装字体。
  3. 打开终端,导航到菜单栏,然后​​选择“编辑”->“配置文件首选项”
  4. 打开自定义字体,然后选择打开的阅读困难的单声道字体。

可以使用安装sudo apt install fonts-opendyslexic
Chai T. Rex

2

为了完成@pomsky的答案,我想补充一点:

  • 学习如何使事情自动化,特别是学习for循环如何工作,如何read工作,如何if工作,什么是[ ][[ ]]使用非官方的bash严格模式,因为一旦脚本有效,就更容易出错。

  • 如果可以,请安装 bash-completion软件包(根据版本可能带有不同的名称)

  • 使用rm-i在危险情况下,当开关(像sudo),或者可能安装和使用rmtrash(将垃圾放入垃圾桶中)

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

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

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

  • 尝试更好地了解您正在做什么的最新技术和通用工具。

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

2

尝试“ FISH”友好的交互式外壳。在回购中可用。

我曾经在使用BASH的命令行中苦苦挣扎。Fish会记住所有最后的命令并提供完成。sudo apt然后以bash类型安装fish;鱼。如果您喜欢它,请查阅有关如何使其成为默认外壳的说明。还有其他可用的外壳。鱼是我的选择。一旦开始,您可能会喜欢。


2

我是一名Unix工程师并且是在许多不同平台(Linux,AIX和Solaris)上熟练的Shell用户使用多年之后,发现自己患有阅读障碍症。

阅读障碍会在不同程度上影响不同的人,因此“如果我们不按顺序看东西”的假设可能会过于简化和令人沮丧(如果它不会以这种方式影响您的话)-我发现终端的默认固定宽度字体非常易读(黑底白字对我来说似乎很好)

使用许多首字母缩写词和不直观的约定来导航时,很难学习Shell,这对于喜欢使用常规模式的简单单词的人来说,通常很难学习。

我现在了解到,大多数阅读障碍者都是从第一手经验中学习和记忆的。我们在死记硬背或消耗大量冗长的理论方面很差劲。但是,一旦我们通过应用对理论进行了消化,它通常会以深刻的内在理解迅速发展。为此,着重于查找shell示例并通过手动键入它们并理解每一行的功能来对其进行尝试。实验,打破事物,熬夜整顿。

随着时间的流逝,您会记住越来越多的命令和现场模式,它们是开发人员实现其程序的方式,可以将其应用于下一个命令。但是,并不是所有命令在传递参数/参数时都遵循相同的约定,因此学习类似的命令将花费一些时间。

像其他任何人一样,几年后它将成为第二天性。但是,随着时间的流逝,您可能会获得阅读障碍的优势,您可以凭直觉知道如何解决问题,并使用类似第六感的能力来发现模式或模式中断,从而执行复杂的根本原因分析。

除了制表符补全和向上键建议以外,我发现大多数答案只会使体验变得更加压倒一切。别管他们。简化是关键


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.