linux文件压缩与打包
2015-07-28 14:34
661 查看
在linux中常见的压缩命令
首先,在linux中压缩文件的扩展名大多是*.gz gzip程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.tar tar程序打包的数据,并没有压缩过
*.tar.gz tar程序打包的文件,经过gzip压缩
*.tar.bz2 tar程序打包的文件,经过bzip2压缩
gzip
gzip在不加参数的时候,默认会将文件以-6压缩,生成原名称为[文件名+扩张名+.gz]的文件,并且源文件不保留,-c 将压缩的数据输出到屏幕上,可以通过输出重定向来处理
gizp -c 1.txt > 1.txt.gz
-d 解压缩
-f 当压缩或者解压缩的时候,若文件已经存在,强制覆盖
gzip -f 1.txt
gzip -df 1.txt.gz
-l 列出压缩文件内容
gzip -l 1.txt.gz
-q 屏蔽所有的警告,安静的进行压缩
-r 递归将目录中的文件压缩
-t 用来检测一个压缩文件的一致性
-v 可以显示源文件/压缩文件的压缩比等
-# 压缩等级,-1最快,-9最慢但是压缩比最好,默认为-6
bzip2
bzip2在不加参数的时候,会将文件压缩成文件名为[源文件名+源文件扩展名+.bz2]的文件,和gzip一样,源文件不会保留-d 解压缩
-f 当压缩或者解压缩的时候,若文件已经存在,强制覆盖
-t 用来检测一个压缩文件的一致性
-z 压缩的参数
-k 保留原始文件,不会删除原始文件的哦
bzip2 -k 1.txt
-v 可以显示源文件/压缩文件的压缩比等
-# 压缩等级,-1最快,-9最慢但是压缩比最好,默认为-6
tips:gzip和bzip2仅能对单一的文件进行压缩,虽然能够针对目录进行压缩,但也只是将目录的内的所有文件分别进行压缩罢了.
tar----神器
-v 在压缩,解压缩的过程中,将正在处理的文档名显示出来-t 查看打包文件的内容
-c 创建打包文件
-C 解压缩,指定目录
-x 解压缩
-j bzip2压缩/解压缩,文档后缀*.tar.bz2
-z gzip压缩/解压缩,文档后缀*.tar.gz
-f 后面要立刻接要被处理的文档名
--exclude=file 在压缩过程中,忽略file打包
bzip2格式压缩 [root@iZ288fgkcpkZ default]# tar -cjf test.tar.bz2 tar/ [root@iZ288fgkcpkZ default]# ls gzip hardlink.php index.html info.php symboliclink.php tar test.php test.tar.bz2 [root@iZ288fgkcpkZ default]# tar -tjf test.tar.bz2 tar/ tar/3.txt tar/tar.txt tar/2.txt tar/1.txt gzip格式压缩 [root@iZ288fgkcpkZ default]# tar -czf test.tar.gz tar/ [root@iZ288fgkcpkZ default]# ls gzip hardlink.php index.html info.php symboliclink.php tar test.php test.tar.bz2 test.tar.gz [root@iZ288fgkcpkZ default]# tar -tzf test.tar.gz tar/ tar/3.txt tar/tar.txt tar/2.txt tar/1.txt 解压缩指定目录 [root@iZ288fgkcpkZ default]# mkdir bak [root@iZ288fgkcpkZ default]# tar -xzvf test.tar.gz -C bak/ tar/ tar/3.txt tar/tar.txt tar/2.txt tar/1.txt [root@iZ288fgkcpkZ default]# ls bak/tar/ 1.txt 2.txt 3.txt tar.txt 压缩的时候忽略指定文件 [root@iZ288fgkcpkZ default]# echo 'exclude' > tar/4.txt [root@iZ288fgkcpkZ default]# ls tar/ 1.txt 2.txt 3.txt 4.txt tar.txt [root@iZ288fgkcpkZ default]# tar -czvf 2.tar.gz --exclude=tar/4.txt tar/ tar/ tar/3.txt tar/tar.txt tar/2.txt tar/1.txt [root@iZ288fgkcpkZ default]# tar -tzvf 2.tar.gz drwxr-xr-x root/root 0 2015-07-28 12:17 tar/ -rw-r--r-- root/root 118888897 2015-07-28 11:42 tar/3.txt -rw-r--r-- root/root 11556 2015-07-28 11:44 tar/tar.txt -rw-r--r-- root/root 118888897 2015-07-28 11:42 tar/2.txt -rw-r--r-- root/root 46 2015-07-28 12:00 tar/1.txt
扩展问题
①,仅备份比某个时刻还要新的文件(如备份7.27之后的)拷贝文件到目录tar下,不修改属性 [root@iZ288fgkcpkZ default]# cp -a index.html test.php tar/ [root@iZ288fgkcpkZ default]# ll tar/ 总用量 232244 drwxr-xr-x 2 root root 4096 7月 28 14:10 . drwxr-xr-x 5 www www 4096 7月 28 14:06 .. -rw-r--r-- 1 root root 46 7月 28 12:00 1.txt -rw-r--r-- 1 root root 118888897 7月 28 11:42 2.txt -rw-r--r-- 1 root root 118888897 7月 28 11:42 3.txt -rw-r--r-- 1 root root 8 7月 28 12:17 4.txt -rwxr-xr-x 1 www www 44 6月 12 2014 index.html -rw-r--r-- 1 root root 11556 7月 28 11:44 tar.txt -rw-r--r-- 1 root root 182 7月 27 18:39 test.php 压缩打包时间为7月27日(含)之后的文件 [root@iZ288fgkcpkZ default]# tar -czvf newer10.tar.gz --newer-mtime="2015-07-27 00:00:00" tar/ tar/ tar/3.txt tar/tar.txt tar/2.txt tar: tar/index.html: 文件未改变;未输出 tar/4.txt tar/1.txt tar/test.php [root@iZ288fgkcpkZ default]# tar -tzvf newer10.tar.gz drwxr-xr-x root/root 0 2015-07-28 14:10 tar/ -rw-r--r-- root/root 118888897 2015-07-28 11:42 tar/3.txt -rw-r--r-- root/root 11556 2015-07-28 11:44 tar/tar.txt -rw-r--r-- root/root 118888897 2015-07-28 11:42 tar/2.txt -rw-r--r-- root/root 8 2015-07-28 12:17 tar/4.txt -rw-r--r-- root/root 46 2015-07-28 12:00 tar/1.txt -rw-r--r-- root/root 182 2015-07-27 18:39 tar/test.php
相关文章推荐
- Windows远程连接Linux
- 利用grep 比较两个文件的异同
- 嵌入式linux之LCD驱动记录
- Linux显示中文乱码解决方法
- Linux grep命令详解
- linux mysql php-frm php 配置文件
- Linux SMB命令使用小结
- 使用异步 I/O 大大提高应用程序的性能
- Linux中的特殊权限s、t、i、a
- linux 基本命令
- vi文件搜索某个关键字
- linux新手入门常用文件以及系统操作方法
- 理解 Linux CPU 负载 1分5分15分
- Linux64位操作系统(CentOS6.6)上如何编译spark1.3
- 克隆的CentOS网卡物理地址错误问题!
- linux 查看进程的命令2(ps)
- linux driver 简单实例
- Linux中fork()函数详解
- Linux如何查看进程、杀死进程、启动进程等常用命令
- win7访问Linux Samba的共享目录提示“登录失败:用户名或密码错误”解决方法