前几天,在重构了项目中的一段代码之后,公司章哥给我示范如何把我的代码放到nginx上测试。他问我会不会使用tar命令,我说听说过,不过没用过。后来周末我就google了几篇文章,在这里简单总结一下tar命令在实际开发中常用的一些用法,希望对读者也有所帮助。
常用选项
- -c: 创建archive
- -z: 用gzip压缩archive
- -j: 用bzip2压缩archive
- -v: 开启verbose模式
- -f: 指明archive文件名
- -x: 解压/提取archive
- -t: 查看archive文件内容
- -r: 添加新文件(夹)/修改后的文件(夹)到archive
代码示例
-
打包
-
打包单个文件
tar cvf archive.tar file
-
打包多个文件
tar cvf archive.tar file1 file2
-
打包所有文件
tar cvf archive.tar *
-
打包单个文件夹
tar cvf archive.tar directory
-
打包多个文件夹
tar cvf archive.tar directory1 directory2
-
打包所有文件,不包含某一文件
tar cvf archive.tar --exclude 'log.txt' *
-
打包所有文件,不包含某些文件
tar cvf archive.tar --exclude '*.txt' * tar cvf archive.tar --exclude 'log.txt' --exclude '*.css' *
-
打包所有文件,不包含某一文件夹
tar cvf archive.tar --exclude 'directory' *
-
打包所有文件,不包含某些文件夹
tar cvf archive.tar --exclude 'directory1' --exclude 'directory2' *
-
-
解包
-
解包到当前文件夹
tar xvf archive.tar
-
解包到指定文件夹
tar xvf archive.tar -C directory
-
-
gzip压缩
tar zcvf archive.tar.gz tar zcvf archive.tgz
-
gzip解压缩
tar xvf archive.tar.gz tar xvf archive.tgz
-
bzip2压缩
tar jcvf archive.tar.bz2 tar jcvf archive.tbz
-
bzip2解压缩
tar xvf archive.tar.bz2 tar xvf archive.tbz
-
查看archive内容
tar tvf archive.tar tar tvf archive.tar.gz tar tvf archive.tgz tar tvf archive.tar.bz2 tar tvf archive.tbz
-
添加新文件(夹)/修改后的文件(夹)到archive
注意:不能添加到压缩后的archive(gzip,bzip2等)
tar rvf archive.tar newFile.txt tar rvf archive.tar newDirectory tar rvf archive.tar newFile newDirectory