标签:ref arc windows系统 can bsp 6.2 重定向 pie 选项
> ########################################################1 > # 使用zip压缩文件 zip 命令后添加 压缩后文件的名字, 约定成俗的习惯是 .zip 后跟需要压缩的文件 > # zip file.zip file > ls dir video.mp4 > zip video.mp4.zip video.mp4 adding: video.mp4 (deflated 100%) > ls dir video.mp4 video.mp4.zip #########################################################2 > # 解压zip 文件 , 解压后 原压缩包 不会被删除 > # 解压zip 文件, 指定解压路径 > ls dir video.mp4.zip > unzip video.mp4.zip Archive: video.mp4.zip inflating: video.mp4 > ls dir video.mp4 video.mp4.zip > unzip video.mp4.zip -d dir/ Archive: video.mp4.zip inflating: dir/video.mp4 > ls dir/video.mp4 dir/video.mp4 > > #########################################################3 > # 使用 unzip -v 查看 zip 压缩文件中的文件, 但不解压文件 > unzip -v video.mp4.zip Archive: video.mp4.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 268435456 Defl:N 260516 100% 10-02-2017 21:55 2a0e7dbb video.mp4 -------- ------- --- ------- 268435456 260516 100% 1 file > # 使用unzip -t 选项 查看 zip 压缩文件 是否有损坏 > unzip -t video.mp4.zip Archive: video.mp4.zip testing: video.mp4 OK No errors detected in compressed data of video.mp4.zip. > #########################################################4 > # 使用 unzip -r 递归压缩 压缩文件夹(dir/) > ls dir video.mp4 > zip -r compress.zip dir/ video.mp4 adding: dir/ (stored 0%) adding: dir/file2 (stored 0%) adding: dir/file1 (stored 0%) adding: video.mp4 (deflated 100%) > #########################################################5 > # 查看 zip 压缩文件中的文件, 创建一个 another_dir > # 使用 unzip [zip压缩文件] [需要解压的文件] -d [解压文件到指定的目录] > # 实现指定解压zip文件中指定文件 > unzip -v compress.zip Archive: compress.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 10-02-2017 23:20 00000000 dir/ 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file2 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file1 268435456 Defl:N 260516 100% 10-02-2017 21:55 2a0e7dbb video.mp4 -------- ------- --- ------- 268435488 260548 100% 4 files > mkdir another_dir > ls -F another_dir/ compress.zip dir/ video.mp4 > unzip compress.zip dir/file1 -d another_dir/ Archive: compress.zip extracting: another_dir/dir/file1 > ls -l another_dir/dir/file1 -rw-r--r-- 1 root root 16 Oct 2 23:21 another_dir/dir/file1 > #########################################################6 > # 在无需解压的情况下, 删除相关的文件 > # zip [需要操作的zip文件] -d [需要删除的文件] > unzip -v compress.zip Archive: compress.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 10-02-2017 23:20 00000000 dir/ 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file2 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file1 268435456 Defl:N 260516 100% 10-02-2017 21:55 2a0e7dbb video.mp4 -------- ------- --- ------- 268435488 260548 100% 4 files > zip compress.zip -d dir/file2 deleting: dir/file2 > unzip -v compress.zip Archive: compress.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 10-02-2017 23:20 00000000 dir/ 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file1 268435456 Defl:N 260516 100% 10-02-2017 21:55 2a0e7dbb video.mp4 -------- ------- --- ------- 268435472 260532 100% 3 files > #########################################################7 > # 添加新的文件到 zip 压缩文件中 > # zip [需要操作的zip文件] -g [需要添加的文件] > zip -g compress.zip dir/file2 adding: dir/file2 (stored 0%) > unzip -v compress.zip Archive: compress.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 10-02-2017 23:20 00000000 dir/ 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file1 268435456 Defl:N 260516 100% 10-02-2017 21:55 2a0e7dbb video.mp4 16 Stored 16 0% 10-02-2017 23:21 b9bb280c dir/file2 -------- ------- --- ------- 268435488 260548 100% 4 files
> #########################################################1 > # 使用gzip 压缩文件,自动为文件添加后缀 .gz 不保留原文件 > # gzip <需要压缩的文件> > ls -F dir/ video.mp4 > gzip video.mp4 > ls -F dir/ video.mp4.gz > # # # # # # # # # # # # > # 使用 gzip 压缩文件, 保留原文件 > # 这里使用的是重定向方式 , 借此保留了原文件 > # gzip -c <需要压缩的文件> > <压缩后文件的名字> > ls -F dir/ video.mp4 > gzip -c video.mp4 > video.mp4.gz > ls -F dir/ video.mp4 video.mp4.gz > #########################################################2 > # 使用gzip 解压文件 , 命令 gzip -d (decompose) <需要解压的文件> > # 解压后原文件会消失 > ls -F dir/ video.mp4.gz > gzip -d video.mp4.gz > ls -F dir/ video.mp4 > # # # # # # # # # # # # > # 使用 gzip 解压文件, 命令 gzip -cd <需要解压的文件> > <解压后文件的命名> > # 保留原文件 > ls -lh total 260K drwxr-xr-x 2 root root 4.0K Oct 3 00:06 dir -rw-r--r-- 1 root root 255K Oct 3 00:25 video.mp4.gz > gzip -cd video.mp4.gz > video.mp4 > ls -lh total 257M drwxr-xr-x 2 root root 4.0K Oct 3 00:06 dir -rw-r--r-- 1 root root 256M Oct 3 00:40 video.mp4 -rw-r--r-- 1 root root 255K Oct 3 00:25 video.mp4.gz > #########################################################3 > # 查看压缩文件相关信息 gzip -l <需要查看的压缩文件> > # 测试压缩文件的完整性 gzip -t <需要验证的压缩文件> > gzip -l video.mp4.gz compressed uncompressed ratio uncompressed_name 260544 268435456 99.9% video.mp4 > gzip -t video.mp4.gz > echo $? 0
> #########################################################1 > # 使用bzip2 压缩文件,自动为文件添加后缀 .bz 不保留原文件 > # bzip2 <需要压缩的文件> > ls -F dir/ video.mp4 > bzip2 video.mp4 > ls -F dir/ video.mp4.bz2 > # # # # # # # # # # # # > # 使用 -k (keep) 解压文件, 保留原文件 > # bzip2 -k <需要压缩的文件> > ls -F dir/ video.mp4 > bzip2 -k video.mp4 > ls -F dir/ video.mp4 video.mp4.bz2 > #########################################################2 > # 使用bzip2 解压文件 , 命令 bzip2 -d (decompose) <需要解压的文件> > # 解压后原文件会消失 > ls -F dir/ video.mp4.bz2 > bzip2 -d video.mp4.bz2 > ls -F dir/ video.mp4 > # # # # # # # # # # # # > # 使用 gzip 解压文件, 命令 bzip2 -k <需要解压的文件> > # 保留原文件 > ls -F dir/ video.mp4.bz2 > bzip2 -dk video.mp4.bz2 > ls -F dir/ video.mp4 video.mp4.bz2 > #########################################################3 > # 查看压缩文件相关信息 bzcat <需要查看的压缩文件> > # 测试压缩文件的完整性 bzip2 -t <需要验证的压缩文件> > cat file1 This is a file. > bzip2 -k file1 > bzcat file1.bz2 This is a file. > > bzip2 -t video.mp4.bz2 > echo $? 0
> # 使用 tar 进行打包 -c 创建一个打包文件 > # 值得关注的是 命令执行后 打包的原始文件(../dir/file1 和 ../dir/file2)是不会消失的 > # tar -cf <打包后的文件名.tar> <需要打包的文件> ... <需要打包的文件> > ls dir video.mp4 > tree dir/ dir/ ├── file1 └── file2 0 directories, 2 files > tar -cf dir.tar dir/file1 dir/file2 > ls dir dir.tar video.mp4 > > # 显示打包后的文件 -t 显示打包文件中的信息 > # tar -tf <需要查看的打包文件.tar> > tar -tf dir.tar dir/file1 dir/file2 > # 如果希望得到更加详细的信息(权限,用户,用户组,修改时间mtime), 可以加上 -v 选项 > # tar -tvf <需要查看的打包文件.tar> > tar -tvvf dir.tar -rw-r--r-- root/root 16 2017-10-02 23:21 dir/file1 -rw-r--r-- root/root 16 2017-10-02 23:21 dir/file2 > # 在原有的打包文件中,追加文件 -r 追加文件到打包文件中 > # 值得关注的是 命令执行后 追加的文件(video.mp4)是不会消失的 > # tar -rvf <需要追加的文件> <存在的打包文件.tar> > tar -rvf dir.tar video.mp4 video.mp4 > tar -tf dir.tar dir/file1 dir/file2 video.mp4 > # 在打包文件中 提取指定文件 -x 提取文件 > # tar -xf <打包文件.tar> <在打包文件中需要提取的文件> > ls -F dir/ dir.tar > tar -tf dir.tar dir/file1 dir/file2 video.mp4 > tar -xf dir.tar video.mp4 > ls -F dir/ dir.tar video.mp4 > # 指定存取目录, 将打包文件提取到该路径下 -C /PATH/TO/SOMEDIR > # 值得注意的是, 指定的存取路径下文件夹必须存在 > # tar -xf <打包的文件.tar> -C /存取/的/目录 > ls -F another_dir/ dir/ dir.tar video.mp4 > tar -xf dir.tar -C another_dir > tree another_dir/ another_dir/ ├── dir │ ├── file1 │ └── file2 └── video.mp4 1 directory, 3 files > # 将两个打包文件进行合并 > # 值得注意的是,放在前面的合并文件, 将会成为合并后的文件(包含了自己内容和被合并文件的内容) > # 被合并的文件在合并后, 不会小时 > # tar -Af <合并后的文件/合并的打包文件.tar> <被合并的打包文件2.tar> > ls -F dir/ dir.tar video.mp4 video.tar > tar -tf dir.tar dir/file1 dir/file2 > tar -tf video.tar video.mp4 > tar -Af dir.tar video.tar > tar -tf dir.tar dir/file1 dir/file2 video.mp4 > ls -F dir/ dir.tar video.mp4 video.tar > tar -tf video.tar video.mp4 > # 删除打包文件中的指定文件 --delete > # tar --delete --file <包含删除文件的打包文件.tar> <需要删除的文件> .. <需要删除的文件> > # tar -f <包含删除文件的打包文件.tar> --delete <需要删除的文件> .. <需要删除的文件> > # 方法一 > tar -tf dir.tar dir/file1 dir/file2 > tar --delete --file dir.tar dir/file1 > tar -tf dir.tar dir/file2 > > # 方法二 > tar -tf dir.tar dir/file1 dir/file2 > tar -f dir.tar --delete dir/file1 > tar -tf dir.tar dir/file2 > # # # # # # # # # # # # # # # # # # # # # # # # # # # 这里插播一下 , 如果仅仅对数据进行打包处理 # 我们的文件大小是不会减少的 # 反倒会增加文件的大小 > ls dir video.mp4 > tar -cf dir.tar dir/* > tar -cf video.tar video.mp4 > ls -lh total 513M drwxr-xr-x 2 root root 4.0K Oct 3 10:14 dir -rw-r--r-- 1 root root 20K Oct 3 11:33 dir.tar -rw-r--r-- 1 root root 256M Oct 3 10:39 video.mp4 -rw-r--r-- 1 root root 257M Oct 3 11:34 video.tar > # 因此我们的打包 一般需要和压缩一起进行使用 # # # # # # # # # # # # # # # # # # # # # # # # # #
# > 打包的同时,使用gzip 进行文件压缩 -z(gzip) # > 完成后,文件不消失 # > tar -zcvf <打包压缩后文件.tar.gz> <需要操作的文件目录/文件> > ls -F dir/ video.mp4 > tar -zcvf dir.tar.gz dir/ dir/ dir/file2 dir/file1 > ls -F dir/ dir.tar.gz video.mp4 > tar -tf dir.tar.gz dir/ dir/file2 dir/file1 > # > 解压 tar 包的文件 -x , 如需指定命令 同样 -C /path/to/some_dir # > tar -zxvf <需要解压的文件.tar.gz> > ls -F dir.tar.gz video.mp4 > tar -zxvf dir.tar.gz dir/ dir/file2 dir/file1 > ls -F dir/ dir.tar.gz video.mp4 > tree dir/ dir/ ├── file1 └── file2 0 directories, 2 files > # > 打包的同时,使用bzip2 进行文件压缩 -j(bzip2) # > 完成后,文件不消失 # > tar -jcvf <打包压缩后文件.tar.bz2> <需要操作的文件目录/文件> > ls -F dir/ video.mp4 > tar -jcvf dir.tar.bz2 dir/ dir/ dir/file2 dir/file1 > tar -tf dir.tar.bz2 dir/ dir/file2 dir/file1 # > 解压 tar 包的文件 -x , 如需指定命令 同样 -C /path/to/some_dir # > tar -jxvf <需要解压的文件.tar.bz2> > ls -F dir.tar.bz2 video.mp4 > tar -jxvf dir.tar.bz2 dir/ dir/file2 dir/file1 > ls -F dir/ dir.tar.bz2 video.mp4 > tree dir/ dir/ ├── file1 └── file2 0 directories, 2 files
# > 我们在这里模拟创建一些文件, 使测试目录的大小为1.2G > dd if=/dev/zero of=file_5M bs=1M count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.00330545 s, 1.6 GB/s > dd if=/dev/zero of=file_10M bs=1M count=10 10+0 records in 10+0 records out 10485760 bytes (10 MB) copied, 0.00722154 s, 1.5 GB/s > dd if=/dev/zero of=file_50M bs=1M count=50 50+0 records in 50+0 records out 52428800 bytes (52 MB) copied, 0.100913 s, 520 MB/s > dd if=/dev/zero of=file_100M bs=1M count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.205377 s, 511 MB/s > > dd if=/dev/zero of=file_1000M bs=1M count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 11.5899 s, 90.5 MB/s > > ls -lh total 1.2G -rw-r--r-- 1 root root 10K Oct 3 10:54 file1 -rw-r--r-- 1 root root 1000M Oct 3 12:17 file_1000M -rw-r--r-- 1 root root 100M Oct 3 12:17 file_100M -rw-r--r-- 1 root root 10M Oct 3 12:16 file_10M -rw-r--r-- 1 root root 16 Oct 2 23:21 file2 -rw-r--r-- 1 root root 50M Oct 3 12:17 file_50M -rw-r--r-- 1 root root 5.0M Oct 3 12:16 file_5M > > # 先使用 zip 做测试 > time zip -r compress.zip dir/ adding: dir/ (stored 0%) adding: dir/file2 (stored 0%) adding: dir/file_5M (deflated 100%) adding: dir/file_50M (deflated 100%) adding: dir/file_100M (deflated 100%) adding: dir/file_10M (deflated 100%) adding: dir/file_1000M (deflated 100%) adding: dir/file1 (deflated 99%) real 0m16.237s user 0m3.588s sys 0m5.380s > # 接着是 gzip > time tar -zcvf compress.tar.gz dir/ dir/ dir/file2 dir/file_5M dir/file_50M dir/file_100M dir/file_10M dir/file_1000M dir/file1 real 0m16.242s user 0m7.764s sys 0m1.956s > # 最后是 bzip2 > time tar -jcvf compress.tar.bz2 dir/ dir/ dir/file2 dir/file_5M dir/file_50M dir/file_100M dir/file_10M dir/file_1000M dir/file1 real 0m28.010s user 0m16.940s sys 0m2.137s
> # 我们再查看各个压缩文件的大小 > ls -l compress.* -rw-r--r-- 1 root root 1434 Oct 3 12:23 compress.tar.bz2 -rw-r--r-- 1 root root 1186140 Oct 3 12:21 compress.tar.gz -rw-r--r-- 1 root root 1186932 Oct 3 12:20 compress.zip > ls -lh compress.* -rw-r--r-- 1 root root 1.5K Oct 3 12:23 compress.tar.bz2 -rw-r--r-- 1 root root 1.2M Oct 3 12:21 compress.tar.gz -rw-r--r-- 1 root root 1.2M Oct 3 12:20 compress.zip
压缩/打包压缩命令 | 压缩的工具(版本号) | 所花费的时间 |
文件的大小
|
zip -r compress.zip dir/
|
zip (3.0)
|
16.237s
|
1186932(1.2M)
|
tar -zcvf compress.tar.gz dir/
|
gzip (1.3.12)
|
16.242s
|
1186140(1.2M)
|
tar -jcvf compress.tar.bz2 dir/
|
bzip2 (1.0.5)
|
28.010s
|
1434 (1.5K)
|
测试系统 2.6.32-696.6.3.e16.i686 / CentOS release 6.9(Final) |
命令工具
|
压缩文件公式
|
压缩后原文件是否保留
(保留命令公式)
|
解压文件公式
|
解压后原文件是否保留
(保留命令公式)
|
查看压缩文件内文件
|
zip
|
zip2 [file_need_compress]
|
保留
|
unzip [file_suffix.tar]
|
保留
|
unzip -v [file_suffix.tar]
|
gzip
|
gzip [file_need_compress]
|
不保留
gzip -c [file_need_compress] > [file_suffix.gz]
|
gzip -d [file_suffix.gz]
|
不保留
gzip -cd [file_suffix.gz] > [file_name]
|
gzip -l [file_suffix.gz]
|
bzip2
|
bzip2 [file_need_compress]
|
不保留
bzip2 -k [file_need_compress]
|
bzip2 -d [file_suffix.bz2]
|
不保留
bzip2 -dk [file_suffix.bz2]
|
bzcat [file_suffix.bz2]
可查看文件的内容
|
命令工具 |
压缩目录
|
解压文件 |
查看文件
|
gzip
|
tar -zcvf [file_suffix.tar.gz] [file_need_compress&archive]
|
tar -zxvf [file_suffix.tar.gz]
|
tar -tf [file_suffix.tar.gz]
|
bzip2
|
tar -jcvf [file_suffix.tar.bz2] [file_need_compress&archive]
|
tar -zxvf [file_suffix.tar.bz2]
|
tar -tf [file_suffix.tar.bz2]
|
[拾 得] zip gzip bzip2 & tar 压缩/打包 四大金刚
标签:ref arc windows系统 can bsp 6.2 重定向 pie 选项
原文地址:http://www.cnblogs.com/alopex/p/7638346.html