linux 服务器之间传输文件的方式

文章介绍了在面临远程项目迁移时,如何避免大文件下载上传的困扰。提到了两种解决方案:scp和wget。scp是安全可靠的文件拷贝工具,但不支持排除目录;wget则支持排除目录和限速,但需要远程机器开启FTP服务。两种工具各有优缺点,适用于不同的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景:有时迁移项目,一般人就想到需要在服务器下载到win本地电脑上面,再上传到目的服务器,这样若是文件大,下载的速度都足够让你歇一天了。遇到这问题,怎么解决呢?

方法1:scp

【优点】

简单方便,安全可靠;支持限速参数

【缺点】

不支持排除目录

【用法】

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。

【命令格式】
scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 

 目的地址,可以不写,直接写当前服务器放项目的路径就好

案例:把12.18.43.52机器上的logo.png文件拷贝到本地的/home/james目录下

scp admin@12.18.43.52:/www/wwwroot/www.hxmoney.cn/logo.png /home/wwwroot

 其他用法

scp -r /home/work/sourcedir work@192.168.0.10:/home/work/  #拷贝文件夹,加-r参数 
scp -r /home/work/sourcedir work@www.myhost.com:/home/work/  #使用主机名 
scp -r -v /home/work/sourcedir work@www.myhost.com:/home/work/  #显示详情,加-v参数

 {拷贝文件夹时需加-r参数}

方法2:wget

【优点】简单方便,支持排除目录,支持限速参数【缺点】只能从远程机器将文件或文件夹下载到本地,并且远程机器需要支持ftp服务(例如启动proftpd);参数较多,使用上比scp复杂 【用法】 wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。 命令格式: wget [参数] ftp://<目标机器ip或主机名>/<文件的绝对路径> #proftpd格式 举例:

wget ftp://192.168.0.10//home/work/source.txt  #从192.168.0.10上拷贝文件夹source.txt
wget ftp://www.myhost.com//home/work/source.txt  #使用主机名 
wget -nH -P /home/work/ ftp://www.myhost.com//home/work/source.txt  #指定本地保存路径,使用参数“-P 路径”或者“--directory-prefix=路径”;-nH, --no-host-directories 不创建主机目录
wget -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir  #递归下载sourcedir目录,使用参数-r;参数-l, --level=NUMBER 最大递归深度 (inf 或 0 代表无穷). 
wget --cut-dirs=3 -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir  #-参数-cut-dirs=NUMBER 忽略 NUMBER层远程目录,本例中将myhost上的sourcedir目录保存到本地的work目录下。 
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir  #-参数--limit-rate=RATE 限定下载输率 

复制

rsync

Linux服务器传输文件有多种方式。其中四种常用的方式是 scp、rsync、sftp和wget。 首先是scp,它是secure copy的缩写,用于进行远程文件拷贝。scp使用ssh进行数据传输,并且提供相同的认证方式和安全保证。scp的优点是简单方便、安全可靠,还支持限速参数,但缺点是不支持排除目录。使用scp可以通过以下命令进行文件传输: scp source_file destination_file 接下来是rsync,它是一个强大的文件同步工具,可以在本地和远程服务器之间同步文件和目录。rsync的优点是可以增量传输,只传输发生变化的部分,也支持排除目录和限速参数。使用rsync可以通过以下命令进行文件传输: rsync options source_file destination_file 第三种方式是sftp,它是secure file transfer protocol的缩写,是一种安全的文件传输协议。sftp提供了类似于ftp的功能,但使用ssh进行加密传输,更加安全可靠。可以使用sftp命令或者使用文件传输客户端工具进行传输。 最后是wget,它是一个用于从Web服务器上下载文件的命令行工具。wget支持通过HTTP、HTTPS和FTP协议下载文件,可以通过以下命令进行文件传输: wget options source_file destination_file 这些方法都可以在Linux服务器之间进行文件传输,具体选择哪种方法取决于你的需求和环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [两台Linux服务器之间传输文件的四种方法](https://blog.youkuaiyun.com/Black_8/article/details/122925549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux 两台服务器之间传输文件文件夹四种方式](https://blog.youkuaiyun.com/weixin_44256848/article/details/126466072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值