当前位置: 首页 > news >正文

在Linux系统文件上次及下载

在Linux系统文件上次及下载

        在Linux系统中,文件上传和下载的方法有很多,常见的包括基于SSH的`scp`/`sftp`、本地终端工具`lrzsz`,以及网络下载工具`wget`/`curl`等。以下是详细介绍:

一、基于SSH的文件传输(最常用,适用于远程服务器)

Linux服务器通常默认开启SSH服务,基于SSH的`scp`和`sftp`是最常用的跨机器文件传输工具(无需额外安装,依赖SSH服务)。

1. `scp`:简单高效的单次传输(非交互式)

`scp`(Secure Copy)通过SSH协议在本地和远程机器间复制文件/目录,支持跨平台(Linux、Windows、Mac)。

- 本地文件 → 远程服务器:`scp [本地文件路径] [远程用户]@[远程IP]:[远程保存路径]`  

- 远程文件 → 本地:`scp [远程用户]@[远程IP]:[远程文件路径] [本地保存路径]`  

- 传输目录(加`-r`参数):`scp -r [本地目录] [远程用户]@[远程IP]:[远程目录]`  

示例:  

- 把本地`/home/test.txt`传到远程服务器(用户`root`,IP`192.168.1.100`)的`/tmp`目录:  

  >bash

  scp /home/test.txt root@192.168.1.100:/tmp/

  >  

- 从远程服务器下载`/root/data.zip`到本地`./download`目录:  

  >bash

  scp root@192.168.1.100:/root/data.zip ./download/

  >  

- 传输本地`/home/docs`目录到远程`/opt`:  

  >bash

  scp -r /home/docs root@192.168.1.100:/opt/

  >  

2. `sftp`:交互式传输(适合多文件/目录操作)

`sftp`(Secure File Transfer Protocol)是交互式工具,类似FTP但基于SSH加密,适合需要多次上传/下载的场景。

步骤:  

1. 连接远程服务器:`sftp [远程用户]@[远程IP]`(回车后输入密码)  

   >bash

   sftp root@192.168.1.100

   >  

2. 上传文件:`put [本地文件路径] [远程保存路径]`(默认保存到远程当前目录)  

   >bash

   put /home/test.txt   上传到远程当前目录

   put /home/image.jpg /tmp/pic/   上传到远程/tmp/pic/目录

   >  

3. 下载文件:`get [远程文件路径] [本地保存路径]`(默认保存到本地当前目录)  

   >bash

   get /root/logs.tar.gz   下载到本地当前目录

   get /root/report.pdf ./docs/   下载到本地./docs/目录

   >  

4. 传输目录(需先在远程创建目录,再用`-r`参数):  

   >bash

    先在远程创建目录(sftp内支持部分Linux命令,如mkdir)

   sftp> mkdir /opt/docs  

    上传本地目录

   sftp> put -r /home/local_docs /opt/docs  

   >  

5. 退出:`exit` 或 `quit`  

二、本地终端直接上传下载(`lrzsz`工具)

如果通过终端(如Xshell、SecureCRT)直接连接服务器,可安装`lrzsz`工具实现“拖拽式”上传下载(需终端支持)。

步骤:  

1. 服务器安装`lrzsz`:  

   - CentOS/RHEL:`yum install -y lrzsz`  

   - Ubuntu/Debian:`apt install -y lrzsz`  

2. 上传文件:在服务器终端输入 `rz`,会弹出本地文件选择窗口,选择文件即可上传到当前目录。  

3. 下载文件:在服务器终端输入 `sz [文件名]`,文件会下载到本地终端的默认目录(可在终端设置中修改下载路径)。  

   >bash

   sz test.txt   下载test.txt到本地

   sz /root/data/*   下载多个文件

   

三、从网络下载文件(`wget`/`curl`)

如果需要从网络URL(如HTTP/HTTPS/FTP)下载文件到Linux服务器,常用`wget`或`curl`。

1. `wget`:专注下载的工具

语法:`wget [URL]`(默认保存到当前目录,支持断点续传`-c`)  

示例:  

>bash

 下载文件到当前目录

wget https://example.com/file.zip  

 自定义保存文件名(-O参数)

wget -O myfile.zip https://example.com/file.zip  

 断点续传(中断后继续下载)

>  wget -c https://example.com/largefile.iso  

2. `curl`:多功能工具(支持下载)

语法:`curl -O [URL]`(`-O`保留原文件名,`-o`自定义文件名)  

示例:  

>bash

 下载文件(保留原文件名)

curl -O https://example.com/image.png  

 自定义保存文件名

>  curl -o myimg.png https://example.com/image.png  

四、注意事项

1. 权限问题:上传到远程目录需确保远程用户有写入权限;下载远程文件需确保有读取权限。  

2. 端口问题:若SSH非默认端口(22),需指定端口(如`scp -P 2222 ...`、`sftp -P 2222 ...`)。  

3. 大文件传输:建议用`scp`或`sftp`,避免`lrzsz`(可能不稳定)。  

http://www.dtcms.com/a/352064.html

相关文章:

  • 《2025年最新IDE激活码永久破解教程 – 支持JetBrain全家桶2099年授权》
  • UE5安全架构审视:创造者的伊甸园与黑客的游乐场
  • pytorch入门4:cnn卷积神经网络
  • 《UE5_C++多人TPS完整教程》学习笔记44 ——《P45 倾斜与侧向移动(Leaning And Strafing)》
  • MoonBit Pearls Vol.06: MoonBit C-FFI 开发指南
  • 【新启航】现场逆向抄数实战:手持 3D 扫描仪 + 移动建模 APP 的轻量化工具组合与快速响应能力
  • 三款音乐生成工具,你更喜欢哪一个?
  • 如何在pixel上验证webview的功能
  • 服务初始化
  • 基于单张图像的深度估计方法研究:利用 Hugging Face 与 FiftyOne 实现单目深度估计模型的运行与评估
  • 从零开始学MCP(7) | 实战:用 MCP 构建论文分析智能体
  • 零基础从头教学Linux(Day 20)
  • javascript 基础知识- 字面量/内置对象
  • LVGL学习
  • 【设计模式】 面向对象基础
  • K8S-Service资源对象
  • 虚拟机中kubeadim部署的k8s集群,虚拟机关机了,重新开机后集群状态能否正常恢复的两种可能(详解)
  • 114、【OS】【Nuttx】【周边】效果呈现方案解析:-print0 补充(下)
  • WeakAuras Lua Script ICC (BarneyICC) Simplified Chinese [Mini]
  • WeakAuras Lua Script (My Version)
  • 【数据分享】各地级市当年实际使用外商外资金额(2003-2021)-有缺失值
  • 【AI Agent三】工具使用设计模式
  • 系统设计(数据库/微服务)
  • 基于Python+AlphaBot 实现红外遥控且自动避障的嵌入式智能小车系统
  • Cursor 中文输出设置:繁体改为简体的方法
  • uniapp 页面favicon.ico文件不存在提示404问题解决
  • uniapp 自动升级-uni-upgrade-center
  • 家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)
  • 【Python实战练习】用 Python与Pygame 打造完整的贪吃蛇小游戏
  • Elasticsearch中的设置refresh_interval