摘要:本节主要介绍不同法系统之间的文件传输,包括文件的归档,压缩及传输。

 不同系统之间的文件传输



序:生活中我们经常会在虚拟机下进行终端中命令的验证,必要时需将文件在真机与虚拟机之间进行传输,同时还要考虑到文件传输的速度。这就需要用到我们这节要介绍的内容:文件的归档压缩与传送。



一、系统中的文件传输




1.文件的上传与下载


scp    file     username@ip:/dir    ##文件的上传(ip为接收方ip)

scp    username@ip:/dir/file  /dir    ##文件的下载(ip为被下载方ip)



实操:将server主机中的文件传送到desktop主机中

1)文件的上传


>>发送方

linux 如何导出java进程内存_博客


>>接受方

linux 如何导出java进程内存_linux 如何导出java进程内存_02



2)文件的下载


>>被下载方

linux 如何导出java进程内存_博客_03


>>下载方

命令及结果如下:

linux 如何导出java进程内存_linux 如何导出java进程内存_04


linux 如何导出java进程内存_运维_05



3)目录及其内容的下载


>>命令及其结果如下:

linux 如何导出java进程内存_运维_06


linux 如何导出java进程内存_linux 如何导出java进程内存_07



注:以上三个实验前/mnt/中内容已被清空



2.文件及其目录的同步


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


rsync  

  -r 


 -l  ##不忽略链接

    -p    ##不忽略文件权限

    -t  ##不忽文件时间戳

    -g    ##不忽文件所有组

    -o    ##不忽文件所有人

    -D    ##不忽略设备文件



实操:

1)实验前需作如下操作


linux 如何导出java进程内存_运维_08



2)以上命令详细验证及其结果如下:


>>rsync -r  ##同步目录

linux 如何导出java进程内存_运维_09


注:如上,只同步了文件,关于其权限,所有人所有组,时间戳,链接都未同步。其同步方式如上,只不过命令不一,于是一起同步结果如下,不再一一赘述。

>>rsync -rpogtl

linux 如何导出java进程内存_linux 如何导出java进程内存_10


>>关于设备文件

rsync -r ##忽略

linux 如何导出java进程内存_运维_11


rsync -rD ##不忽略

linux 如何导出java进程内存_运维_12



注:

=》scp root@172.25.254.118:/mnt/ /root/Desktop

无论时 /mnt 还是 /mnt/ , 其目录/mnt/本身也会被传过去

=》rsync -r /mnt/ root@172.25.254.118:/root/Desktop

/mnt/ ,表示目录下的内容会过去,目录本身不会过去

/mnt ,表示目录下的内容会过去,目录本身不会过去



二、文件归档

1.


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

归档目的:加快传输速度


2.

tar    -c


-f         ##指定归档文件名称

    -t         ##显示归档文件中的内容


-r 


    --get        ##取出单个文件

    --delete    ##删除单个文件

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

    -C        ##指定解档目录

    -z         ##gz格式压缩

    -j          ##bz2格式压缩

    -J         ##xz格式压缩


实操:

1)归档文件大小的变化


linux 如何导出java进程内存_linux 如何导出java进程内存_13


注:由上,归档后文件内容变小,少的时文件中软链接对于内存的占用

文件内容大小的查看:du -sh 文件/目录


2)关于以上命令可自行依次做如下操作:


[root@localhost mnt]# tar -cf etc.tar /etc/ /boot/

tar: Removing leading `/' from member names

[root@localhost mnt]# tar -xf etc.tar -C /root/Desktop

[root@localhost mnt]# tar -f etc.tar --delete boot/  ##这里若用/boot/即表示绝对命令,删除了/boot/目录

[root@localhost mnt]# tar -rf etc.tar /boot/  ##表示取出归档文件/boot/中的内容

tar: Removing leading `/' from member names

[root@localhost mnt]# tar -f etc.tar --get boot/

[root@localhost mnt]# tar -tf etc.tar




二、压缩


gz

gzip etc.tar        ##压缩成gz格式

gunzip  etc.tar.gz    ##解压gz格式压缩包

tar zcf etc.tar.gz /etc    ##把文件归档为tar并压缩成gz

tar zxf etc.tar.gz    ##解压并解档gz格式压缩包


bz2

bzip2 etc.tar        ##压缩成bz2格式

bunzip2 etc.tar.bz2    ##解压bz2格式压缩包

tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2

tar jxf etc.tar.bz2    ##解压并解档bz2格式压缩包


xz

xz etc.tar         ##压缩成xz格式

unxz  etc.tar.xz    ##解压xz格式压缩包

tar Jcf etc.tar.xz /etc    ##把文件归档为tar并压缩成zx

tar Jxf etc.tar.xz    ##解压并解档xz格式压缩包


zip


zip -r etc.tar.zip etc.tar    ##压缩成zip格式

unzip etc.tar.zip        ##解压zip格式压缩包


注:

(zip压缩使用于纯文本的压缩,否则易出问题)

打包压缩一步完成gz.bz2,xz

其上三个方式一次对应的命令为 -z, -j, -J

其压缩能力也依次变强