记不住 Linux 命令?这三个工具可以帮你(linux记不住命令)

admin3年前云主机62

Linux 桌面从开始的简陋到现在走了很长的路。在我早期使用 Linux 的那段日子里,掌握命令行是最基本的 —— 即使是在桌面版。不过现在变了,很多人可能从没用过命令行。但对于 Linux 系统管理员来说,可不能这样。实际上,对于任何 Linux 管理员(不管是服务器还是桌面),命令行仍是必须的。从管理网络到系统安全,再到应用和系统设定 —— 没有什么工具比命令行更强大。

但是,实际上……你可以在 Linux 系统里找到非常多命令。比如只看 /usr/bin 目录,你就可以找到很多命令执行文件(你可以运行 ls/usr/bin/ | wc -l 看一下你的系统里这个目录下到底有多少命令)。当然,它们并不全是针对用户的执行文件,但是可以让你感受下 Linux 命令数量。在我的 Elementary OS 系统里,目录 /usr/bin 下有 2029 个可执行文件。尽管我只会用到其中的一小部分,我要怎么才能记住这一部分呢?

幸运的是,你可以使用一些工具和技巧,这样你就不用每天挣扎着去记忆这些命令了。我想和大家分享几个这样的小技巧,希望能让你们能稍微有效地使用命令行(顺便节省点脑力)。

我们从一个系统内置的工具开始介绍,然后再介绍两个可以安装的非常实用的程序。

Bash 命令历史

不管你知不知道,Bash(最流行的 Linux shell)会保留你执行过的命令的历史。想实际操作下看看吗?有两种方式。打开终端窗口然后按向上方向键。你应该可以看到会有命令出现,一个接一个。一旦你找到了想用的命令,不用修改的话,可以直接按 Enter 键执行,或者修改后再按 Enter 键。

要重新执行(或修改一下再执行)之前运行过的命令,这是一个很好的方式。我经常用这个功能。它不仅仅让我不用去记忆一个命令的所有细节,而且可以不用一遍遍重复地输入同样的命令。

说到 Bash 的命令历史,如果你执行命令 history,你可以列出你过去执行过的命令列表(图 1)。

图 1: 你能找到我敲的命令里的错误吗?

你的 Bash 命令历史保存的历史命令的数量可以在 ~/.bashrc 文件里设置。在这个文件里,你可以找到下面两行:

HISTSIZE=1000

HISTFILESIZE=2000

HISTSIZE 是命令历史列表里记录的命令的最大数量,而 HISTFILESIZE 是命令历史文件的最大行数。

显然,默认情况下,Bash 会记录你的 1000 条历史命令。这已经很多了。有时候,这也被认为是一个安全漏洞。如果你在意的话,你可以随意减小这个数值,在安全性和实用性之间平衡。如果你不希望 Bash 记录你的命令历史,可以将 HISTSIZE 设置为 0。

如果你修改了 ~/.bashrc 文件,记得要登出后再重新登录(否则改动不会生效)。

apropos

这是第一个我要介绍的工具,可以帮助你记忆 Linux 命令。apropos (意即“关于”)能够搜索 Linux 帮助文档来帮你找到你想要的命令。比如说,你不记得你用的发行版用的什么防火墙工具了。你可以输入 apropos “firewall” ,然后这个工具会返回相关的命令(图 2)。

图 2: 你用的什么防火墙?

再假如你需要一个操作目录的命令,但是完全不知道要用哪个呢?输入 apropos “directory” 就可以列出在帮助文档里包含了字符 “directory” 的所有命令(图 3)。

图 3: 可以操作目录的工具有哪些呢?

apropos 工具在几乎所有 Linux 发行版里都会默认安装。

Fish

还有另一个能帮助你记忆命令的很好的工具。Fish 是 Linux/Unix/Mac OS 的一个命令行 shell,有一些很好用的功能。

自动推荐

VGA 颜色

完美的脚本支持

基于网页的配置

帮助文档自动补全

语法高亮

以及更多

自动推荐功能让 fish 非常方便(特别是你想不起来一些命令的时候)。

你可能觉得挺好,但是 fish 没有被默认安装。对于 Ubuntu(以及它的衍生版),你可以用下面的命令安装:

sudo apt-add-repository ppa:fish-shell/release-2

sudo apt update

sudo apt install fish

对于类 CentOS 系统,可以这样安装 fish。用下面的命令增加仓库:

sudo-s

cd/etc/yum.repos.d/

wget http://download.openSUSE.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo

用下面的命令更新仓库:

yum repolist

yum update

然后用下面的命令安装 fish:

yum install fish

fish 用起来可能没你想象的那么直观。记住,fish 是一个 shell,所以在使用命令之前你得先登录进去。在你的终端里,运行命令 fish 然后你就会看到自己已经打开了一个新的 shell(图 4)。

图 4: fish 的交互式 shell。

在开始输入命令的时候,fish 会自动补齐命令。如果推荐的命令不是你想要的,按下键盘的 Tab 键可以浏览更多选择。如果正好是你想要的,按下键盘的向右键补齐命令,然后按下 Enter 执行。在用完 fish 后,输入 exit 来退出 shell。

Fish 还可以做更多事情,但是这里只介绍用来帮助你记住命令,自动推荐功能足够了。

保持学习

Linux 上有太多的命令了。但你也不用记住所有命令。多亏有 Bash 命令历史以及像 apropos 和 fish 这样的工具,你不用消耗太多记忆来回忆那些帮你完成任务的命令。


via: http://linux/learn/intro-to-linux/2017/10/3-tools-help-you-remember-linux-commands

作者:JACK WALLEN 译者:zpl1025 校对:wxy

《记不住 Linux 命令?这三个工具可以帮你(linux记不住命令)》来自互联网同行内容,若有侵权,请联系我们删除!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

云主机虚拟ip(云主机虚拟ip无法访问)

文章目录:1、你好,我在云服务器买了个虚拟IP,我现在怎么才能在这个虚拟IP上面添加浏览器呢?2、彩虹云虚拟主机怎么看源ip3、网站备案云虚拟主机没有ip你好,我在云服务器买了个虚拟IP,我现在怎么才...

无服务架构

什么是无服务架构?无服务架构是一种云计算模型,它依赖于第三方提供的服务来管理服务器端的应用程序。这种架构方式不需要维护服务器环境,而是通过利用云提供的先进设施来部署应用程序和处理数据。作为一种逐渐普及...

云服务器CN2线路有哪些优势(揭秘云服务器CN2线路的独特优势)

一、高速稳定的网络连接云服务器CN2线路的网络速度非常快,无论是上传还是下载数据都非常迅速。相较于其他线路,CN2线路的连接速度更为稳定,能够保证网络连接的稳定性,避免在高负载情况下出现卡顿或断连的现...

dns网络服务器未响应如何解决(解决DNS网络问题的方法)

本篇文章将以解决DNS网络问题的方法为中心,从四个方面对这一主题进行详细阐述。我们将介绍DNS概述,然后分别从DNS分区、DNS缓存、DNS服务器选择、DNS记录错误这四个角度出发,对如何解决DNS网...

虚拟服务器环境

什么是虚拟服务器环境?虚拟服务器环境是指在物理服务器上通过虚拟化技术创建出多个虚拟服务器的一种应用环境。每个虚拟服务器都可以独立运行操作系统、应用程序和服务,并与其他虚拟服务器隔离,相互不干扰。虚拟服...

租用国外VPS服务器,这些你需要知道的

在现代技术的日益发展中,租用国外VPS服务器成为了越来越多人的选择。本文将为您介绍租用国外VPS服务器的相关内容,为读者提供背景信息,并引出读者的兴趣。一、服务器选择1、您应该从哪些方面来选择服务器?...