一、文件传输
scp:
scp (secure copy) 命令用于在本地和远程主机之间安全地复制文件和目录。
示例1:将本地文件 file.txt 复制到远程服务器的 /home/user 目录。
scp file.txt user@remotehost:/home/user
示例2:从远程服务器的 /home/user 目录复制文件 file.txt 到当前本地目录。
scp user@remotehost:/home/user/file.txt .
rsync:
rsync 命令用于同步文件和目录,常用于备份和镜像。
示例1:同步本地 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 归档文件。
示例1:将 directory/ 打包并压缩成 archive.tar.gz。
tar -czvf archive.tar.gz directory/
说明:-c 创建一个新的归档文件;-z 使用 gzip 压缩;-v 显示详细过程;-f 指定归档文件名。
示例2:从 archive.tar.gz 解压文件。
tar -xzvf archive.tar.gz
说明:-x 从归档文件中提取文件。
rz 和 sz
rz 和 sz 是 ZModem 协议的 Unix 命令行实现,通常用于通过终端会话进行文件传输。这些命令通常在与 minicom 或其他串行通信程序一起使用时非常有用。
rz
rz 是一个接收文件的程序,用于从另一端上传文件到当前系统。
rz 的常用参数有:
-b:二进制传输模式,用于传输二进制文件。
-e:转义所有控制字符,这在通道不是全8位干净时很有用。
-y:覆盖已存在的文件,而不是询问。
由于 rz 和 sz 命令通常在一个终端程序内部运行,它们不需要在常规的命令行环境中使用。当你在一个终端会话中时,你通常只需输入 rz 命令,并通过终端程序的对话框选择要上传的文件。
sz
sz 命令用于发送文件到另一端。
现在我们模拟一个完整的压缩文件、使用 sz 发送、对方使用 rz 接收、然后解压缩文件的过程:
首先,在发送端,将要发送的文件或目录压缩。假设有一个名为 data 的目录需要压缩:
tar -czvf data.tar.gz data/
注:这会创建一个名为 data.tar.gz 的压缩文件。
其次,在终端程序中,使用 sz 发送压缩文件:
sz data.tar.gz
再次,在接收方的终端程序中,他们准备接收文件:
rz
然后在弹出的对话框中选择接收文件。
最后,一旦文件传输完成,接收方可以解压缩文件:
tar -xzvf data.tar.gz
这会在接收方的系统上解压缩 data.tar.gz,重建 data 目录。
写在最后:
注意事项
在现代网络环境中,sz 和 rz 不如 scp 或 rsync 命令常用,因为后者支持通过 SSH 进行安全传输。
如果你在图形界面环境中,可能需要使用其他工具(如 FileZilla 或 scp 命令),它们提供了更现代和方便的文件传输方式。
在使用这些命令之前,请确保对方的系统上安装了相应的软件,并且他们知道如何接收或发送文件。
对于 sz 和 rz,你可能需要特定的硬件(如串行端口)或软件(如 minicom)来支持 ZModem 协议。