sftp

sftp(安全文件传输协议)与ftp 有着几乎一样的语法和功能。FTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式。它并不使用ftp守护进程(ftpd或wu-ftpd)来进行连接,而是有意义地增强系统的安全性。实际上,通过监视一些系统中的log文件,可以注意到很多攻击是针对于ftpd守护进程的。sftp避免了这些攻击从而可以停止在wu-ftpd上潜在的危险。SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

用法举例:

(1)      sftproot@10.48.30.192:/root/test.sh(直接将192上的文件复制到本地)

(2)      sftproot@10.48.30.192:/root  (直接连接到192的root目录下,这样就可以使用getput等命令了)

sftp使用在数据连接上使用ssh2,所以文件的传输是尽可能地安全。使用sftp代替ftp两个主要的的原因是:

(1)      password从不用明文传输,防止sniffer(嗅探器)的攻击。

(2)      数据在传输时被加密,使用刺探和修改连接非常困难。

使用sftp2是非常简单的。让我们假设你使用了你的帐户:myname通过sftp连按上了主机host1。可以使用命令:sftp myname@host1。当sftp2准备好了来接受连接时,它将显示一个状态提示符 sftp>。在sftp手册中有完整的用户可以使用的命令列表;其中有:

l  quit:从这个应用程序中退出。

l  cd directory:改变当前的远程工作目录。

l  lcd directory:改变当前的本地工作目录。

l  ls [ -r ] [ -l ] [ file ... ]:列出在远地服务器上的文件名。如果是目录,则列出目录的内容。当命令行中指定了-r,则递归地显示目录树。(默认情况下,子目录并不被访问)。当命令行中指定了-l,文件与目录的权限,属主,大小和修改时间被列出。当没有参数被指定,则.(当前目录)的内容被列出。普通情况下选项-r和-l是互相不兼容的。

l  lls [ -r ] [ -l ] [ file ... ]:与ls一样,但是是对于本地文件操作。

l  get [file ...]:从远程端传送指定的文件到本地端。目录内容被递归地复制。

l  put [ file ... ]:从本地端传送指定的文件到远地端。目录内容被递归地复制。

l  mkdir dir (rmdir dir):尝试建立或删除参数中指定的目录。

l  通配符对于ls,lls,get和put是支持的。格式在sshregex手册中有描述。

从sftp使用加密技术以来,一直有一个障碍:连接速度慢(有2-3倍),但是这一点对于非常好的安全性来讲只能放在一边了。在一个测试中,局域网上的sniffer可以在一个小时中捉住ftp连接上的4个password.。sftp的使用可以从网络上传送文件并且除去这些安全问题。

lftp

lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp非常像一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

命令行语法

(1)    lftp [-d] [-e cmd] [-p port][-u user[:pass]] [site]

例子:

lftp ftp://userName:password@127.0.0.1

-e在选择后执行命令

-u [,] 使用指定的用户名/口令进行验证

-p 连接指定的端口

Site:主机名,URL 或书签的名字

(2)    lftp -f script_file

执行文件中的命令后退出

(3)    lftp -c commands

执行命令后退出

(4)    lftp –version

显示 lftp 版本后退出

(5)    lftp --help

显示帮助信息后退出

例子:

(1)      如果在命令行中输入的站点名称,lftp将直接登录站点,比如

lftp ftp://.............

(2)      如果在命令行不输入站点名称,则必须在进入到lftp界面后用open命令打开

Lftp

lftp :~> open ftp://...................

常用命令

l  下载单个文件和一组文件,断点续传用-c参数

lftp ................:/> get -c ls-lR.txt

lftp ...............:/> mget *.txt

l  镜像(反镜像即上传)一个目录,可以用多个线程并行镜像一个目录(--parallel=N)

lftp ................:/> mirror incoming local_name

lftp ................:/> mirror -R local_name

lftp ................:/> mirror --parallel=3 incominglocal_name

l  多线程下载,类似网络蚂蚁的功能;缺省是5个线程

lftp ................:/> pget -n 4 ls-lR.txt

l  后台任务管理

缺省情况下,按 Ctrl+z,正在执行的任务将转为后台执行,也可以在命令行末尾加&符号使任务在后台执行。用jobs命令可以查看所有的后台进程。用queue命令可以排队新的任务。如果退出lftp是还有任务在后台执行,lftp将转为后台执行。

l  其它用法

lftp支持类似bash的管道操作,例如用下面的命令可以将ftp服务器上的特定目录下(也可以是整个站点)所有文件的大小存到本地的文件ls.txt中

lftp ................:/> du incoming > ls.txt

相关文件

(1)      /etc/lftp.conf

全局配置文件,实际位置依赖系统配置文件目录,可能在/etc,也可能在/usr/local/etc

(2)      ~/.lftp/rc, ~/.lftprc

用户配置文件,将在/etc/lftp.conf之后执行,所以这里面的设置会覆盖/etc/lftp.conf中的设置。

(3)      lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可以在 ~/.lftprc 里写入一行,debug 3,就可以看到出错信息了。更多的配置选项请查man手册或在lftp界面内用命令 set -a 获得。

(4)      ~/.lftp/log

当lftp转为后台非挂起模式执行时,输出将重定向到这里

(5)      ~/.lftp/bookmarks

这是lftp存储书签的地方,可以lftp查看bookmark命令

(6)      ~/.lftp/cwd_history

这个文件用来存储访问过的站点的工作目录

(7)      ~/.lftprc

在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码。不用慌,这是由于服务器和本地编码不一致造成的。我们只要在主目录下新建一个文件~/.lftprc或者~/.lftp/rc。并在其中加入以下内容:debug 3set ftp:charset GBKset file:charset UTF-8#setftp:passtive-mode no#alias utf8 " set ftp:charset UTF-8"#alias gbk" set ftp:charset GBK"

登录ftp服务器:

lftpftp://user:password@site:port

lftpuser:password@site:port

lftpsite -p port -u user,password

lftpsite:port -u user,password

上面的几种方式都能正常工作,不过密码都是明文,这样好像不太安全哦。没关系,使用lftp user@site:port,系统会提示输入password,密码就回显为******了,不过每次都输入这么多,好麻烦哦。如果有类似leapftp的站点管理器就好了,其实lftp早就给我们想好了:这就是bookmark。后面我们将会看到。

在终端运行如manlftp或登录ftp后输入help就可以看到命令列表,下面我们看一下lftp常用的命令:

(1)      ls:显示远端文件列表(!ls显示本地文件列表)。

(2)      cd:切换远端目录(lcd 切换本地目录)。

(3)      get:下载远端文件。

(4)      mget:下载远端文件(可以用通配符也就是 *)。

(5)      pget:使用多个线程来下载远端文件, 预设为五个。

(6)      mirror:下载/上传(mirror-R)/同步整个目录。

(7)      put:上传文件。

(8)      mput:上传多个文件(支持通配符)。

(9)      mv:移动远端文件(远端文件改名)。

(10)  rm:删除远端文件。

(11)  mrm:删除多个远端文件(支持通配符)。

(12)  mkdir:建立远端目录。

(13)  rmdir:删除远端目录。

(14)  pwd:显示目前远端所在目录(lpwd显示本地目录)。

(15)  du:计算远端目录的大小

(16)  !:执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)

(17)  Lcd:切换本地目录

(18)  Lpwd:显示本地目录

(19)  Alias:定义别名

(20)  Bookmark:设定书签。

(21)  Exit:退出ftp

(22)  快捷书签:ftp中的bookmark命令,是将配置写到~/.lftp/bookmarks文件中;我们可以直接修改此文件,快速登陆ftp服务器。

wget

wget 是一个经由 GPL 许可的可从网络上自动获取文件的自由软件包。它是一个非交互式的命令行工具。支持 HTTP,HTTPS 和 FTP 协议,支持代理服务器以及断点续传功能。 wget 可实现递归下载,即可跟踪 HTML 页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构,实现远程网站的镜像。在递归下载时,wget 将页面中的超级链接转换成指向本地文件,方便离线浏览。由于非交互特性,wget 支持后台运行,用户在退出系统后,仍可继续运行。功能强大,设置方便简单。

基本语法: wget [options][URL-list]

Options:

-r    递归下载服务器上所有的目录和文件。由 -l选项来指定递归深度。

-b   后台下载

-m  制作站点镜像

-c    指定断点续传功能。该功能要求服务器支持断点续传。

-I    指定下载目录列表,可实现批量下载

-A/-R       指定接受/拒绝下载列表,实现选择性地下载

--proxy=on/off        指定是否利用代理服务器进行下载

-t,--tries=NUMBER         最大尝试链接次数 (0 表示无限制,默认为 20 次 )

-nc,--no-clobber     不覆盖已存在的文件

-N,--timestamping          只下载比本地新的文件

-nd--no-directories         不进行目录结构创建

-x,--force-directories      强制创建目录结构

-nH,--no-host-directories       不继承主机目录结构

-P,--directory-prefix=PREFIX 设置目录前缀

例子:递归下载 http://www.ibm.com.cn 站点的信息。下载所有显示完整网页所以需要的文件,如图片等。在下载不进行上层目录搜索并将绝对链接转换为相对链接。

wget -r -p -np -k http://www.ibm.com.cn

将在本地硬盘建立http://www.ibm.com.cn 的镜像,镜像文件存入当前目录下一个名为 www.ibm.com.cn 的子目录中(也可以使用 -nH 参数指定不建立该子目录,而直接在当前目录下建立镜像的目录结构),递归深度为 4,重试次数为无穷(若连接出现问题,wget 将永远重试下去,直至任务完成)

wget -m -l4 -t0 http://www.ibm.com.c

使用代理进行下载,并实现断点续传。代理可以在环境变量 PROXY 或 wgetrc 文件中设定。 -c 选项要求服务支持断点续传。

wget -Y on -c http://www.ibm.com.cn

【linux】下载命令lftp\sftp\wget的更多相关文章

  1. linux下载命令wget

    Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到 本地服务器.如果我们使用虚拟主机,处理这样 ...

  2. Linux基础命令---lftp登录ftp服务器

    lftp lftp指令可以用来登录远程ftp服务器,这是一个字符界面的文件传输工具. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. ...

  3. Linux下载命令之rpm和yum比较

    RPM和YUM比较 rpm 是linux的一种软件包名称,以.rmp结尾,安装的时候语法为:rpm -ivh,rpm包的安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其他的软件包 ...

  4. linux下载利器之curl和wget的区别

    linux下载利器-------curl和wget的区别 curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览 ...

  5. Linux 常用命令大全2

    Linux 常用命令大全 [帮助命令] command —help man command man 2 command 查看第2个帮助文件 man -k keyword 查找含有关键字的帮助 info ...

  6. Linux网络下载命令 wget 简介

    wget 是一个命令行的下载工具.对于我们这些 Linux 用户来说,几乎每天都在使用它.下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget. $ wget -r -n ...

  7. Linux命令之远程下载命令:wget

    转自:http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Li ...

  8. Linux 下载文件命令(wget)

    wget是Linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget http://www.linuxsense.org/xxxx/xxx. ...

  9. Aria2 Axel wget curl 四个下载命令

    经常由于不同需求使用下载管理器从互联网下载文件,它给我和其他人提供了很多帮助.我们都想要一个超级快速的下载管理器来完成下载尽可能多的任务,以便我们可以节省时间来进一步地工作.有很多可以加速下载的下载管 ...

随机推荐

  1. split方法的使用

    // 分隔竖线 String[] param = text.split("\\|");   //分隔问号 String name = singleResource.get(&quo ...

  2. 31-THREE.JS 正方体

    <!DOCTYPE html> <html> <head> <title>Example 05.04 - Basic 2D geometries - C ...

  3. Node net模块与http模块一些研究

    这周遇到一个有意思的需求,端上同学希望通过 socket 传送表单数据(包含文件内容)到 node 端,根据表单里的文件名.手机号等信息将文件数据保存下来.于是我这样写了一下--socket_serv ...

  4. 【Codeforces】894D. Ralph And His Tour in Binary Country 思维+二分

    题意 给定一棵$n$个节点完全二叉树,$m$次询问,每次询问从$a$节点到其它所有节点(包括自身)的距离$L$与给定$H_a$之差$H_a-L$大于$0$的值之和 对整棵树从叶子节点到父节点从上往下预 ...

  5. ResNet网络结构

    MSRA(微软亚洲研究院)何凯明团队的深度残差网络(Deep Residual Network)在2015年的ImageNet上取得冠军,该网络简称为ResNet(由算法Residual命名),层数达 ...

  6. BasicExcel的使用

    from:http://www.cnblogs.com/paullam/p/3705924.html   使用的平台:vs2013 控制台 创建时需要注意, 安全开发生命周期(SDL)检查 不能勾选( ...

  7. Laraver 框架资料

    重定向: return redirect()->to('http://www.baidu.com'); 重定向到内部路由 return redirect()->route(‘name’); ...

  8. Android4.0系统接收不到广播的问题解析

    在3.1之后,系统的package manager增加了对处于“stopped state”应用的管理,这个stopped和Activity生命周期中的stop状态是完全两码事,指的是安装后从来没有启 ...

  9. 【retina】手机上 1PX 边框

    1像素边框,在2倍屏幕上为2“占位”,3倍屏上为3“占位”,但设计师就要1“占位” .content h1:after, .content h2:after { border-top: 1px sol ...

  10. 2017 山东二轮集训 Day7 国王

    2017 山东二轮集训 Day7 国王 题目大意 给定一棵树,每个点有黑白两种颜色,定义一条简单路径合法当且仅当路径上所有点黑色与白色数量相等,求有多少非空区间 \([L,R]\) ,使得所有编号 \ ...