查看原文
其他

如何快速回忆起遗忘的 Linux 命令?

JackTian 杰哥的IT之旅 2022-06-07

作者:JackTian
微信公众号:杰哥的IT之旅(ID:Jake_Internet)

在 Linux 操作系统下,因命令太多记不住还感到困扰。不过没关系,记住全部的 Linux 命令是不太可能的,也没什么必要,未必在今后的工作中都会运用得到。甚至有时为了查找一个文件或者因为一个想不起怎么操作的命令对着 Linux 终端发呆。而又觉得似乎能够想起来,尝试着在 Linux 终端下敲着命令,但还是未能完成我们想要的输出结果。

那么,借助Apropos 命令BASH history命令的功能快速回忆起遗忘的 Linux 命令。

1、Apropos——快速回忆起遗忘的 Linux 命令

Apropos 命令:是一个用指定关键字搜索定位手册页中名字和描述部分的 Linux 命令。

如果忘了哪个命令可以输出目录中的内容了,那么我们可以通过执行 apropos "list directory"命令来列出一些与搜索字符串匹配的命令,通过下述输出结果可以看出, 使用dirlsvdir命令可以列出目录内容,这样就大大提高了你的工作效率。

# apropos "list directory"
dir                  (1)  - list directory contents
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents
vdir                 (1)  - list directory contents

例如:你要搜索一个关于abc的字符串,那么可以通过命令:apropos "abc"来搜索任意的字符串,但搜索的字符串应该会足够精确的。

# apropos "abc"
XmTabCreate          (3)  - A convenience function that creates a tab stop
XmTabListTabCount    (3)
  - A convenience function that counts the number of tabs
XTestGrabControl [XTestQueryExtension] (3)
  - XTest extension functions

例如:当你想要查询 CPU 的一个信息时,但忘了用哪个命令了,可以这样操作。

# apropos "cpu"

或者不加双引号

# apropos cpu

从输出结果来看,可以使用lscpu命令来显示 CPU 的相关信息。

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 61
Stepping:              4
CPU MHz:               2194.921
BogoMIPS:              4389.84
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0,1

注意:搜索字符串中包含不止一个单词时,应该用引号引起来。

比如说:忘了哪个命令怎么远程连接到另一台服务器系统了,使用命令:apropos "remote"查询一下,得出如下常用的输出结果,scp 用于向远程服务器端拷贝文件,而唯独使用 ssh 命令来远程连接其他服务器。

# apropos "remote"
......
scp                  (1)  - secure copy (remote file copy program)
ssh                  (1)  - OpenSSH SSH client (remote login program)
ssh [slogin]         (1)  - OpenSSH SSH client (remote login program)

当查询某一个字符串时,可能会出现很多,这时你得不断的滚动终端搜索列表才能找出需要的命令,更多使用apropos命令的用法,可以通过 man 手册执行命令:man apropos来查看。

# man apropos

2、很长一串命令忘记了怎么办?

时常我们在工作中,难免会一次性输出过长的命令来查找某一个文件甚至执行的某个脚本,但过了一天两天的时间了,我们可以采用方向键的方式或者命令history来进行查找,一旦时间过了一周甚至更长的时间,那该如何快速查找很长一串命令的方式呢?

在 Linux 终端下,按下快捷键Ctrl+R,然后简单输入命令的字符,就可以快速向后搜索输入过的命令了,可以看到一系列在bash history出现的命令,使用UP/DOWN方向键可以切换命令,当找到想要的那个命令后按下TAB键或者右方向键可以选中该命令,再按下ENTER键执行该命令。

(reverse-i-search)`ls': lscpu

本公众号全部博文已整理成一个目录,请在公众号后台回复「m」获取!

往期精彩

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存