加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux下的tar命令的用法

(2007-08-06 15:09:25)
标签:

tar

xvf

压缩

解压

分类: Linux学习
# tar -czpvf /home/freebsd.tar.gz ./*
# tar -zxvfp /home/freebsd.tar.gz  

# tar cvf /home/bak/mycode.tar /home/code/

# gzip -q backup.tar

# tar -xf /home/bak/mycode.tar

unzip解压ZIP命令:

    unzip  文件或文件夹名

tar 命令:

  看看参数说明:
    x : 解压
    : 指定文件
    : 详细地列出处理的文件
     : bz2 格式
    : gz 格式

tar       xvf        ***.tar
tar       xvfz      ***.tar.gz  
tar       xvfz      ***.tar.gz2 和 ***.tar.bz2
gzip      -d        ***.gz  
bunzip2           ***.tar.gz2  
gunzip             ***.gz  
gunzip             ***.tgz  
gunzip             ***.tar.Z  
upzip               ***.zip 

相关的命令还有:compress,uncompress,zcat,zip,zipnote,zipsplit,zipcloat   
更为详细的说明看man     and     info.   

cd directory       进入指定的目录
cd ..                   进入上一级目录
cd /directory     进入目录
cd                     进入用户自己的目录
cp file_from file_to    拷贝文件
ln [-s] source linkname    为一个文件建立连结
ls [directory]                    查看指定目录下的文件
ls -l [directory]                 查看指定目录下文件的详细
ls -a [directory]                查看指定目录下的所有文件
mkdir new_directory        建一个新目录
more file                          查看一个文本文件的内容
rm file                              删除一个文件
rm -rf directory                删除一个目录
rmdir directory                 删除一个目录
find . -name "file"             从当前目录开始查找指定的文件
adduser                            创建新用户
alias                                  设置别名或替代名
bg fg                                使挂起的进程继续运行
ps ax                                查询当前进程
mount                              连接文件系统
more less                          浏览文件内容
chown chgrp                    改变文件的拥有者
chmod                              改变文件属性
halt                                  关闭系统
man                                 显示手册页
passwd                             改变用户口令
grep                                 查找字符串
find                                  查找文件
dd                                    复制磁盘或文件系统
kill                                    杀掉一个进程
killall                                 杀掉进程

Linux下的压缩打包--tar命令详解

Windows下最常见的压缩文件只有两种,.zip和.rar。可是Linux就不同 了,有.Z、bz2、.gz、.tar、.tar.gz等众多的压 缩文件名,它们分别对应了各种压缩打包命令。要了解这些压缩打包命令的使用,首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个 总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux中的很多压缩命令只能针对一个文件进行压缩,当要压缩一大堆文件时,就得先 借助打包命令将这一大堆文件先打成一个包,然后再用压缩命令进行压缩。因此打包命令在Linux的应用中具有很重要的作用。
Linux下最常用的打包命令就是tar,使用tar命令打包后,就可以用其它的命令来进行压缩了。tar命令的使用方法如下:

tar [-cxtzjvfpPN] 文件与目录
参数说明:
-c :建立一个打包文件;
-x :解开一个打包文件;
-t :查看 tar包里面的文件;
(特别注意,在选择参数时,c/x/t仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。)
-z :打包后用gzip压缩,生成.tar.gz文件;
-j :打包后用zip2压缩,生成.tar.bz2文件;
-v :压缩的过程中显示文件;
-f :使用文件名,请留意,在f之后要立即接文件名,不要再加其它参数;
-p :保持原文件的属性;
-P :使用绝对路径来压缩;
-N :设定日期(yyyy/mm/dd),比后面接的日期还要新的文件才会被打包进新建的文件中;
--exclude FILE:在打包的过程中,不要将FILE打包。

举几个例子:

例一:将整个/etc目录下的文件全部打包成为/tmp/etc.tar
tar -cvf /tmp/etc.tar /etc  #仅打包,不压缩
tar -zcvf /tmp/etc.tar.gz /etc  #打包后,以gzip压缩(fedora20 以后不需要"-",tar zcvf ...,否则出现"tar: 由于前次错误,将以上次的错误状态退出"错误)
tar -jcvf /tmp/etc.tar.bz2 /etc  #打包后,以bzip2压缩

例二:查阅上述/tmp/etc.tar.gz文件内有哪些文件
tar -ztvf /tmp/etc.tar.gz

例三:将/tmp/etc.tar.gz文件解压缩到/usr/local/src下
cd /usr/local/src   #先将工作目录变换到/usr/local/src下
tar -zxvf /tmp/etc.tar.gz
  
例四:只将/tmp/etc.tar.gz内的etc/passwd解压到/tmp下
cd /tmp
tar -zxvf /tmp/etc.tar.gz etc/passwd

例五:将/etc内的所有文件备份下来,并且保存其权限!
tar -zxvpf /tmp/etc.tar.gz /etc

例六:在/home当中,比2005/06/01新的文件才备份
tar -N '2005/06/01' -zcvf home.tar.gz /home

例七:备份/home、/etc,但不要/home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

例八:将/etc打包后直接解开在/tmp底下,而不产生文件!
cd /tmp
tar -cvf - /etc | tar -xvf -

现在有一个需求,不知道该如何才能实现
压缩: tar czvf /data/backup/test.tar.gz /data/a/b/directory
解压:
cd /data/test
tar xzvf /data/backup/test.tar.gz

问题是,解压后的文件,在/data/test/data/a/b/directory里面
能否压缩时只保留directory以下的所有目录,以directory作为/,而不是/data/a/b/directory?

问题已经解决,找到了GNU tar的官方资料
http://www.delorie.com/gnu/docs/tar/tar_98.html

这样写就可以解决了
tar czvf /data/backup/test.tar.gz /data/a/b/directory
改成
tar czvf /data/backup/test.tar.gz -C /data/a/b(空格)directory
-C是临时切换工作目录,-P是绝对路径,在这里只用到-C参数就行了

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有