在 Linux 系统中,上传文件可以通过多种方式实现,具体取决于文件来源和目标位置。以下是几种常用的文件上传方法及对应命令:
# 上传单个文件
scp /本地/文件路径 username@远程服务器IP:/远程/目标路径/
# 上传整个目录(递归)
scp -r /本地/目录路径 username@远程服务器IP:/远程/目标路径/
# 指定端口(如2222)
scp -P 2222 /本地/文件路径 username@IP:/远程/路径/
# 连接SFTP
sftp username@远程服务器IP
# 上传文件
put /本地/文件路径 /远程/目标路径/
# 上传目录(需先启用递归)
put -r /本地/目录路径 /远程/目标路径/
# 退出SFTP
exit
适合增量同步或大文件传输:
# 同步文件(保留权限、显示进度)
rsync -avzP /本地/文件路径 username@IP:/远程/目标路径/
# 指定端口(如2222)
rsync -avzP -e "ssh -p 2222" /本地/路径 username@IP:/远程/路径/
scp username@IP:/远程/文件路径 /本地/目标路径/
sftp username@IP
get /远程/文件路径 /本地/目标路径/
# 通过curl上传(如API接口)
curl -F "file=@/本地/文件路径" http://目标URL
# 使用wget模拟表单上传(较少用)
wget --post-file=文件路径 URL
# 将本地文件通过SSH传到远程
cat /本地/文件 | ssh username@IP "cat > /远程/目标路径/文件名"
chmod
/chown
)。rsync
或scp -C
(压缩传输)。ssh-keygen
)。systemctl status sshd
)。sudo
。-C
启用压缩,或更换协议(如rsync)。根据实际场景选择合适的方法即可。