如何查詢指令的使用手冊
0. 概要
本期通過一個解壓tar.gz
文件的需求, 給大家展示了, 如何查詢指令, 如何查詢指令方法的過程.
過程如下
-
借助搜索引擎, 查找實現需求的相關指令
-
借助
man
--help
去查看指令的幫助文檔, 了解每個選項的含義及使用發法.
另外也給大家推薦了另外一個查詢工具cheat
簡單易用.
當然大家也可以使用紙質的cheatsheet
, 貼在桌子邊上, 以便及時查閱.
1. 導言
linux中命令行實在太多了, 實際上即便使用了三年左右的linux, 所會的linux指令跟linux底層的知識, 也只知皮毛. (日常使用是夠用的). 如果我每個指令都去講一下, 不知道啥時候這系列教程才能寫完.想做的是教你萬人敵
, 授人以道
, 告訴你命令行如何查閱, 如何整理自己的知識結構, 以便你可以做到快速提升.
舉例來講, ls指令可能就有幾十種用法, 我們不可能去全部記憶. 本身我的記性也不太好, 更不愿意去記住那么多命令行. 那我們如何解決這個問題呢? 這里就要教大家如何搜索指令, 如何查閱手冊.
2. 先丟給你一個文件
丟給你一個.gz
格式的文件(后綴為 .tar.gz 或者.tgz)
我也不告訴你這個格式的文件是干啥的. 就告訴你里面有幾張你想看的圖片, 嗯, 不再提示了, 萌萌的臉.
? 如何獲取
我把這個文件上傳到我的云上了.
http://osi7hqeow.bkt.clouddn.com/img-package.tar.gz
你如果想獲取的話, 就需要使用wget
命令. wget
是一個沒有交互的網絡下載器.
打開終端輸入指令
wget http://osi7hqeow.bkt.clouddn.com/img-package.tar.gz
下載過程
于是這個名叫img-package.tar.gz
的文件就下載到了你的本地.
現在的需求是, 讓你打開它.查看里面的圖片.
3. 搜索引擎-不會就搜
很多時候, 我們想實現一個功能, 比如說使用命令行解壓一個tar.gz
后綴的文件.
tar.gz
后綴的文件, 我之前并沒有接觸過好嘛, 更別說知道具體的指令了, 我甚至有可能根本就不知道tar.gz
是一種壓縮格式的文件.
第一步-搜索什么是tar.gz格式
這個時候我們就帶著這個疑惑去問一下谷歌(你得有個好梯子)或者百度(度娘), 搜索對應的關鍵詞. 那么在Google搜索下面的這個詞條
linux tar.gz 后綴 文件
ps: 如何選擇詞條最能夠體現一個人信息檢索的能力.
太棒了,通過前面幾條搜索結果, 我們知道了tar.gz
格式是一種壓縮格式.
以·tar.gz為后綴的文件是一種壓縮文件,在Linux和macOS下常見,Linux和macOS都可以直接解壓使用這種壓縮文件。
第二步-搜索如何解壓tar.gz格式的文件
接下來我們就要去搜索如何解壓這種格式的文件對吧?
接下來我們在Google
中繼續搜索.
linux 解壓tar.gz 格式 文件
好處是, 基本上你遇到的問題或者需求, 別人肯定都遇到過, 網上有很多大神寫的博客. 跟著博客來, 有時候就可以解決問題.
我們知道了 tar.gz
格式需要使用tar
指令來解壓.
如果你運氣好的話, 你還可以知道tar解壓tar.gz
的命令行是
[[email protected] Desktop]# tar -xzvf fcitx-3.4.2.tar.gz
如果沒找到的話, 或者你想知道-xzvf
每個選項都代表啥意思的話, 你的下一個搜索詞條就應該是?
看你自己嘍
linux tar解壓指令 使用方法
閱讀博客的時候的坑
閱讀博客其實也有不太好的地方.
不系統,信息不全 通過博客獲取信息不系統, 有時候作者只是告訴你命令行是啥, 并沒有告訴你含義或者具體每個參數對應的意思.(極少數人才會像這么耐心).
時效性 linux有很多系統發行版本, 不同發行版本也有自己的版本. 每個操作系統的系統配置,預裝軟件不同, 很有可能放到你這, 就跑不起來.
舉個例子CentOS
防火墻在6及其之前默認的軟件是iptables
, CentOS 7
的時候默認就變成了firewall
.
所以你按照iptables
的指令去配置, 當然不會成功.
小知識充電站: CentOS是linux的一個發行版, 多用于服務器的操作系統.
這里只是告訴大家, 別人配好的, 你跟著做沒配好, 這很正常.
危險不可逆的操作
也有時候作者會瞎寫, 跟著他亂配一通之后問題也沒解決. 大家在做一些不可逆的危險操作的時候, 一定不要盲目的照著別人的命令行輸入.
最好是你知道每個指令的作用再下手.
4. 原生的linux自帶的幫助工具命令行
我們之前提到了, 博客往往不系統. 我們如果想了解詳細的使用方法, 就要去查閱對應的文檔. 給大家介紹幾個幫助指令.
4.1 whatis-查詢功能簡介
whatis
+ 指令名 就可以獲取該指令的簡要介紹.
[email protected] ~/Desktop> whatis tar tar (5) - format of tape archive files tar (1) - an archiving utility
這里顯示, tar
是文件歸檔格式, 同時也是一個文件歸檔工具.
4.2 man-linux手冊查詢
顯然,我們只知道whatis
是不夠用的, 我們還想知道how to use it
, 這里我們就要借助man
指令.
man
的全稱是mannual
的含義. 作為linux操作系統的手冊,
man is the system's manual pager.
man
+ 可執行指令的方式獲取該指令的所有方法, 傳入的參數等.
我們在命令行中敲入
man tar
我們按向下箭頭,可以一直翻閱說明.
可以看到功能介紹description
GNU tar is an archiving program designed to store multiple files in a single file (an archive), and to manipulate such archives.
DESCRIPTION
我們知道了:
tar
是一個歸檔程序. 被用于將多個文件保存在單個文件中(一個存檔文件), 并對這種存檔文件
進行操作.
接下來我們還可以向下翻, 就可以看到Option Mode
選項模式所代表的含義及其用法.
例如--delete
這個選項所代表的含義是
Delete from the archive. The arguments supply names of the archive members to be removed. At least one argument must be given. --delete這個選項是從歸檔文件中刪除. 這個語句后面跟要從歸檔文件中刪除的文件名. This option does not operate on compressed archives. There is no short option equivalent. 這個選項不能在壓縮過的歸檔文件中操作. 沒有等效的短選項.(類似-d這種, 因為已經被別的占據了)
按q鍵退出幫助文檔瀏覽
man
指令還可以用于查詢其他信息.
它從1-9一共劃分了9個功能區域, 如下:
1 Executable programs or shell commands 2 System calls (functions provided by the kernel) 3 Library calls (functions within program libraries) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard]
我們可以使用
man + 信息所在區域編號(1-9) + 要查詢的字段
例如我們可以通過man
函數來查閱C的函數說明.
man 3 printf
printf
相關的文檔介紹
4.3 --help-工具小幫手
大多數GNU
工具都自帶的--help選項(Option Mode), 用來顯示工具的一些信息,用法
我們可以通過
指令 + --help
man
指令來講, --help
沒有man
獲取的信息詳細, 主要側重傳入參數(option mode的介紹與列舉)
5. cheatsheet - 合法小抄
介紹了man
指令跟help
指令之后, 如果跟著一起動手做的話, 就會發現幫助文檔超級冗長.
我們本來想實現一個簡單的功能, 卻被丟了一臉文檔. 這個時候我們就可以使用cheatsheet
.
cheatsheet
直譯過來是作弊紙的意思.實際上它在工程領域是速查手冊的意思. 手冊上只有簡單的用法.
這個速查手冊可以可以自己制作, 也可以直接從網上下載下來別人整理的. 打印下來, 放在桌邊. 當你遇到一個需求的時候, 低頭馬上可以看到命令行.
時間長了也就記住了.
這里要給大家分享的是一個中文版本的Unix/Linux Cheatsheet
6. cheat 命令行工具 <推薦>
前面給大家介紹了紙質的cheatsheet
, 其實終端上也有類似的軟件可以供我們調用.
6.1 什么是cheat?
cheat是在GNU通用公共許可證下,為Linux命令行用戶發行的交互式備忘單應用程序。它提供顯示Linux命令使用案例,包括該命令所有的選項和簡短但尚可理解的功能。
相比較之前提到的man
與help
函數給出的冗長幫助信息, cheat
的特點就是簡要, 給你提供必要的信息與演示示例.
根據2/8法則, 20%的命令行(或者命令行的一些選項)可以滿足我們80%的需求, 所以還是蠻喜歡cheat
的.
下面這個圖片是cheat的官網上的一個漫畫, 嘿嘿, 不知道你能不能看懂, 看懂的話, 可以在文章下方留言哦.
6.2 安裝cheat
安裝方式
前提是你的linux系統已經裝好了
python
跟pip
sudo pip install cheat
cheat的pip安裝過程
[email protected] ~/Desktop> sudo pip install cheat Collecting cheat Downloading http://mirrors.aliyun.com/pypi/packages/32/b6/b85a29d865323adc776726845bbb74d0629bd8d46e4619ec42d5fe191734/cheat-2.2.2.tar.gz (66kB) 100% |████████████████████████████████| 71kB 2.2MB/s Collecting docopt>=0.6.1 (from cheat) Downloading http://mirrors.aliyun.com/pypi/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz Requirement already satisfied: pygments>=1.6.0 in /usr/lib/python3.6/site-packages (from cheat) Building wheels for collected packages: cheat, docopt Running setup.py bdist_wheel for cheat ... done Stored in directory: /root/.cache/pip/wheels/ef/0c/76/6515364d1ba8f029407a90cfd7c198b33865537414059eb05f Running setup.py bdist_wheel for docopt ... done Stored in directory: /root/.cache/pip/wheels/81/7a/3b/9f1ec9da9d3d4116a4ad1ab9bc007239ef5c1131793d825567 Successfully built cheat docopt Installing collected packages: docopt, cheat Successfully installed cheat-2.2.2 docopt-0.6.2
6.3 cheat使用演示樣例
我們使用cheat指令的時候, cheat
+ 你要查詢的指令
這里我們用tar
指令為例(linux中的文件壓縮指令) 演示一下cheat
指令的使用方法.
[email protected] ~/Desktop> cheat tar # To extract an uncompressed archive: tar -xvf /path/to/foo.tar # To create an uncompressed archive: tar -cvf /path/to/foo.tar /path/to/foo/ # To extract a .gz archive: tar -xzvf /path/to/foo.tgz # To create a .gz archive: tar -czvf /path/to/foo.tgz /path/to/foo/ # To list the content of an .gz archive: tar -ztvf /path/to/foo.tgz # To extract a .bz2 archive: tar -xjvf /path/to/foo.tgz # To create a .bz2 archive: tar -cjvf /path/to/foo.tgz /path/to/foo/ # To extract a .tar in specified Directory: tar -xvf /path/to/foo.tar -C /path/to/destination/ # To list the content of an .bz2 archive: tar -jtvf /path/to/foo.tgz # To create a .gz archive and exclude all jpg,gif,... from the tgz tar czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/ # To use parallel (multi-threaded) implementation of compression algorithms: tar -z ... -> tar -Ipigz ... tar -j ... -> tar -Ipbzip2 ... tar -J ... -> tar -Ipixz ...
看著也舒服, 用起來也方便.
直接就告訴我解壓.gz
指令是
tar -xzvf ./img-package.tar.gz
-xzvf 指對xxx.tar.gz 解壓成 xxx/
解壓完成, 終于可以查看給你的圖片包了, 是不是很興奮.
[email protected] ~/D/f/QuickStart快速入手> tar -xzvf img-package.tar.gz ./gnu-tar-help.png ./xiangyu.jpg
6.4 cheat的其他配置
關于cheat的自動補全等配置, 大家可以參考下面這篇文章. Cheat—— 給Linux初學者和管理員一個終極命令行"備忘單"
7. 的本章總結
本期通過一個解壓tar.gz
文件的需求, 給大家展示了, 如何查詢指令。
過程如下
-
借助搜索引擎, 查找實現需求的相關指令
-
借助
man
--help
去查看指令的幫助文檔, 了解每個選項的含義及使用發法.
另外也給大家推薦了另外一個查詢工具cheat
簡單易用.
當然大家也可以使用紙質的cheatsheet
, 貼在桌子邊上, 以便及時查閱.