我先介绍所有的命令,最后完成一遍压缩,传输,接收偶,解压缩的完整过程。

文件传输

scp

scp (secure copy) 命令用于在本地和远程主机之间安全地复制文件和目录。

示例:将本地文件 file.txt 复制到远程服务器的 /home/user 目录。

scp file.txt user@remotehost:/home/user

示例:从远程服务器的 /home/user 目录复制文件 file.txt 到当前本地目录。

scp user@remotehost:/home/user/file.txt .

rsync

rsync 命令用于同步文件和目录,常用于备份和镜像。

示例:同步本地 src_directory/ 到远程服务器上的 dest_directory/,保持权限和时间戳。

rsync -avz src_directory/ user@remotehost:/path/to/dest_directory/

-a 参数表示归档模式,保持所有文件属性;-v 参数表示详细模式;-z 参数表示压缩数据传输。

压缩与解压缩

gzip

gzip 命令用于压缩文件。

示例:压缩 file.txt 文件。

gzip file.txt

这会生成一个 file.txt.gz 压缩文件,并删除原始文件。

gunzip

gunzip 命令用于解压 .gz 文件。

示例:解压 file.txt.gz 文件。

gunzip file.txt.gz

解压后会得到原始文件 file.txt,并删除压缩文件。

tar

tar 命令用于创建、查看、提取 tar 归档文件。

示例:将 directory/ 打包并压缩成 archive.tar.gz

tar -czvf archive.tar.gz directory/

-c 创建一个新的归档文件;-z 使用 gzip 压缩;-v 显示详细过程;-f 指定归档文件名。

示例:从 archive.tar.gz 解压文件。

tar -xzvf archive.tar.gz

-x 从归档文件中提取文件。

rz 和 sz

rzsz 是 ZModem 协议的 Unix 命令行实现,通常用于通过终端会话进行文件传输。这些命令通常在与 minicom 或其他串行通信程序一起使用时非常有用。

rz

rz 是一个接收文件的程序,用于从另一端上传文件到当前系统。

rz 的常用参数有:

-b:二进制传输模式,用于传输二进制文件。

-e:转义所有控制字符,这在通道不是全8位干净时很有用。

-y:覆盖已存在的文件,而不是询问。

由于 rzsz 命令通常在一个终端程序内部运行,它们不需要在常规的命令行环境中使用。当你在一个终端会话中时,你通常只需输入 rz 命令,并通过终端程序的对话框选择要上传的文件。

sz

sz 命令用于发送文件到另一端。

压缩、sz、rz、解压缩的模拟过程

现在让我们模拟一个完整的压缩文件、使用 sz 发送、对方使用 rz 接收、然后解压缩文件的过程:

压缩文件

首先,在发送端,将要发送的文件或目录压缩。假设有一个名为 data 的目录需要压缩:

tar -czvf data.tar.gz data/

这会创建一个名为 data.tar.gz 的压缩文件。

使用 sz 发送压缩文件

在终端程序中,使用 sz 发送压缩文件:

sz data.tar.gz

接收方使用 rz 接收文件

在接收方的终端程序中,他们准备接收文件:

rz

然后在弹出的对话框中选择接收文件。

解压缩文件

一旦文件传输完成,接收方可以解压缩文件:

tar -xzvf data.tar.gz

这会在接收方的系统上解压缩 data.tar.gz,重建 data 目录。

注意事项

  • 在现代网络环境中,szrz 不如 scprsync 命令常用,因为后者支持通过 SSH 进行安全传输。

  • 如果你在图形界面环境中,可能需要使用其他工具(如 FileZillascp 命令),它们提供了更现代和方便的文件传输方式。

  • 在使用这些命令之前,请确保对方的系统上安装了相应的软件,并且他们知道如何接收或发送文件。

  • 对于 szrz,你可能需要特定的硬件(如串行端口)或软件(如 minicom)来支持 ZModem 协议。

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐