Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

时间:2022-06-29 16:25:52

文件传输与压缩

摘要:本次博文主要介绍了不同主机之间在可以通信的前提下的文件远程传输上传和下载、文件的打包和压缩,希望对读者有所帮助。

一、文件传输

scp的上传和下载

  1.上传

格式:scp file username@ip:/dir

例如:scp /mnt/redhat root@172.25.211:/mnt

表示把本地主机的/mnt/redhat发送到主机211/mnt下

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

在接受端主机可以看:

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

  2.下载

格式:scp  username@ip:/dir/file  /dir

例如:scp root@172.25.254.186:/mnt/redhat .

表示在主机186中下载/mnt/redhat 到当前

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

(二)rsync的传输

格式如下:

rsync [参数] file username@ip:/dir

rsync -r     同步目录

-l         不忽略链接

-p         不忽略文件权限

-t         不忽文件时间戳

-g         不忽文件所有组

-o         不忽文件所有人

-D         不忽略设备文件

举例演示:

如下,在发送主机建立五个文件和一个链接,并修改其权限和所有人

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

在发送主机可以查看到:

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

然后上传到接受主机211的/mnt/中

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

在接受主机可以查看到:上述主机修改部分并没有同步过来

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

现在通过设定参数,再次发送到主机211的/mnt/中

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

效果如下:对应参数部分已经同步到接受主机211

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

二、文件打包归档

文件归档,就是把多个文件变成一个归档文件

关于打包归档的相关命令如下:

tar c   创建

   f    指定归档文件名称

   t    显示归档文件中的内容

   r    向归档文件中添加文件

  --get   取出单个文件

  --delete 删除单个文件

   x    取出归档文件中的所有内容

   -C   指定解档目录

   -z   gz格式压缩

   -j   bz2格式压缩

   -J   xz格式压缩

举例演示:

tar cf etc.tar /etc/            

表示打包成etc.tar

tar xf etc.tar                  

表示默认解包到当前目录

tar xf etc.tar -C /mnt           

表示解包到指定mnt目录

tar rf etc.tar /boot/           

表示把/boot/添加到etc.tar

tar -f etc.tar  --delete etc    

表示仅仅删除etc

tar -f etc.tar  --get etc        

表示仅仅把etc拿出来

tar tf etc.tar           

表示不解压查看 etc.tar

tar -f etc.tar --get boot       

表示只将boot拿出来

tar -f etc.tar --get boot/grub  

表示只将boot子目录grub拿出来

三、常见的压缩命令

为了比较常见的几种压缩命令,这里先将/etc/  打包为etc.tar

tar cf etc.tar /etc/

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

测试其大小为30M

du -sh etc.tar

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

1.zip

压缩 etc.tar

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

查看大小

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

解压

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

2.gzip

压缩  etc.tar

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

查看大小

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

解压

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

3.bzip2

压缩 etc.tar

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

查看大小

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

解压

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

4.xz

压缩  etc.tar

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

查看大小

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

解压

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2

 

(二)直接完成压缩

 (1)关于gz的命令

打包压缩同时进行

tar -zcf etc.tar.gz /etc/

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

解压到指定/mnt/

tar  -zxf etc.tar.gz -C /mnt/

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

 (2)关于bz2的命令

打包压缩同时进行

tar -jcf etc.tar.bz2 /etc/

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

解压到当前

tar  -jxf etc.tar.bz2

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

 (3)关于xz的命令

打包压缩同时进行

tar  -Jcf etc.tar.xz /etc/

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2 

解压到当前

tar  -Jxf etc.tar.xz

Linux系统文件的网络传输、归档tar、压缩zip、gzip、bzip2、xz、gz、bz2