网络上下载文件的工具wget|scp

1.wget

·简介:wget是一个从网络上自动下载文件的自由工具。wget下载数据的时候使用的协议可以是http,https,ftp三种协议。
使用wget命令时的输出信息中可以看到本地下载使用的是什么协议。

·格式:wget [options] [URL]

eg:

wget  suancai-host:/home/jianzai/test.php  下载test.php这个文件

wget  ftp://suancai-host:/home/jianzai/test.php 

wget  ftp://suancai-host/home/jianzai/test.php 

wget  http://suancai-host:/home/jianzai/test.php 

wget -r suancai-host:/home/jianzai/app-workbench   递归下载app-workbench以及子目录

wget -r ftp://suancai-host/home/jianzai/app-workbench   

wget -r http://suancai-host:/home/jianzai/app-workbench

wget -r -nH -c --level=0 --cut-dirs=8 -np --limit-rate=20000000 suancai-host:/home/jianzai/app-workbench/backend/data/reload-data/cpm_stat_data/models

备注,如果是下载文件,在本地的目录结构直接就是文件。如果下载的目录,本地的目录结构包括远程主机名以及远程的目录结构。


wget的重要参数:

(1)-nd --no-directories   表示远程目录中含有子目录时,在本地时就不在创建相应的层级目录,而是将所有的文件放到当前目录中。

(2)-r   当用wget下载目录时,需要用到此选项,表示递归下载目录及其子目录。如果下载文件时,加上-r选项,那么远程主机上的目录结构就会下载到本地。

(3)-nH  当使用wget -r ftp://suancai-host/home/jianzai/app-workbench递归下载app-workbench完成后,app-workbench在本地当前目录下的结构是suancai-host/home/jianzai/app-workbench,使用-nH参数使目录结构变成home/jianzai/app-workbench

(4)--cut-dirs=num    例如是用--cut-dirs=2后,上面的例子在本地的目录结构就成了suancai-host/app-workbench,当同时使用-nH --cut-dirs=2后,本地的目录结构就变成了app-workbench     详细说明参见manpage

(5)--level=num    当wget下载目录的时候,此选选项表示递归的深度,例如当使用wget -r--level=2 ftp://suancai-host/home/jianzai/app-workbench,只会去下载app-workbench目录下的文件,不会再去下载其子目录。level设置为0或inf时,表示无限递归,也即全部下载。默认的递归深度为5

(6)--limit-rate=num   配置下载的速度,单位是B/s.  也可以自己设置单位,例如--limit-rate=20k表示下载速度是20KB/s

(7)-o --output-file=file   表示将wget下载的输出信息写入file文件中

(8)-a --append-output=file   表示将wget下载的输出信息追加到file文件中

(9)-c     支持断点续传,即使我们的ctrl+c了wget命令,再次使用wget -c仍然是接着上次的进度开始下载

(10)--no-remove-listing   当wget使用ftp下载文件目录中对象时,会先在远程服务器上获取该目录下所包含对象的清单list,并序列化成一个名称为.listing的隐藏文件。

(11)-O  filename    表示将远程的文件下载到本地后,重新命名为filename。是大写字母O,不是小写o.

(12)-q  --quiet    wget执行时,不输出任何提示信息

(13)-t  num    表示当出现网络不好等情况后,wget重试的次数。默认的为20次,若num为0或inf时,表示重试无限次。


2.scp

scp是一个基于SSH的不同Linux系统间相互拷贝文件或者目录的工具。
scp是有Security的文件copy,基于ssh登录。也就是它实际上是使用的ssh协议。和sftp的运作原理是类似的。

命令基本格式:
       scp [options] file_source file_target

应用实例:
(a)从 本地 复制到 远程
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
(b)从 远程 复制到 本地
scp root@172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz


常用的用例:

(1)本地文件或者目录拷贝到远程主机上:

scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

(2)远程主机上的文件或者目录下载到本地来:

将远程和本地置换下顺序就行了


其他的重要选项:

     -r  表示递归copy目录

    -q  安静模式,不打印scp的命令输出信息

     -l  限制速度,单位为Kbps

    -p  保留文件原有的权限信息、时间戳信息等

     -o  可以加上一些ssh的选项,例如StrictHostKeyChecking,表示在连接远程主机时,会主动把对方的公钥加到known_hosts中,而不会提示用户是否要记录这样的信息。例如,ssh -o StrictHostKeyChecking=no root@10.10.10.1



参考资料来源于:

http://caisangzi.blog.51cto.com/6387416/1296244


要将服务器上的文件下载到本地,您可以使用多种方法,具体取决于您使用的服务器类型和访问方式。以下是一些常见的方法: 1. **使用 FTP 客户端工具**: - 使用如FileZilla、WinSCP等FTP客户端工具,您可以通过图形界面连接到FTP服务器。 - 输入服务器地址、用户名和密码进行验证。 - 连接成功后,在本地和远程服务器间拖拽文件即可下载。 2. **使用命令行工具**: - 如果服务器支持FTP或SFTP,您可以使用命令行工具如`ftp`或`ssh`来下载文件。 - 例如,使用`ftp`命令: ``` ftp [服务器地址] ``` 然后输入用户名和密码,使用`get`命令来下载文件。 - 使用`ssh`和`scp`命令: ``` scp [用户名]@[服务器地址]:[文件路径] [本地路径] ``` 3. **使用Web浏览器**: - 如果文件可以公开访问,您可以直接在Web浏览器中输入文件的URL,然后使用浏览器的“另存为”功能保存到本地。 4. **使用HTTP客户端**: - 如果您有权限通过HTTP协议访问服务器上的文件,您可以使用如curl或wget这样的命令行HTTP客户端工具下载文件。 - 使用curl: ``` curl -O [文件URL] ``` - 使用wget: ``` wget [文件URL] ``` 5. **通过编程语言中的库**: - 许多编程语言(如Python、JavaScript、Java等)都有可以用来进行文件传输的库。 - 例如,在Python中,您可以使用`requests`库来下载文件: ```python import requests r = requests.get('http://服务器地址/文件路径', stream=True) with open('本地文件路径', 'wb') as f: for chunk in r.iter_content(chunk_size=8192): f.write(chunk) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值