实验环境
在Linux中传输文件需要借助网络以及sshd,我们可通过systemctl status sshd来查看sshd状态
若服务未开启我们可通过systemctl enable --now sshd来开启sshd服务
将/etc/ssh/sshd_config中的PermitRootLogin 状态修改为yes
传输文件
scp
scp (Secure Copy)是一个在 Linux、Unix 以及类 Unix 系统中广泛使用的命令,用于在本地主机和远 程主机之间安全地复制文件和目录。它基于 SSH(Secure Shell)协议,因此在传输过程中会对数据进行 加密,确保数据的安全性
命令:
传输本地文件到远程主机:
scp -r(传输目录时) 本地文件 远程主机用户@远程主机IP:远程主机目录的绝对地址
在命令中添加-q可不显示传输进度
示例:
传输文件
传输目录
传输时不显示传输进度
复制远程主机文件到本地
scp -r 远程主机用户@远程主机 IP:远程主机目录的绝对地址 本地地址
示例:
rsync
rsync 是一个强大且高效的文件同步和传输工具,既可以通过 SSH 协议进行安全传输,也能使用 rsync 守护进程( rsync daemon)进行传输,不仅能实现本地和远程主机间的文件传输,还具备强大 的增量传输功能。它会比较源文件和目标文件的差异,仅传输发生变化的部分,从而节省大量的传输时间和带宽
命令
复制本地文件到远程主机
rsync -参数(r、l、p、t、o、g、D) 本地文件 远程主机用户@远程主机IP:远程主机目录的绝对地址
复制远程主机文件到本地
rsync -参数(r、l、p、t、o、g、D) 远程主机用户@远程主机 IP:远程主机目录的绝对地址 本地地址
参数解释:
-r | 复制目录 |
-l | 复制链接 |
-p | 复制权限 |
-t | 复制时间戳 |
-o | 复制拥有者 |
-g | 复制拥有组 |
-D | 复制设备文件 |
示例:
加速传输文件
归档
归档是指将多个文件或目录收集整合到一个单独的文件中,这个单独的文件就被称为归档文件。归档的 主要目的是方便对大量文件进行管理、备份和传输
命令:tar 参数(c、f、x、v、t、r、--get、--delete、-C) 文件
参数解释
c | 创建 |
f | 指定文件名称 |
v | 现实过程 |
t | 查看 |
r | 向归档文件中添加文件 |
x | 解档 |
--get | 解档指定文件 |
--delete | 删除指定文件 |
-C | 指定解档路径 |
示例
压缩
压缩可缩小文件大小,在Linux中支持多种压缩格式
格式 | 特点 |
gz格式 | 是 Linux 系统中广泛使用的压缩格式,使用gzip算法进行压缩,具有较 快的压缩和解压缩速度,适用于大多数日常文件的压缩 |
bz2格式 | 这种格式采用bzip2算法,压缩率相对较高,但压缩和解压缩速度比 gz格式慢一些 |
xz 格式 | 使用xz算法进行压缩,具有极高的压缩率,能最大程度地减小文件体 积,但压缩和解压缩过程相对较慢 |
zip 格式 | 它可以将多个文 件和目录压缩到一个文件中,并且支持跨平台使用,方便在不同操作系统之间传输文件 |
命令:
zip格式 | zip -r rtc.tarr.zip rtc.tar---压缩 unzip rtc.tar.zip---解压缩 |
bz2格式 | bzip2 rtc.tar---压缩 bunzip2 rtc.tar.bz2---解压缩 |
gz格式 | gzip rtc.tar---压缩 gunzip rtc.tar.gz---解压缩 |
xz格式 | xz rtc.tar---压缩 unxz rtc.tar.xz---解压缩 |
示例:
将归档压缩/解压解档一步到位()
gz格式 | tar zcf etc.tar.gz /etc ---归档压缩 tar zxf etc.tar.gz---解压解档 |
bz2格式 | tar jcf etc.tar.bz2 /etc ---归档压缩 tar jxf etc.tar.bz2---解压解档 |
xz格式 | tar Jcf etc.tar.xz /etc ---归档压缩 tar Jxf etc.tar.xz---解压解档 |
示例: