【轻实验】你一定需要知道的一个 Linux 命令
8实验 362查看
Google
1443
Google
L1443
2022-07-05 17:16
启动环境

图片描述

关于 Linux 和开源的信息在互联网上比比皆是,但当你沉浸在你的工作中时,往往需要快速的文档。从 Unix 的早期开始,甚至在 Linux 出现之前,就有了 man 和 info 命令,它们都显示关于命令、配置文件、系统调用等的官方项目文档。

但是对于 man 和 info 展示的帮助信息页面,它是作为已经知道如何使用这个工具的用户的有用提醒,还是作为第一次使用的用户的介绍,二者存在着争议。无论怎样,man 和 info 页面都是描述工具和如何使用它们,而很少涉及具体完整的命令。正是由于这个原因,开发了 cheat 命令。

cheat 命令是一个实用工具,可以搜索并显示你可能需要使用的某个命令例子的列表。假如你不记得如何解压缩一个 tar 文件。tar 的 man 手册可以为你提供所有你需要的选项,但 cheat 可以让你自己去把这些信息转化为一个实用的命令:

tar -A [OPTIONS] ARCHIVE ARCHIVE
tar -c [-f ARCHIVE] [OPTIONS] [FILE...]
tar -d [-f ARCHIVE] [OPTIONS] [FILE...]
tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]
tar -r [-f ARCHIVE] [OPTIONS] [FILE...]
tar -u [-f ARCHIVE] [OPTIONS] [FILE...]
tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]
copy

这正是一些用户需要的,但它使其他用户感到困惑。相比之下,tar 的文本提供了完整的常用命令:

shiyanlou:project/ $ cheat tar
# To extract an uncompressed archive:
tar -xvf /path/to/foo.tar

# To extract a .tar in specified Directory:
tar -xvf /path/to/foo.tar -C /path/to/destination/

# To create an uncompressed archive:
tar -cvf /path/to/foo.tar /path/to/foo/

# To extract a .tgz or .tar.gz archive:
tar -xzvf /path/to/foo.tgz
tar -xzvf /path/to/foo.tar.gz

# To create a .tgz or .tar.gz archive:
tar -czvf /path/to/foo.tgz /path/to/foo/
tar -czvf /path/to/foo.tar.gz /path/to/foo/

# To list the content of an .tgz or .tar.gz archive:
tar -tzvf /path/to/foo.tgz
tar -tzvf /path/to/foo.tar.gz

# To extract a .tar.bz2 archive:
tar -xjvf /path/to/foo.tar.bz2
copy

安装 cheat

cheat 命令是一个搜索和显示你可能用 Linux 命令做的任务例子列表的工具。和许多 Unix 命令一样,同一个概念有不同的实现,它包括一个用 Go 写的 和一个我帮助维护的只用 100 行 Bash 写的 版本。

要安装 Go 版本,请执行命令 go get -u github.com/cheat/cheat/cmd/cheat 下载最新的版本(建议执行这个)。

安装 Bash 版本,请下载最新版本并运行 install-cheat.sh 脚本:

为你的 Linux 终端获取 cheat sheets

sheets 就是包含常用命令的纯文本文件,主要集合在 cheatsheets。Go 版本的 cheat 在你第一次运行命令时为你自动下载 cheatsheets。如果你使用的是 Bash 版本的 cheat,--fetch 选项可以为你下载 cheatsheets:

$ cheat --fetch
copy

你可以在你的系统上有多个 sheets 的集合。Go 版本的 cheat 使用 YAML 配置文件来定义每个集合的位置。Bash 版本在安装时定义了路径,并默认下载cheat sheets 集合以及 Opensource.com 自己的 cheat sheets 集合。

列出 cheat sheets

要列出你系统中的 cheat sheets,可以使用 --list 选项:

$ cheat --list
7z
ab
acl
alias
ansi
ansible
ansible-galaxy
ansible-vault
apk
[...]
copy

查看 Linux cheat sheets

查看 cheat sheets 就像查看 man 或 info 一样简单。只要提供你需要帮助的命令的名字就可以了。

$ cheat alias
# To show a list of your current shell aliases:
alias

# To alias `ls -l` to `ll`:
alias ll='ls -l'
copy

默认情况下,cheat 命令使用你环境中的 pager。pager 是通过 PAGER 环境变量设置的,你可以在运行 cheat 命令前重新定义 PAGER 变量来临时覆盖它:

$ PAGER=most cheat less
copy

如果你只想把 cheat sheets 写进你的终端,而不使用 pager,Bash 版本有一个 --cat 选项方便使用:

$ cheat --cat less
copy

这实际上并不是作弊

cheat 命令的输出直截了当,你不需要拼凑关于如何使用一个命令的线索,只需跟着例子走。当然,对于复杂的命令来说,它不是彻底研究实际文档的捷径,但对于快速参考来说,它是最快速的。

你甚至可以创建你自己的 cheat sheets,只需将一个文件放在 cheat sheets 集合中。因为这些项目是开源的,你可以把你的个人的 cheat sheets 贡献到 GitHub 仓库。

虽然这个命令叫作 cheat(作弊),但任何 Linux 用户都会向你保证,这实际上不是作弊,它是一种更聪明的工作方式,是开放源码的方式。

原文地址:linux-cheat-command

使用 DeepL 免费版翻译并修订。

#轻实验
你的回复