tar命令

作用:打包、压缩文件

[root@server63 ~]# tar --help

Usage: tar [OPTION...] [FILE]...

GNU `tar' saves many files together into asingle tape or disk archive, and can

restore individual files from the archive.

 

Examples:

  tar -cf archive.tarfoo bar  # Create archive.tar from filesfoo and bar.

  tar -tvf archive.tar         # List all files in archive.tarverbosely.

  tar -xf archive.tar          # Extract all files from archive.tar.

 

 

打包:

例:

[root@server63 ~]# tar -cvf grub.tar/boot/grub/

tar: Removing leading `/' from member names

/boot/grub/

/boot/grub/ffs_stage1_5

/boot/grub/device.map

/boot/grub/vstafs_stage1_5

...............

 

#c              create  创建 

#v              verbose  详细信息

#f               filename

 

了解  linux 看文件是什么类型

file命令

作用:确定文件属于什么类型

用法: file  文件名

[root@server63 ~]# file grub.tar

grub.tar: POSIX tar archive (GNU)

 

root@server63 ~]# tar -cvf file.txt/boot/grub/

[root@server63 ~]# file file.txt

file.txt: POSIX tar archive (GNU)

总结  linux中不能以后缀名来区分文件类型 如果想查看文件的类型 file命令

 

例:把两个目录或目录+文件打包成一个软件包

[root@server63 ~]# tar -cvf ss.tar /boot//etc/passwd

 

不解包,查看tar包中的内容

[root@ server63 ~]# tar -tf ss.tar

boot/

boot/symvers-2.6.32-431.el6.x86_64.gz

boot/config-2.6.32-431.el6.x86_64

boot/efi/

boot/efi/EFI/

boot/efi/EFI/redhat/

.....

对比打包时

[root@server63 ~]# tar -cvf grub.tar/boot/grub/

tar: Removing leading `/' from member names

压缩后内容没有直接以boot开头

 

想查看包内文件详细信息 +v参数

[root@ server63 ~]# tar -tvf ss.tar

dr-xr-xr-x root/root         0 2016-04-21 19:37 boot/

-rw-r--r-- root/root    193758 2013-11-22 11:41boot/symvers-2.6.32-431.el6.x86_64.gz

-rw-r--r-- root/root    105195 2013-11-22 11:40boot/config-2.6.32-431.el6.x86_64

......

 

 

解包:[root@ server63 ~]# tar -xvf ss.tar

[root@xuegod63 ~]# ls

anaconda-ks.cfg             Heartbeat-3-0-958e11be8686.tar.bz2

boot                        install.log

etc                         install.log.syslog

 

指定解压路径:

tar -xf newfile.tar -C /PATH/TO/DISTDIR/

 

[root@server63 ~]# tar -xvf ss.tar -C /opt

[root@server63 ~]# ls /opt/

boot etc 

 

tar 归档+压缩: gz

格式(后缀名)  tar.gz     .tgz

语法: tar zcvf newfile.tar.gz SOURCE

 

[root@server63 ~]# tar -zcvfgrub.tar.gz /boot/grub/

tar: Removing leading `/' from member names

/boot/grub/

/boot/grub/ffs_stage1_5

/boot/grub/device.map

/boot/grub/vstafs_stage1_5

....

对比

[root@ server 63 ~]# ll -h grub.tar*

-rw-r--r--. 1 root root 270K Apr 26 10:33grub.tar

-rw-r--r--. 1 root root 101K Apr 26 11:38grub.tar.gz

 

解压: tar  zxvf  newfile.tar.gz  -C /PATH/TO/DISTDIR/

 

[root@ server 63 ~]# rm -rf /opt/*  # 删除/opt目录下的文件

注意 如果 rm -rf /opt  就是把opt目录删除了  工作中一定要注意

 

[root@ server 63 ~]# tar -zxvf grub.tar.gz-C /opt

 

 

归档+压缩bz2

[root@ server 63 ~]# tar  -jcvf  grub.tar.bz2 /boot/grub/

[root@ server 63 ~]# ll -h grub.tar*

-rw-r--r--. 1 root root 270K Apr 26 10:33grub.tar

-rw-r--r--. 1 root root  90K Apr 26 13:20 grub.tar.bz2

-rw-r--r--. 1 root root 101K Apr 26 11:38grub.tar.gz

 

解压:[root@ server 63 ~]# tar -jxvf grub.tar.bz2 -C /opt/

 

 

zip软件包压缩命令

 [root@server 63 ~]# zip a.zip /etc/passwd

 adding: etc/passwd (deflated 60%)

 

压缩一个目录

 [root@server63~]# zip -r grub.zip /boot/grub/

 

压缩一类文件

zip all.zip  *.jpg  #将所有.jpg的文件压缩成一个包

 

 

解压缩

[root@xuegod63 ~]# unzip  grub.zip  -d  /opt/      #-d 指定到目录