常用Linux命令:tar
来源:互联网 发布:php preg match 编辑:程序博客网 时间:2024/06/05 13:21
常用Linux命令:tar
[test1280@localhost 20170702]$ uname -aLinux localhost.localdomain 2.6.18-371.el5 #1 SMP Thu Sep 5 21:21:44 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux
tar是一个打包工具,但是其有选项可以直接将这个“包”进行压缩,与gunzip类似。
命令总览:
tar cf myproject.tar myprojecttar xf myproject.tartar cvf myproject.tar myprojecttar xvf myproject.tartar zcf myproject.tar myprojecttar zxf myproject.tartar zcvf myproject.tar.gz myproject --exclude myproject/log(注意-- exclude myproject/log后没有/)
z指定与压缩有关;f指定文件;v是verbose,详细输出;x和c互斥,x是解包,c是打包…
打包要有c/x以及f即可,压缩就多带着z即可。
PS:其实我一般都不加v选项,刷屏的感觉…
目录结构:
[test1280@localhost 20170702]$ ll总计 4drwxrwxr-x 7 test1280 test1280 4096 07-02 09:33 myproject[test1280@localhost 20170702]$ tree.`-- myproject |-- bin | `-- binfile |-- etc | `-- etcfile |-- lib | `-- libfile |-- log | `-- logfile `-- src `-- srcfile6 directories, 5 files
1.
tar打包:
[test1280@localhost 20170702]$ tar cvf myproject.tar myprojectmyproject/myproject/log/myproject/log/logfilemyproject/etc/myproject/etc/etcfilemyproject/lib/myproject/lib/libfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile[test1280@localhost 20170702]$ ll总计 16drwxrwxr-x 7 test1280 test1280 4096 07-02 09:33 myproject-rw-rw-r-- 1 test1280 test1280 10240 07-02 09:38 myproject.tar
tar释放:
[test1280@localhost 20170702]$ ll总计 12-rw-rw-r-- 1 test1280 test1280 10240 07-02 09:38 myproject.tar[test1280@localhost 20170702]$ tar xvf myproject.tar myproject/myproject/log/myproject/log/logfilemyproject/etc/myproject/etc/etcfilemyproject/lib/myproject/lib/libfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile[test1280@localhost 20170702]$ ll总计 16drwxrwxr-x 7 test1280 test1280 4096 07-02 09:33 myproject-rw-rw-r-- 1 test1280 test1280 10240 07-02 09:38 myproject.tar
2.
tar打包&&压缩:
[test1280@localhost 20170702]$ tar zcvf myproject.tar.gz myprojectmyproject/myproject/log/myproject/log/logfilemyproject/etc/myproject/etc/etcfilemyproject/lib/myproject/lib/libfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile[test1280@localhost 20170702]$ ll总计 8drwxrwxr-x 7 test1280 test1280 4096 07-02 09:33 myproject-rw-rw-r-- 1 test1280 test1280 284 07-02 09:42 myproject.tar.gz
tar释放&&解压缩:
[test1280@localhost 20170702]$ tar zxvf myproject.tar.gz myproject/myproject/log/myproject/log/logfilemyproject/etc/myproject/etc/etcfilemyproject/lib/myproject/lib/libfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile[test1280@localhost 20170702]$ ll总计 8drwxrwxr-x 7 test1280 test1280 4096 07-02 09:33 myproject-rw-rw-r-- 1 test1280 test1280 284 07-02 09:42 myproject.tar.gz[test1280@localhost 20170702]$ tree.|-- myproject| |-- bin| | `-- binfile| |-- etc| | `-- etcfile| |-- lib| | `-- libfile| |-- log| | `-- logfile| `-- src| `-- srcfile`-- myproject.tar.gz6 directories, 6 files
3.
我在工作中通常有这么一种情况:
现网的相关项目我需要把它取下来,但是由于现网业务很多,长时间未清理日志,所以在log目录下文件占用很大(可能有几十个G),So:
如何打包其他的目录而不包含某个目录?
[test1280@localhost 20170702]$ tar zcvf myproject.tar.gz myproject --exclude myproject/logmyproject/myproject/etc/myproject/etc/etcfilemyproject/lib/myproject/lib/libfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile[test1280@localhost 20170702]$ ll总计 8drwxrwxr-x 7 test1280 test1280 4096 07-02 09:33 myproject-rw-rw-r-- 1 test1280 test1280 254 07-02 09:50 myproject.tar.gz
从v选项的verbose中可以看出确实没有将log目录打包压缩进myproject.tar.gz。
[test1280@localhost 20170702]$ tar zxvf myproject.tar.gz myproject/myproject/etc/myproject/etc/etcfilemyproject/lib/myproject/lib/libfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile[test1280@localhost 20170702]$ ll总计 8drwxrwxr-x 6 test1280 test1280 4096 07-02 09:33 myproject-rw-rw-r-- 1 test1280 test1280 254 07-02 09:50 myproject.tar.gz[test1280@localhost 20170702]$ tree myprojectmyproject|-- bin| `-- binfile|-- etc| `-- etcfile|-- lib| `-- libfile`-- src `-- srcfile4 directories, 4 files
进一步证明:没有将log目录加进去。
如何exclude多个目录?
[test1280@localhost 20170702]$ tar zcvf myproject.tar.gz myproject --exclude myproject/log --exclude myproject/libmyproject/myproject/etc/myproject/etc/etcfilemyproject/src/myproject/src/srcfilemyproject/bin/myproject/bin/binfile
使用多次–exclude即可。
还有重要的一点需要说明:
tar zcvf myproject.tar.gz myproject --exclude myproject/logtar zcvf myproject.tar.gz myproject --exclude myproject/log/
两句话是不一样的,你可以试一下。
第一句可以达到我们想要的效果,第二句多了一个/,但是并没有真的exclude掉,还是在的,实际使用中注意下这点。
KEYS:
cfxfzcfzxf--exclude
阅读全文
1 0
- 常用linux命令[tar]
- 常用Linux命令:tar
- Linux tar 命令常用参数
- Linux tar命令常用方法
- Linux 常用备份恢复命令-tar
- 常用linux压缩解压命令tar
- linux常用压缩解压命令tar
- linux 下 解压 常用 tar 命令
- 常用Linux打包命令 tar和zip
- Linux 常用备份恢复命令-tar
- linux常用压缩解压命令(tar,zip)
- linux 常用基本命令之七 tar
- Linux 常用基本命令 压缩 解压缩 tar
- Linux 下常用的 tar 命令
- Linux命令-tar命令
- 常用 shell 命令 -tar
- tar命令常用方法
- 常用tar命令
- 整理词表
- Linux 系统下 init 进程的前世今生
- 经典图论题
- C++精度控制
- hibernate缓存:一级缓存和二级缓存
- 常用Linux命令:tar
- eclipse设置字体大小
- op高灵敏度i-v转换器分析
- java多线程下的相互通信的例子(使用notifyAll)
- POJ 2520 DNA Sequence Alignment 笔记
- MySQL(一)
- 《算法》笔记 - 01
- HttpClient
- 进程与线程(Java多线程总结一)