在Linux系统中,远程文件传输有多种高效且安全的方式,以下是常用的方法及详细操作指南:
特点:基于SSH协议加密传输,简单易用。
适用场景:单文件或小规模传输。
命令示例:
# 本地 → 远程
scp /local/path/file.txt username@remote_ip:/remote/path/
# 远程 → 本地
scp username@remote_ip:/remote/path/file.txt /local/path/
# 递归传输目录(-r)
scp -r /local/dir username@remote_ip:/remote/path/
注意:默认使用SSH端口22,若修改端口需加 -P port_num
。
特点:交互式操作,类似FTP但更安全。
适用场景:需要浏览远程目录或频繁传输。
操作步骤:
sftp username@remote_ip
登录后使用以下命令:
- put local_file
:上传文件
- get remote_file
:下载文件
- ls
、cd
:浏览远程目录
- lls
、lcd
:浏览本地目录
- exit
:退出
特点:增量同步,高效传输大文件或目录。
适用场景:备份或同步大量数据。
命令示例:
# 本地同步到远程(-a归档模式,-z压缩,-v显示进度)
rsync -azv /local/path/ username@remote_ip:/remote/path/
# 远程同步到本地
rsync -azv username@remote_ip:/remote/path/ /local/path/
# 删除目标多余文件(--delete)
rsync -azv --delete /local/path/ username@remote_ip:/remote/path/
特点:结合tar压缩传输,节省带宽。
命令示例:
# 本地打包 → 远程解压
tar czf - /local/dir | ssh username@remote_ip "tar xzf - -C /remote/path"
# 远程打包 → 本地解压
ssh username@remote_ip "tar czf - /remote/dir" | tar xzf - -C /local/path
特点:传统协议,需安装服务端(如vsftpd)。
配置步骤:
1. 安装vsftpd:
bash
sudo apt install vsftpd # Debian/Ubuntu
sudo yum install vsftpd # CentOS/RHEL
2. 修改配置文件 /etc/vsftpd.conf
,启用SSL(FTPS)更安全。
3. 使用客户端连接:
bash
ftp remote_ip
# 或图形化工具(FileZilla等)
bash
ssh-copy-id username@remote_ip
根据需求选择合适工具,平衡效率与安全性!