我是Linux的新手,阅读困难,发现在命令行中工作是一个挑战。有哪些帮助或建议可帮助解决此问题?
我是Linux的新手,阅读困难,发现在命令行中工作是一个挑战。有哪些帮助或建议可帮助解决此问题?
Answers:
您可以尝试一些方法来改善命令行体验。
mkdir
后跟很有用cd
)。history
,您可以查看命令历史记录,然后使用历史记录命令的编号重新执行该命令(例如,使用来重做命令#352 !352
)。别名只是h
为了快速,轻松地访问。ls
例如,当您用于列出目录的内容时,子目录以蓝色打印,文件名以白色打印,这使得区分两者更加容易。对于其他示例,请查看人们共享的许多个性化设置。有些人肯定值得“照原样”尝试。一个很好的起点是流行的Awesome dotfiles存储库。!352
代替history 352
,innit吗?
我将尝试一个全面的答案。如果我遗漏了一些内容,请发表评论,然后将其添加。
制表符完成是您最大的帮助。按下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'
然后重新登录以激活它们。
~
不是一个alias
,这是相当膨胀通过bash
在如所描述的膨胀/波浪线扩展中man bash
- ~
被扩展为$HOME
,~+
以$PWD
及~-
到$OLDPWD
例如。您实际上可以设置eg,alias ~='cd ~'
并且快速返回到主目录非常有用,但这与扩展完全不同(并且不会损害)。
man bash
有一个完整的部分EXPANSION
……您已经介绍了一些路径名扩展。
..
and 有一些特殊的支持.
;例如,cd ..
实际上是从当前工作目录中删除最后一个路径段,而不是添加一个..
段。
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
mv file1 file1.old
,因为它将第二个文件名更正为第一个文件名,从而使其成为空操作。
您可以尝试在终端中使用开放阅读障碍字体。它可能有助于阅读文本。假设您使用的是默认的ubuntu终端,我希望它与GNOME终端相同。
sudo apt install fonts-opendyslexic
。
为了完成@pomsky的答案,我想补充一点:
学习如何使事情自动化,特别是学习for
循环如何工作,如何read
工作,如何if
工作,什么是[ ]
和[[ ]]
使用非官方的bash严格模式,因为一旦脚本有效,就更容易出错。
如果可以,请安装 bash-completion软件包(根据版本可能带有不同的名称)
使用rm
与-i
在危险情况下,当开关(像sudo
),或者可能安装和使用rmtrash
(将垃圾放入垃圾桶中)
cp
与-n
开关一起使用,在复制时不会覆盖现有文件。(当然,在递归复制时更有用)
了解如何使用~/.bashrc
文件,它可以使$PS1
变量更清晰。
如果您年轻,也许是最难的:
尝试更好地了解您正在做什么的最新技术和通用工具。
$CXXFLAGS
中设置~/.bashrc
。(例如:export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "
根据您的c ++版本,当然,我猜是ubuntu的c ++ 11),然后进行编译,make main.cpp
您的选项将被保留。请注意,这套选项相当苛刻:一切正确和标准的操作都将被视为错误并阻止您进行编译。我是一名Unix工程师并且是在许多不同平台(Linux,AIX和Solaris)上熟练的Shell用户使用多年之后,发现自己患有阅读障碍症。
阅读障碍会在不同程度上影响不同的人,因此“如果我们不按顺序看东西”的假设可能会过于简化和令人沮丧(如果它不会以这种方式影响您的话)-我发现终端的默认固定宽度字体非常易读(黑底白字对我来说似乎很好)
使用许多首字母缩写词和不直观的约定来导航时,很难学习Shell,这对于喜欢使用常规模式的简单单词的人来说,通常很难学习。
我现在了解到,大多数阅读障碍者都是从第一手经验中学习和记忆的。我们在死记硬背或消耗大量冗长的理论方面很差劲。但是,一旦我们通过应用对理论进行了消化,它通常会以深刻的内在理解迅速发展。为此,着重于查找shell示例并通过手动键入它们并理解每一行的功能来对其进行尝试。实验,打破事物,熬夜整顿。
随着时间的流逝,您会记住越来越多的命令和现场模式,它们是开发人员实现其程序的方式,可以将其应用于下一个命令。但是,并不是所有命令在传递参数/参数时都遵循相同的约定,因此学习类似的命令将花费一些时间。
像其他任何人一样,几年后它将成为第二天性。但是,随着时间的流逝,您可能会获得阅读障碍的优势,您可以凭直觉知道如何解决问题,并使用类似第六感的能力来发现模式或模式中断,从而执行复杂的根本原因分析。
除了制表符补全和向上键建议以外,我发现大多数答案只会使体验变得更加压倒一切。别管他们。简化是关键
有一个工具,介于玩笑和无价助手之间。
https://github.com/nvbn/thefuck
您可以在此线程中尝试其他建议。主要思想是当您写一些东西并收到未知命令或其他命令时,此工具将更正并重新执行它。
这不是灵丹妙药,但也许值得尝试。