实例:压缩服务器上当前目录的内容为xxx.zip文件
压缩zip文件
zip -r xxx.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
解压zip文件
unzip file.zip #解压zip文件到当前目录
unzip -o -d /home file.zip
#-o:不提示的情况下覆盖文件;
#-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
============================
deroy@ubuntu:~/weichat_Qt$ zip -r file.zip Language_Demo/
adding: Language_Demo/ (stored 0%)
adding: Language_Demo/Makefile (deflated 79%)
adding: Language_Demo/moc_mainwindow.o (deflated 75%)
adding: Language_Demo/Translate_EN.qm (deflated 31%)
adding: Language_Demo/ui_mainwindow.h (deflated 72%)
adding: Language_Demo/main.o (deflated 68%)
adding: Language_Demo/main.cpp (deflated 27%)
adding: Language_Demo/mainwindow.cpp (deflated 63%)
adding: Language_Demo/moc_mainwindow.cpp (deflated 64%)
adding: Language_Demo/mainwindow.o (deflated 74%)
adding: Language_Demo/mainwindow.ui (deflated 68%)
adding: Language_Demo/Language_Demo (deflated 70%)
adding: Language_Demo/Translate_EN.ts (deflated 66%)
adding: Language_Demo/mainwindow.h (deflated 47%)
adding: Language_Demo/Language_Demo.pro (deflated 49%)
adding: Language_Demo/Translate_CN.ts (deflated 68%)
adding: Language_Demo/Translate_CN.qm (stored 0%)
deroy@ubuntu:~/weichat_Qt$ ls
file.zip Language_Demo
deroy@ubuntu:~/weichat_Qt$ mkdir test
deroy@ubuntu:~/weichat_Qt$ cp file.zip ./test/
deroy@ubuntu:~/weichat_Qt$ cd test/
deroy@ubuntu:~/weichat_Qt/test$ ls
file.zip
deroy@ubuntu:~/weichat_Qt/test$ unzip file.zip
Archive: file.zip
creating: Language_Demo/
inflating: Language_Demo/Makefile
inflating: Language_Demo/moc_mainwindow.o
inflating: Language_Demo/Translate_EN.qm
inflating: Language_Demo/ui_mainwindow.h
inflating: Language_Demo/main.o
inflating: Language_Demo/main.cpp
inflating: Language_Demo/mainwindow.cpp
inflating: Language_Demo/moc_mainwindow.cpp
inflating: Language_Demo/mainwindow.o
inflating: Language_Demo/mainwindow.ui
inflating: Language_Demo/Language_Demo
inflating: Language_Demo/Translate_EN.ts
inflating: Language_Demo/mainwindow.h
inflating: Language_Demo/Language_Demo.pro
inflating: Language_Demo/Translate_CN.ts
extracting: Language_Demo/Translate_CN.qm
deroy@ubuntu:~/weichat_Qt/test$ ls
file.zip Language_Demo
其他
zip -d file.zip smart.txt
#删除压缩文件中smart.txt文件
zip -m file.zip ./rpm_info.txt
#向压缩文件中myfile.zip中添加rpm_info.txt文件
linux tar命令
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
-f: 指定包的文件名,切记,这个参数是最后一个参数,后面只能接档案名。
打包
#这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -cf all.tar *.png
#这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -rf all.tar *.jpg
#这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -uf all.tar *.jpg
#这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -tf all.tar
#这条命令是解出all.tar包中所有文件,-x是解开的意思
tar -xf all.tar
压缩解压
tar
#压缩
tar -cvf imgs.tar *.png
#解压
tar -xvf imgs.tar
gz
#压缩
tar -czf imgs.tar.gz *.png
#解压
tar -xzvf imgs.tar.gz
bz2
#压缩
tar -cjf imgs.tar.bz2 *.png
#解压
tar -xjvf imgs.tar.bz2
对比
deroy@ubuntu:~/test/test$ ls
all.tar imgs.tar imgs.tar.bz2 imgs.tar.gz
deroy@ubuntu:~/test/test$ ls -l
total 348
-rw-rw-r-- 1 deroy deroy 102400 Jun 6 20:56 all.tar
-rw-rw-r-- 1 deroy deroy 102400 Jun 6 20:50 imgs.tar
-rw-rw-r-- 1 deroy deroy 74215 Jun 6 20:50 imgs.tar.bz2
-rw-rw-r-- 1 deroy deroy 73569 Jun 6 20:50 imgs.tar.gz