sftp 常用命令 以及 以及与 scp 的比较

1.scp 不能容忍网络闪断,因此一旦出现网络闪断,那么scp 命令就会异常退出

   sftp 可以容忍网络闪断,而且具备断电续传,因此sftp 适用于网络更慢的环境,

 

 

2.

sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作。

举例,如远程主机的 IP 是 202.206.64.33或者是域名www.hebust.edu.cn,用户名是  fyt ,在命令行模式下:sftp fyt@202.206.64.33或者  fyt@www.hebust.edu.cn。回车提示输入密码。进入提示符

sftp>

如果登陆远程机器不是为了上传下载文件,而是要修改远程主机上的某些文件。可以

ssh  fyt@202.206.64.33 (其实sftp就是ssh 的一个程式。)

sftp> get /var/www/fuyatao/index.php  /home/fuyatao/
这条语句将从远程主机的  /var/www/fuyatao/目录下将 index.php 下载到本地  /home/fuyatao/目录下。

sftp> put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/
这条语句将把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。

你如果不知道远程主机的目录是什么样, pwd命令可以帮您查询远程主机的当前路径。查询本机当前工作目录 lpwd.

改变路径可以用cd ,改变本机路径可以用 lcd;

ls rm rmdir mkdir 这些命令都可以使用。同理调用本机都是加 l , 即 lls lrm.

要离开sftp,用exit 或quit、 bye 均可。详细情况可以查阅 man  sftp.

如果觉得在命令行模式下不太方便,可以 sudo apt-get install gftp。在图形界面下操作就简便多了。

 

3.sample

 

expect 与sftp 的结合

 

 

unix 配置自动FTP:

方法二: ftp 直接实现交互

FTP自动登录批量下载文件
 
  从ftp服务器192.168.1.171上的/home/data 到本地的/home/databackup
---建立一个文件 ftp.ssh  命令: vi ftp.ssh
---开始----- 
!/bin/bash
ftp -v -n 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
----结束-----------
在命令行输入: ./ftp.ssh


  FTP自动登录批量上传文件
 
  从ftp服务器192.168.1.171上的/home/data 到本地的/home/databackup
---建立一个文件 ftp.ssh  命令: vi ftp.ssh
---开始----- 
-----开始---- 
#!/bin/bash
ftp -v -n 192.168.1.171 << END
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
bye
END
---结束-----
在命令行输入: ./ftp.ssh

----设定定时运行,命令行输入:
crontab -e 
然后在文件中设定 时间 和文件ftp.ssh的路径
这样就可以自动调用ftp.ssh文件运行上传程序。

 

ref

http://blog.csdn.net/rizhinan/article/details/5341634

 

 
 
posted @ 2017-11-03 18:18  feiyun8616  阅读(2158)  评论(0编辑  收藏  举报