在我的ElementaryOS系统中,/usr/bin目录下有2029个可执行文件。虽然我只用了一小部分,但我怎么能记住这部分呢?--JackWallen本文导航-Bash命令历史...20%-apropos...46%-Fish...61%-Keeplearning...89%编译自:https://www.linux.com/learn/intro-to-linux/2017/10/3-tools-help-you-remember-linux-commands作者:JackWallen译者:zpl1025Linux桌面从其不起眼的开始已经走过了漫长的道路。在我使用Linux的早期,掌握命令行是必不可少的——即使是在桌面上也是如此。但是现在变了,很多人可能永远不会用命令行了。但对于Linux系统管理员来说,情况并非如此。事实上,命令行仍然是任何Linux管理员的必备工具,无论是服务器还是桌面。从管理您的网络到系统安全,再到应用程序和系统设置-没有任何工具比命令行更强大。但是,实际上……你可以在Linux系统中找到很多命令。比如只看/usr/bin目录,可以发现很多命令执行文件(可以运行ls/usr/bin/|wc-l查看你系统中这个目录下有多少命令)。当然,它们并不都是用户的可执行文件,但它们可以让你感受到Linux命令的数量。在我的ElementaryOS系统中,/usr/bin目录下有2029个可执行文件。虽然我只用了一小部分,但我怎么能记住这部分呢?幸运的是,您可以使用一些工具和技巧,这样您就不必每天费力地记住这些命令。我想与您分享其中的一些小技巧,希望您能够更有效地使用命令行(顺便节省一些脑力)。我们从一个内置工具开始,然后转向两个可以安装的非常有用的程序。Bash命令历史无论您是否知道,Bash(最流行的Linuxshell)都会保留您执行过的命令的历史记录。想看看它的实际效果吗?有两种方法。打开终端窗口并按向上箭头键。您应该会看到命令一个接一个地出现。找到要使用的命令后,可以不修改直接按回车键执行,也可以修改后再按回车键。这是重新执行(或修改并重新执行)先前运行的命令的好方法。我经常使用此功能。它不仅让我不必记住命令的所有细节,而且还让我不必一遍又一遍地输入相同的命令。说到Bash的命令历史,如果你执行命令历史,你可以列出你过去执行过的命令(图1)。图1:你能找到我输入的命令中的错误吗?你的Bash命令历史保存的历史命令的数量可以在~/.bashrc文件中设置。在这个文件中,可以找到如下两行:HISTSIZE=1000HISTFILESIZE=2000HISTSIZE是命令历史列表中记录的最大命令数,HISTFILESIZE是命令历史文件中的最大行数。显然,默认情况下,Bash会记录您的1000条命令历史记录。这已经很多了。有时,这也被认为是安全漏洞。如果您愿意,可以随意降低此值,以平衡安全性和实用性。如果你不想让Bash记录你的命令历史,你可以将HISTSIZE设置为0。如果你修改了~/.bashrc文件,记得注销并重新登录(否则更改不会生效)。apropos这是我要介绍的第一个可以帮助你记住Linux命令的工具。apropos(意思是“关于”)可以搜索Linux帮助文档来帮助你找到你想要的命令。例如,您不记得您的发行版使用了哪些防火墙工具。您可以键入apropos“firewall”,该工具将返回相关命令(图2)。图2:您使用的是什么防火墙?如果您需要一个命令来操作目录,但您不知道使用哪个命令怎么办?键入适当的“directory”将在其帮助文档中列出所有包含字符“directory”的命令(图3)。图3:可以操作目录的工具有哪些?几乎所有的Linux发行版都默认安装了apropos工具。Fish还有另一个很棒的工具可以帮助您记住命令。Fish是Linux/Unix/MacOS的命令行shell,具有一些不错的特性。VGA颜色的自动建议出色的脚本支持基于Web的配置自动完成帮助文档语法突出显示和更多自动建议功能使fish非常方便(尤其是当您不记得某些命令时)。您可能认为这很好,但默认情况下并未安装fish。对于Ubuntu(及其衍生版本),您可以使用以下命令安装它:sudoapt-add-repositoryppa:fish-shell/release-2sudoaptupdatesudoaptinstallfish对于CentOS类系统,您可以像这样安装fish。使用以下命令添加仓库:sudo-scd/etc/yum.repos.d/wget//download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo使用以下命令更新存储库:yumrepolistyumupdate然后使用以下命令安装fish:yuminstallfishfish它可能不像您想象的那么直观。请记住,fish是一个shell,因此您必须先登录才能使用命令。在您的终端中,运行命令fish,您将看到您打开了一个新的shell(图4)。图4:fish的交互式外壳。当您开始输入命令时,fish会自动完成该命令。如果建议的命令不是您要查找的命令,请按键盘的Tab键浏览更多选项。如果这正是您想要的,请按键盘的右箭头键完成命令,然后按Enter键执行它。使用fish后,键入exit退出shell。Fish可以做的更多,但这里只是帮助你记住命令的介绍,自动推荐功能就足够了。继续学习Linux上的命令非常多。但是您也不必记住所有命令。多亏了Bash的命令历史记录和apropos和fish等工具,您不必占用太多内存来回忆帮助您完成任务的命令。来自:https://www.linux.com/learn/intro-to-linux/2017/10/3-tools-help-you-remember-linux-commands作者:JACKWALLEN[1]译者:zpl1025校对:wxy本文由LCTT原创编译,LinuxChinaHonor发布
