linux下面用ssh上传,下载文件
封面图
•
2025-10-28
•
Linux
260
0
0
0
在 Linux 系统中,使用 `ssh` 进行文件上传和下载,通常会结合 `scp`(secure copy)命令或者 `rsync` 命令。下面是常用的几种方式: --- ## ✅ 1. 使用 `scp` 命令 ### 上传文件到远程服务器 ```bash scp /本地路径/文件名 用户名@远程IP:/远程路径/ ``` **示例:** ```bash scp myfile.txt user@192.168.1.100:/home/user/ ``` 这会将本地的 `myfile.txt` 文件上传到远程服务器的 `/home/user/` 目录下。 --- ### 下载文件从远程服务器 ```bash scp 用户名@远程IP:/远程路径/文件名 /本地路径/ ``` **示例:** ```bash scp user@192.168.1.100:/home/user/remotefile.txt /home/localuser/ ``` 这会将远程服务器上的 `remotefile.txt` 文件下载到本地的 `/home/localuser/` 目录。 --- ## ✅ 2. 使用 `rsync` 命令(适合大文件或目录同步) ### 上传整个目录 ```bash rsync -avz /本地路径/ 用户名@远程IP:/远程路径/ ``` **示例:** ```bash rsync -avz /home/localuser/mydir/ user@192.168.1.100:/home/user/ ``` - `-a`: 归档模式,保留权限、时间等属性。 - `-v`: 显示详细过程。 - `-z`: 压缩传输,加快速度。 --- ### 下载整个目录 ```bash rsync -avz 用户名@远程IP:/远程路径/ /本地路径/ ``` **示例:** ```bash rsync -avz user@192.168.1.100:/home/user/remote_dir/ /home/localuser/ ``` --- ## ✅ 3. 使用 `sftp`(交互式文件传输) `sftp` 是基于 SSH 的文件传输工具,支持交互式操作。 ### 启动 sftp 客户端 ```bash sftp 用户名@远程IP ``` **示例:** ```bash sftp user@192.168.1.100 ``` 然后你可以使用以下命令: - `get 文件名`:下载文件 - `put 文件名`:上传文件 - `ls`:查看远程目录 - `lcd`:切换本地目录 - `cd`:切换远程目录 **示例:** ```bash sftp> put myfile.txt sftp> get remotefile.txt ``` --- ## ✅ 4. 使用 `ssh` + `tar`(适合大文件或目录) 如果你需要传输大量文件,可以先打包再传输: ```bash tar -czf - /本地路径/ | ssh 用户名@远程IP "tar -xzf - -C /远程路径/" ``` **示例:** ```bash tar -czf - /home/localuser/mydata/ | ssh user@192.168.1.100 "tar -xzf - -C /home/user/" ``` --- ## 📌 小贴士: - 如果你没有设置 SSH 密钥认证,每次传输都会提示输入密码。 - 可以使用 `ssh-copy-id` 来配置免密登录,提升效率。 --- ## ✅ 总结 | 工具 | 用途 | 是否支持交互 | 是否支持压缩 | |----------|----------------------|--------------|---------------| | `scp` | 快速上传/下载文件 | ❌ | ✅ | | `rsync` | 高效同步文件/目录 | ❌ | ✅ | | `sftp` | 交互式文件传输 | ✅ | ✅ | | `tar` | 批量打包传输 | ❌ | ✅ | 如需进一步帮助,请告诉我你的具体场景(比如是上传一个文件还是多个目录?是否需要自动登录?)。
上一篇:
Ping命令详解
下一篇:
linux远程下载文件 的两种方法之 ftp命令和scp命令
标题录入,一次不能超过6条
留言
评论