歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux 文件歸檔

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

Copyright © Linux教程網 All Rights Reserved