插件窝 干货文章 linux常用命令上传文件方法

linux常用命令上传文件方法

路径 文件 远程 本地 256    来源:    2025-04-03

在 Linux 系统中,上传文件可以通过多种方式实现,具体取决于文件来源和目标位置。以下是几种常用的文件上传方法及对应命令:


1. 本地 → 远程服务器(SCP/SFTP)

方法1:SCP(安全复制协议)

# 上传单个文件
scp /本地/文件路径 username@远程服务器IP:/远程/目标路径/

# 上传整个目录(递归)
scp -r /本地/目录路径 username@远程服务器IP:/远程/目标路径/

# 指定端口(如2222)
scp -P 2222 /本地/文件路径 username@IP:/远程/路径/

方法2:SFTP(交互式文件传输)

# 连接SFTP
sftp username@远程服务器IP

# 上传文件
put /本地/文件路径 /远程/目标路径/

# 上传目录(需先启用递归)
put -r /本地/目录路径 /远程/目标路径/

# 退出SFTP
exit

2. 本地 → 远程服务器(rsync)

适合增量同步或大文件传输:

# 同步文件(保留权限、显示进度)
rsync -avzP /本地/文件路径 username@IP:/远程/目标路径/

# 指定端口(如2222)
rsync -avzP -e "ssh -p 2222" /本地/路径 username@IP:/远程/路径/

3. 从远程服务器下载文件到本地

SCP反向操作

scp username@IP:/远程/文件路径 /本地/目标路径/

SFTP反向操作

sftp username@IP
get /远程/文件路径 /本地/目标路径/

4. 使用工具(如curl/wget)

上传到HTTP服务器(需服务端支持)

# 通过curl上传(如API接口)
curl -F "file=@/本地/文件路径" http://目标URL

# 使用wget模拟表单上传(较少用)
wget --post-file=文件路径 URL

5. 通过SSH直接传输(管道)

# 将本地文件通过SSH传到远程
cat /本地/文件 | ssh username@IP "cat > /远程/目标路径/文件名"

6. 图形化工具

  • FileZilla:支持SFTP/FTPS的GUI工具。
  • WinSCP(Windows):类似SCP/SFTP的图形客户端。

注意事项

  1. 权限问题:确保目标路径有写入权限(chmod/chown)。
  2. 防火墙:开放对应端口(默认SCP/SFTP用22,可自定义)。
  3. 大文件:建议用rsyncscp -C(压缩传输)。
  4. 密钥认证:推荐使用SSH密钥免密登录(ssh-keygen)。

常见问题解决

  • 连接超时:检查IP、端口、网络及服务是否运行(systemctl status sshd)。
  • 权限拒绝:检查目标目录权限或使用sudo
  • 速度慢:尝试-C启用压缩,或更换协议(如rsync)。

根据实际场景选择合适的方法即可。