以下是关于如何将文件上传到Linux系统的详细指南,涵盖多种方法和常见场景,适用于不同操作系统和需求:
命令行工具上传(适合所有操作系统)
方法 | 命令示例 | 特点 | 适用场景 |
---|---|---|---|
SCP | scp -C file.txt user@host:/path |
安全、需SSH支持 | 快速上传小文件 |
SFTP | sftp user@host , 后接put file.txt |
交互式操作、支持断点续传 | 大文件或需多次传输 |
rsync | rsync -avz file.txt user@host:/path |
增量传输、可断点续传 | 同步大量文件或目录 |
SCP上传文件
- 步骤:
- 打开终端,输入命令:
scp /local/path/file.txt user@remote_ip:/remote/path
- 输入远程服务器密码(首次连接可能提示确认主机指纹)
- 打开终端,输入命令:
- 参数说明:
-C
:启用压缩(适合大文件)-i /path/to/key
:指定私钥文件(免密登录)-r
:递归上传目录
- 示例:
scp -C -i ~/.ssh/id_rsa.pub dir/ user@192.168.1.100:/data/
SFTP上传文件
- 步骤:
- 执行
sftp user@host
连接服务器 - 使用
put local_file
上传文件 - 使用
ls
和cd
管理远程目录
- 执行
- 优势:支持实时查看传输进度,可中途暂停(Ctrl+Z)
rsync高效同步
- 常用命令:
rsync -avz --progress local_dir/ user@host:/remote_dir/
- 参数解析:
-a
:归档模式(保留权限、符号链接等)-z
:压缩传输--partial
:保留未完成的文件以便断点续传
图形化工具上传(适合Windows/macOS)
WinSCP(Windows专用)
- 操作步骤:
- 输入主机名、用户名、密码
- 左侧窗口浏览本地文件,右侧为远程目录
- 拖拽文件或右键选择“上传”
- 特色功能:支持自动重命名冲突文件、设置传输规则
FileZilla(跨平台)
- 配置要点:
- 主机栏填写
sftp://user@host:port
(默认端口22) - 加密方式选择“使用SSH密钥”或“普通密码”
- 主机栏填写
- 优势:多任务并行传输、实时带宽监控
跨平台特殊场景解决方案
Windows <> Linux 文件互传
- 方法1:PowerShell + SCP
# 安装ssh-client模块后 scp .file.txt user@linux_host:/target/path
- 方法2:映射Samba共享
- 在Linux创建共享目录:
sudo smbshare -s /path/to/dir
- Windows访问
\linux_ipshared_dir
,像访问局域网文件夹一样上传
- 在Linux创建共享目录:
macOS与Linux传输
- 使用KITTY终端:
- 启用KITTY的
Zmodem
接收功能 - 在Linux端执行
receive
命令 - 直接拖动文件到KITTY窗口即可上传
- 启用KITTY的
服务器端配置要求
服务类型 | 配置命令 | 作用 |
---|---|---|
SSH服务 | sudo systemctl status sshd |
确保22端口开放 |
防火墙设置 | firewall-cmd --permansever add-port=22/tcp |
允许SSH连接 |
Samba服务 | sudo apt install samba |
启用Windows共享支持 |
常见问题与解决
连接超时或拒绝
- 原因:防火墙未开放端口、SSH服务未启动
- 解决:
sudo systemctl start sshd # 启动SSH服务 firewall-cmd --reload # 重置防火墙规则
权限不足导致上传失败
- 修复命令:
sudo chmod 775 /target/directory sudo chown user:group /target/directory
中断后如何续传
- rsync方案:添加
--partial-dir=.rsync-partial
参数 - SFTP方案:重新连接后继续
put -r
命令
FAQs
Q1:如何在不输入密码的情况下上传文件?
A1:可通过SSH密钥认证实现免密登录,生成密钥对:ssh-keygen
,将~/.ssh/id_rsa.pub
内容追加到服务器/home/user/.ssh/authorized_keys
,之后使用scp -i id_rsa
即可免密传输。
Q2:上传后文件权限异常如何修复?
A2:使用scp -p
保留原权限,或在上传后执行chmod
修正,`chmod 755 uploaded_script.sh
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/76033.html