介绍 Linux 两个常用工具,scp 和 wget。

Scp

scp 主要用于文件传输。

命令格式:

scp [参数] [原路径] [目标路径]

常用参数:

-r 递归复制整个目录。 
 -l limit 限定用户所能使用的带宽,以Kbit/s为单位。 
 
 -P port 注意是大写的P,port是指定数据传输用到的端口号

使用实例:

从本地服务器复制文件到远程服务器:

scp local\_file remote\_username@remote\_ip:remote\_folder
scp local\_file remote\_username@remote\_ip:remote\_file
scp local\_file remote\_ip:remote\_folder
scp local\_file remote\_ip:remote\_file

第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名 
 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

从本地服务器复制目录到远程服务器:

scp -r local\_folder remote\_username@remote\_ip:remote\_folder
scp -r local\_folder remote\_ip:remote\_folder

第1个指定了用户名,命令执行后需要输入用户密码; 
 第2个没有指定用户名,命令执行后需要输入用户名和密码;

从远程服务器复制目录或文件到本地服务器:

从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。


Wget

wget是一个从网络上自动下载文件的工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。可以在用户退出系统的之后在后台执行。

断点续传。

当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如:

wget -c http://the.url.of/incomplete/file

使用断点续传要求服务器支持断点续传。-t参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。-T参数表示超时等待时间,例如-T 120,表示等待120秒连接不上就算超时。

批量下载。

如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,然后用命令:

wget -i download.txt

这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)