这里介绍一下linux中tar的用法
先说一下tar中主要用到的参数
c 创建归档
x 提取归档
t 测试或列出归档内容
v 显示详细信息
f 指出要创建或提取的归档文件名称
z 使用gzip压缩类型
j 使用bz2压缩类型
r 追加 (只能往tar文件中追加)
下面举几个典型的例子
1.把/etc 打包压缩到/mnt下名为etc.tar.gz
[root@burvis ~]# tar zcvf /mnt/etc.tar.gz /etc |less //创建并显示详细信息。并用gzip压缩
tar: Removing leading `/' from member names //这里他把etc前的'/'给去掉了
显示的内容
/etc/X11/
/etc/X11/fontpath.d/
/etc/X11/fontpath.d/cjkuni-fonts-ukai
/etc/X11/fontpath.d/fonts-default
/etc/X11/fontpath.d/liberation-fonts
/etc/X11/fontpath.d/xorg-x11-fonts-misc:unscaled:pri=10
/etc/X11/fontpath.d/cjkuni-fonts-uming
。。。。。
。。。。。
/etc/dbus-1/system.d/cups.conf
/etc/dbus-1/system.d/hal.conf
/etc/dbus-1/system.d/org.gnome.SystemMonitor.Mechanism.conf
/etc/dbus-1/system.d/org.gnome.ClockApplet.Mechanism.conf
/etc/dbus-1/system.d/pulseaudio-system.conf
/etc/dbus-1/system.conf
/etc/passwd-
/etc/fprintd.conf
[root@burvis mnt]# ls
etc.tar.gz
2. tar ztvf /mnt/etc.tar.gz 列出/mnt下etc.tar.gz压缩包内的内容,并不压缩
3. tar zxvf /mnt/etc.tar.gz 用gzip解压,这是解压在当目录
tar zxvf /mnt/etc.tar.gz -C /opt 这里时解压到指定的目标opt中 -C后跟要压缩到的路径
[root@burvis opt]# ls
etc
4. gunzip /mnt/etc.tar.gz 解压成tar文件相当于gzip -d /mnt/etc.tar.gz
bunzip /mnt/etc.tar.bz2 解压成tar文件相当于bzip -d /mnt/etc.tar.bz2
[root@burvis mnt]# ls
etc.tar.gz
[root@burvis mnt]# gunzip etc.tar.gz
[root@burvis mnt]# ls
etc.tar
5. 往tar文件中追加文件
tar rf /mnt/etc.tar /boot //追加boot到/mnt/etc.tar中
[root@burvis mnt]# tar rf etc.tar /boot
tar: Removing leading `/' from member names
[root@burvis mnt]# tar tvf /mnt/etc.tar |less
drwxr-xr-x root/root 0 2011-08-13 14:12 etc/
drwxr-xr-x root/root 0 2011-08-10 15:14 etc/X11/
drwxr-xr-x root/root 0 2011-08-11 09:01 etc/X11/fontpath.d/
lrwxrwxrwx root/root 0 2011-08-11 09:01 etc/X11/fontpath.d/cjkuni-fonts-
ukai -> /usr/share/fonts/cjkuni-ukai
。。。。。。
。。。。。。
-rw-r--r-- root/root 3791744 2011-08-10 15:19 boot/vmlinuz-anaconda
-rw-r--r-- root/root 13796674 2011-08-10 15:19 boot/initramfs-2.6.32-71.el6.x86_64.img
-rw-r--r-- root/root 30063052 2011-08-10 15:19 boot/initrd-anaconda.img
-rw-r--r-- root/root 97862 2010-09-01 13:48 boot/config-2.6.32-71.el6.x86_64
-rw-r--r-- root/root 2226490 2010-09-01 13:48 boot/System.map-2.6.32-71.el6.x86_64
drwx------ root/root 0 2011-08-10 15:10 boot/lost+found/
6.单独从一个gzip压缩包中提取出一个文件
tar zf /mnt/etc.tar.gz --get etc/passwd 单独提取出passwd
[root@burvis mnt]# tar zf /mnt/etc.tar.gz --get etc/passwd
[root@burvis mnt]# ls
etc etc.tar etc.tar.gz
[root@burvis mnt]# cd etc
[root@burvis etc]# ls
passwd
7.单独删除一个tar文件中的一个文件(只能是tar文件。不能时.gz等压缩文件)
tar f /mnt/etc.tar --delete etc/passwd