互聯網上有大量關於Linux和開源的信息,但當您想要深入了解時,通常需要一份方便的文檔。在Linux出現之前的Unix系統中,就已經有了man
(「manual」的縮寫)和info
命令,它們都能顯示命令、設定檔、系統呼叫等的官方項目文件。
#關於man
和info
頁面是否是對熟悉工具使用的用戶的有用提醒,還是為初次使用的用戶提供介紹,存在一些爭議。但無論如何,man
和info
頁面都介紹了工具以及如何使用它們,很少涉及特定任務以及如何完成它們。正是因為這個原因,開發了cheat
命令。
例如,設想你想不起來如何 解壓縮 tar 壓縮包檔🔗 opensource.com 。 man 頁面會為你展示所有的選項,但需要你將這些資訊轉換為指令:
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...]
這確實是一些用戶需要的,但是也使一些用戶感到困惑。相較之下,cheat 指令會羅列常用指令:
$ cheat tar #To extract an uncompressed archive: tar-xvf /path/to/foo.tar #To extract a .tarin 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 [...]
這真是雪中送炭!
cheat 命令是一個實用程序,可以用來搜尋和顯示你想要使用的命令的使用範例。如大多數Unix 指令一樣,同一個概念有多種不同的實作方式,它包括一個使用Go 編寫🔗 github.com 的和一個由我幫助維護的僅用100 行Bash 編寫🔗 gitlab .com 的兩個版本。
若要安裝Go 版本的,下載最新版🔗 github.com 並將它放在某個路徑🔗 opensource.com 中,例如~/.local/bin/
或/usr/local/bin
中。若安裝 Bash 版本,下載最新版並執行 install-cheat.sh
腳本:
$ sh ./install-cheat.sh
如需設定後安裝,請使用 自動工具🔗 opensource.com(Autotools):
$ aclocal ; autoconf $ automake --add-missing ; autoreconf $ ./configure --prefix=$HOME/.local $ make $ make install
Cheat 只是包含常用指令的純文字檔。該程式可從 github.com/cheat/cheatsheets🔗 github.com 取得。當你第一次執行指令時,Go 版本會自動為你下載支援清單。如果你使用 Bash 版本,用 --fetch
選項可以下載支援清單:
$ cheat --fetch
與 man 一樣,你的系統上可以有多個備忘單集合。 Go 版本的 cheat 使用 YAML🔗 opensource.com 設定檔來定義每個集合的位置。 Bash 版本在安裝過程中定義了路徑,預設下載github.com/cheat/cheatsheets🔗 github.com 集合以及opensource.com🔗 Opensource.com 自己的gitlab.com/opensource.com/cheatsheets🔗 gitlab.com 集合。
使用 --list
选项即可查看 cheat 支持的项目:
$ cheat --list 7z ab acl alias ansi ansible ansible-galaxy ansible-vault apk [...]
使用 cheat 查看命令如同使用 man 和 info 查看一样简单。只需要输入你需要查询的命令即可:
$ cheat alias #To show a list of your current shell aliases: alias #Toalias`ls -l` to `ll`: alias ll='ls -l'
默认情况下,cheat 命令会使用你的 环境变量🔗 opensource.com PAGER
中指定的分页器。你可以在运行 cheat 命令前改写 PAGER
变量值,暂时修改环境变量。
$ PAGER=most cheat less
如果你只是想在没有 PAGER
的情况下将 cheat 输出🔗 opensource.com 到终端里,在 Bash 版中有 --cat
选项可以使用:
$ cheat --catless
cheat 系统抓住了要害,你不必拼凑有关如何使用命令的线索,你只需按照示例进行操作即可。当然,对于复杂的命令,它不是深入研究实际文档的捷径,但为了快速借用,它还是可以的。
甚至你可以通过将文件放入其中一个备忘单集合中,来创建自己的备忘单。好消息是,因为这些项目是开源的,所以你可以将你的个人备忘单贡献给 GitHub 集合。另一个好消息是,当有新的 opensource.com🔗 opensource.com 备忘单🔗 opensource.com 版本发布时,我们将从现在开始包含纯文本版本,以便你可以将其添加到你的收藏中。
该命令称为 “作弊(cheat)”,但正如任何 Linux 用户都会向你保证的那样,它实际上并不是作弊。它只是以开源的方式工作得更巧妙。
以上是「作弊」:只要知道這一個 Linux 指令就夠了的詳細內容。更多資訊請關注PHP中文網其他相關文章!