zoukankan      html  css  js  c++  java
  • 【linux】下载命令lftpsftpwget

    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

  • 相关阅读:
    《那些年啊,那些事——一个程序员的奋斗史》——29
    《那些年啊,那些事——一个程序员的奋斗史》——28
    《那些年啊,那些事——一个程序员的奋斗史》——28
    《那些年啊,那些事——一个程序员的奋斗史》——29
    《那些年啊,那些事——一个程序员的奋斗史》——30
    《那些年啊,那些事——一个程序员的奋斗史》——29
    《那些年啊,那些事——一个程序员的奋斗史》——28
    小议如何改变指针的指向
    X Window Troubleshooting
    终于把傅雷的《世界美术名作二十讲》看完了
  • 原文地址:https://www.cnblogs.com/linn/p/4171208.html
Copyright © 2011-2022 走看看