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 指定到目錄