解压zip文件出现-bash:unzip:commond not found,是因为没有安装unzip,利用一句命令即可解决:yum install -y unzip zip。
解压:unzip mydata.zip -d www。
压缩:zip -r mydata.zip www。#压缩www为mydata.zip
tar解压:
错误提示:gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
问题解决方法如下:将z参数换成j参数问题解决
bz2格式用j
gz格式用z
c是创建
x是解压缩
v是详细信息
f是指定文件
问题:tar: phpmyadmin:归档中找不到
原因:命令中差-C
tar诠释:
tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
tar分卷压缩:
单个压缩包太大,不方便提供给别人下载,所以就想法如果将文件分割成多块了,Windows容易实现,而Linux该怎么搞呢,方法如下:
[root@NS www]# tar cjvf - users/ |split -b 5m - users.tar.gz2.
执行后通过ls -lah命令查看,有如下几行
-rw-r--r-- 1 root root 5.0M Nov 24 03:21 users.tar.gz2.aa
-rw-r--r-- 1 root root 5.0M Nov 24 03:21 users.tar.gz2.ab
-rw-r--r-- 1 root root 5.0M Nov 24 03:21 users.tar.gz2.ac
-rw-r--r-- 1 root root 3.4M Nov 24 03:21 users.tar.gz2.ad
上面就是被打包分割过的几个文件,如果在想把他合并成一个文件,那再次执行另外一条命令
[root@NS www]# cat users.tar.gz2.a* |tar xvj
解压结束后,再查看解压后的包情况,users文件夹又出来了!
drwxr-xr-x 14 apache apache 4.0K Oct 30 00:19 users
就这样简单的实现文件打包合并与解压文件!
关于split参考
-b SIZE 指定每个文件的大小,其单位可以为b(512字节)、k(1K)、m(1M)
-d 使用数字而不是字母作为后缀名
-a X 指定后缀名的长度,默认为2位
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩
范例二:查看压缩包里的文件以及加压出压缩包中的一个文件
查看压缩包里的文件:tar -tvf qwe.tar.gz 解压出其中一个文件:tar -xvf qwe.tar.gz abc