【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: 有命令补全,历史记录,允许多个后台任务执⾏等功能,使⽤起来⾮常⽅便。它还有书签、排队、镜像、断点续传、多进程下载等功能。ssh命令指定端口
命令⾏语法
(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 -
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
l 后台任务管理
缺省情况下,按 Ctrl+z,正在执⾏的任务将转为后台执⾏,也可以在命令⾏末尾加&符号使任务在后台执⾏。⽤jobs命令可以查看所有的后台进程。⽤queue命令可以排队新的任务。如果退出lftp是还有任务在后台执⾏,lftp将转为后台执⾏。
l 其它⽤法
lftp⽀持类似bash的管道操作,例如⽤下⾯的命令可以将ftp服务器上的特定⽬录下(也可以是整个站点)所有⽂件的⼤⼩存到本地的⽂件ls.txt中lftp ................:/> du incoming > ls.txt
相关⽂件
(1) /f
全局配置⽂件,实际位置依赖系统配置⽂件⽬录,可能在/etc,也可能在/usr/local/etc
(2) ~/.lftp/rc, ~/.lftprc
⽤户配置⽂件,将在/f之后执⾏,所以这⾥⾯的设置会覆盖/f中的设置。
(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 设置⽬录前缀
使⽤代理进⾏下载,并实现断点续传。代理可以在环境变量 PROXY 或 wgetrc ⽂件中设定。 -c 选项要求服务⽀持断点续传。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论