如何在Linux中进行文件传输?代码举例讲解

在Linux中,可以通过以下两种方式进行文件传输:

1. SCP(Secure Copy)传输:

  • SCP是SSH协议的文件传输机制,可以在本地和远程服务器之间复制文件。
  • 需要在服务器启用SSH服务。
  • 传输命令:scp source destination
  • 支持递归复制目录,-r参数。
    例如:
scp /home/file.txt root@192.168.1.100:/tmp/  # 本地上传文件到远程
scp root@192.168.1.100:/home/file.txt /tmp/  # 远程下载文件到本地
scp -r /home/dir root@192.168.1.100:/tmp/  # 递归上传目录

2. FTP传输:

  • FTP是文件传输协议,用于在本地和FTP服务器之间传输文件。
  • 需要在服务器安装FTP服务,默认端口21。
  • 使用FTP客户端或命令行工具连接FTP服务器,上传和下载文件。
  • 命令行使用ftp命令,然后使用put上传和get下载文件。
    例如:
ftp 192.168.1.100  
# 连接后输入:
put /home/file.txt 
get file.txt

两种方式对比:

  • SCP基于SSH,传输加密,更安全可靠。FTP明文传输,存在信息泄露风险。
  • SCP配置简单,利用现有的SSH服务即可。FTP需要单独安装并配置FTP服务。
  • SCP只提供基本的文件传输功能。FTP还提供其他功能,如目录浏览.重命名等。
  • SCP默认端口22,FTP默认端口21。