本期通过一个解压tar.gz
文件的需求, 给大家展示了, 如何查询指令, 如何查询指令方法的过程.
过程如下
- 借助搜索引擎, 查找实现需求的相关指令
- 借助
man
--help
去查看指令的帮助文档, 了解每个选项的含义及使用发法.
另外也给大家推荐了另外一个查询工具cheat
简单易用.
当然大家也可以使用纸质的cheatsheet
, 贴在桌子边上, 以便及时查阅.
linux中命令行实在太多了, 实际上即便使用了三年左右的linux, 所会的linux指令跟linux底层的知识, 也只知皮毛. (日常使用是够用的). 如果我每个指令都去讲一下, 不知道啥时候这系列教程才能写完.想做的是教你万人敌
, 授人以道
, 告诉你命令行如何查阅, 如何整理自己的知识结构, 以便你可以做到快速提升.
举例来讲, ls指令可能就有几十种用法, 我们不可能去全部记忆. 本身我的记性也不太好, 更不愿意去记住那么多命令行. 那我们如何解决这个问题呢? 这里就要教大家如何搜索指令, 如何查阅手册.
丢给你一个.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
的文件就下载到了你的本地.
现在的需求是, 让你打开它.查看里面的图片.
很多时候, 我们想实现一个功能, 比如说使用命令行解压一个tar.gz
后缀的文件.
tar.gz
后缀的文件, 我之前并没有接触过好嘛, 更别说知道具体的指令了, 我甚至有可能根本就不知道tar.gz
是一种压缩格式的文件.
这个时候我们就带着这个疑惑去问一下谷歌(你得有个好梯子)或者百度(度娘), 搜索对应的关键词. 那么在Google搜索下面的这个词条
linux tar.gz 后缀 文件
ps: 如何选择词条最能够体现一个人信息检索的能力.
太棒了,通过前面几条搜索结果, 我们知道了tar.gz
格式是一种压缩格式.
以·tar.gz为后缀的文件是一种压缩文件,在Linux和macOS下常见,Linux和macOS都可以直接解压使用这种压缩文件。
接下来我们就要去搜索如何解压这种格式的文件对吧?
接下来我们在Google
中继续搜索.
linux 解压tar.gz 格式 文件
好处是, 基本上你遇到的问题或者需求, 别人肯定都遇到过, 网上有很多大神写的博客. 跟着博客来, 有时候就可以解决问题.
我们知道了 tar.gz
格式需要使用tar
指令来解压.
如果你运气好的话, 你还可以知道tar解压tar.gz
的命令行是
[root@localhost Desktop]# tar -xzvf fcitx-3.4.2.tar.gz
如果没找到的话, 或者你想知道-xzvf
每个选项都代表啥意思的话, 你的下一个搜索词条就应该是?
看你自己喽
linux tar解压指令 使用方法
阅读博客其实也有不太好的地方.
不系统,信息不全 通过博客获取信息不系统, 有时候作者只是告诉你命令行是啥, 并没有告诉你含义或者具体每个参数对应的意思.(极少数人才会像这么耐心).
时效性 linux有很多系统发行版本, 不同发行版本也有自己的版本. 每个操作系统的系统配置,预装软件不同, 很有可能放到你这, 就跑不起来.
举个例子CentOS
防火墙在6及其之前默认的软件是iptables
, CentOS 7
的时候默认就变成了firewall
.
所以你按照iptables
的指令去配置, 当然不会成功.
小知识充电站: CentOS是linux的一个发行版, 多用于服务器的操作系统.
这里只是告诉大家, 别人配好的, 你跟着做没配好, 这很正常.
危险不可逆的操作
也有时候作者会瞎写, 跟着他乱配一通之后问题也没解决. 大家在做一些不可逆的危险操作的时候, 一定不要盲目的照着别人的命令行输入.
最好是你知道每个指令的作用再下手.
我们之前提到了, 博客往往不系统. 我们如果想了解详细的使用方法, 就要去查阅对应的文档. 给大家介绍几个帮助指令.
whatis
+ 指令名 就可以获取该指令的简要介绍.
scorpion@tl ~/Desktop> whatis tar
tar (5) - format of tape archive files
tar (1) - an archiving utility
这里显示, tar
是文件归档格式, 同时也是一个文件归档工具.
显然,我们只知道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
相关的文档介绍
大多数GNU
工具都自带的--help选项(Option Mode), 用来显示工具的一些信息,用法
我们可以通过
指令 + --help
的方式获取帮助信息. 相比较man
指令来讲, --help
没有man
获取的信息详细, 主要侧重传入参数(option mode的介绍与列举)
介绍了man
指令跟help
指令之后, 如果跟着一起动手做的话, 就会发现帮助文档超级冗长.
我们本来想实现一个简单的功能, 却被丢了一脸文档. 这个时候我们就可以使用cheatsheet
.
cheatsheet
直译过来是作弊纸的意思.实际上它在工程领域是速查手册的意思. 手册上只有简单的用法.
这个速查手册可以可以自己制作, 也可以直接从网上下载下来别人整理的. 打印下来, 放在桌边. 当你遇到一个需求的时候, 低头马上可以看到命令行.
时间长了也就记住了.
这里要给大家分享的是一个中文版本的Unix/Linux Cheatsheet
前面给大家介绍了纸质的cheatsheet
, 其实终端上也有类似的软件可以供我们调用.
cheat是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。
相比较之前提到的man
与help
函数给出的冗长帮助信息, cheat
的特点就是简要, 给你提供必要的信息与演示示例.
根据2/8法则, 20%的命令行(或者命令行的一些选项)可以满足我们80%的需求, 所以还是蛮喜欢cheat
的.
下面这个图片是cheat的官网上的一个漫画, 嘿嘿, 不知道你能不能看懂, 看懂的话, 可以在文章下方留言哦.
安装方式
前提是你的linux系统已经装好了
python
跟pip
sudo pip install cheat
cheat的pip安装过程
scorpion@tl ~/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
我们使用cheat指令的时候, cheat
+ 你要查询的指令
这里我们用tar
指令为例(linux中的文件压缩指令) 演示一下cheat
指令的使用方法.
scorpion@tl ~/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/
解压完成, 终于可以查看给你的图片包了, 是不是很兴奋.
scorpion@tl ~/D/f/QuickStart快速入手> tar -xzvf img-package.tar.gz
./gnu-tar-help.png
./xiangyu.jpg
关于cheat的自动补全等配置, 大家可以参考下面这篇文章. Cheat—— 给Linux初学者和管理员一个终极命令行"备忘单"
本期通过一个解压tar.gz
文件的需求, 给大家展示了, 如何查询指令。
过程如下
- 借助搜索引擎, 查找实现需求的相关指令
- 借助
man
--help
去查看指令的帮助文档, 了解每个选项的含义及使用发法.
另外也给大家推荐了另外一个查询工具cheat
简单易用.
当然大家也可以使用纸质的cheatsheet
, 贴在桌子边上, 以便及时查阅.