常用的Shell命令(三)
文件的压缩和解压缩命令 tar (这是最常用的,其它的还有zip,unzip,rar,unrar,gzip ....等很多,这边不多说 )
我们先压缩,tar -cvf test.tar ./test.txt 如下图生成了test.tar包。
tar命令压缩解压包命令 tar -cxf test.tar 为了看出效果,我们先删除了test.txt 然后才解压的,如下图。
tar命令解压是不是很简单,选项v表示显示所有过程,x表示解压缩,f表示文件名字,后面加文件名, c表示 create 产生新的压缩包。其实还可以加z 或则j等其它选项,比如tar czvf xxx.tar.gz xxx 加z表示将tar在打包成gzip压缩。其实是一样的操作而已。
此外解压那么就是tar -xzvf xx.tar.gz 了。发现了没,tar命令压缩和解压缩 就是参数选项不一样,一个是c 一个是x 。其它的都一样哈!
其它命令比如zip,unzip更加简单。举个例子 压缩test.txt 成test.zip 那么就是 zip test.zip test.txt
解压就是 unzip test.zip 是不是更加简单,都不要参数选项的!
管道命令 |
将一个程序的标准输出写道一个文件中去,再将这个文件的内容作为另一个命令的标准输入,等效于通过临时文件将两个命令结合起来。这种情况很普遍,需要Linux系统提供一种功能:它不需要或不必使用临时文件,就能将两条命令结合在一起。这种功能就是管道。管道的操作符是一个竖杠“|”。管道是可以嵌套使用的,因此可以把多个命令结合在一起。接上例,如果执行下面的命令将直接返回/usr/bin 中的文件列表的行数,而不是列表的内容。
咱们还是用test.txt 来举例子,为了方便看效果,我们将其中内容改为了1到11 一共11行。假如我们想看前5行 那么可以直接用 head -n5 test.txt 命令。如下图1:
1尾部一样,用tail 比如看尾部5行,用tail -n5 test.txt
2那么如果我要看第3到7行呐?这时候就需要管道啦,将两个命令组合不就OK啦!分析一下,首先3到7行,从头部看应该是 head -n7 test.txt 这时候看的是1-7行。从尾部看3-最后是 tail -n3 test.txt 那么组合起来是不是就是
head -n7 test.txt | tail -n+3 啦!
3有人要问了,为什么不是 tail -n3 呢?骑士tail -n3和 tail -n+3 是有区别的,不加 + 的话是 tail -n-3的意思,就是说看最后三个,这个和我们想看的3到7行是不是不一样?看下效果对比下就会明白了!请看下图:
4到此,常用Shell命令结束!如果还意犹未尽,可以看我的部分shell笔记,有机会还会分享Shell的,共勉!
链接:
常用的Shell命令(一):https://www.jianshu.com/p/16d10278d07d
常用的Shell命令(二):https://www.jianshu.com/p/5b836b6c7e63
shell 学习笔记:https://www.jianshu.com/p/126d36515648