sftp

1.功能作用

sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。

2.位置

/usr/bin/sftp

3.格式用法

sftp [-1246Cpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
[-o ssh_option] [-P port] [-R num_requests] [-S program]
[-s subsystem | sftp_server] host
sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host

4.主要参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
     -1      强制sftp用协议1.
     -2      强制sftp用协议2
     -4      强制sftp用IPV4的网址
     -6      强制sftp用IPV6的网址
     -B   buffer_size
             指定缓冲区的大小。
     -b  batchfile
             选择批处理模式(防止输入密码)
     -C      允许压缩。标注-C到ssh(1)来允许压缩
     -c  cipher
             选择cipher来加密数据传输。这个选项直接传递到ssh(1)
     -D  sftp_server_path
             直接连接到本地SFTP服务器(而不是通过ssh(1))。此选项可能有用的调试客户端和服务器。
     -F  ssh_config
             设定一个可变动的用户配置给ssh.这个选项直接会被传递到ssh(1)
     -i  identity_file
             选择被RSA认证读取私有密码的文件。这个选项可以直接被传递到ssh(1)
     -l  limit
             限制传输带宽,也就是速度用Kbit/s的速度
     -o  ssh_option
             可以把ssh_config中的配置格式传到ssh中。这种模式对于说明没有独立的scp文件中断符的scp很有帮助。
             关于选项的如下。而他们的值请参看ssh_config(5)
     -P  port
             指定连接远程连接端口。注意这个选项需要写成大写的模式。因为-p已经早保留了次数和模式
     -p      指定修改次数,连接次数,还有对于原文件的模式
     -q      把进度参数关掉
     -R  num_requests
             指定多少个请求能在同一时间处理。增加这可能会略有提高文件传输速度,但会增加内存使用。默认是64个未完成的请求。
     -r      递归的复制整个文件夹
     -S  program
             指定一个加密程序。这个程序必须可读所有ssh(1)的选项。
     -s  subsystem|sftp_server
             指定hSpecifies SSH2的子系统或SFTP远程服务器的路径            
     -v      冗余模式。
 
交互命令
     bye     退出sftp.
     cd  path
             更改到远程目录的路径.
     chgrp  grp path
             将文件path的组更改为group
     chmod  mode path
             将文件path的权限更改为mode
     chown  own path
             将文件path的属主更改为owner
     df  [-hi]  [path]
              使用当前文件系统的信息显示目录
              如果指定-h标志,容量的信息将使用更易读的方式显示
             -i标志显示inode信息,
     exit    退出sftp.
     get  [-Ppr]  remote-path  [local-path]
             下载文件
             如果指定-Por-p标识,则复制权限和操作时间.
             如果指定-r标识,那么目录将被复制递归。            
     help    显示帮助信息.
     lcd path
             更改到本地目录的路径
     lls  [ls-options  [path]]
             显示本地目录列表
     lmkdir path
             创建本地目录.
     ln  [-s]  oldpath newpath
             符号链接远程文件
     lpwd    打印本地工作目录
     ls  [-1afhlnrSt]  [path]
             显示远程目录列表
             -1      每行只列出一个文件
             -a      不隐藏任何以.开始的项目
             -f      不进行排序,-aU选项生效,-lst选项失效.
             -h      与-l一起,以易于阅读的格式输出文件大小
             -l      使用较长格式列出信息.
             -n      类似-l,但列出UID及GID号.
             -r      R逆序排列.
             -S      根据文件大小排序.
             -t      根据修改时间排序.
     lumask umask
             设置本地的umask设置。
      mkdirpath
             创建远程目录
     progress
             切换显示进度表。
     put  [-Ppr]  local-path  [remote-path]
             上传本地路径,并存储在远程机器上
             如果指定-Por-p标识,则复制权限和操作时间.
             如果指定-r标识,那么目录将被复制递归。
     pwd     显示远程工作目录
     quit    退出sftp
     rename   oldpath   newpath
             更改远程文件名
     rmpath
             删除远程文件
     rmdirpath
             移除远程目录
     symlink oldpath newpath
             符号链接远程文件
     version
             显示协议版本
     !command
             在本地shell执行命令
     !       返回到本地shell.
     ?       显示帮助.

5.应用实例

1、连接远程主机
sftp fyt@202.206.64.33
sftp -P22 fyt@202.206.64.33   #指定端口连接

2、从远程主机下载文件
sftp> get /var/www/fuyatao/index.php /home/fuyatao/

3、上传文件到远程主机
sftp> put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/

4、从这个应用程序中退出
sftp> quit
sftp> bye
sftp> exit

5、改变当前的远程工作目录
sftp> cd directory

6、改变当前的本地工作目录
sftp> lcd directory

unix FTP命令
  FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中

  -v显示远程服务器的所有响应信息;

  -n限制ftp的自动登录,即不使用;

  .n etrc文件;

  -d使用调试方式;

  -g取消全局文件名。

  ftp使用的内部命令如下(中括号表示可选项):

  1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.

  2.$ macro-ame[args]:执行宏定义macro-name.

  3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。

  4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

  5.ascii:使用ascii类型传输方式。

  6.bell:每个命令执行完毕后计算机响铃一次。

  7.bin:使用二进制文件传输方式。

  8.bye:退出ftp会话过程。

  9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

  10.cd remote-dir:进入远程主机目录。

  11.cdup:进入远程主机目录的父目录。

  12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。

  13.close:中断与远程服务器的ftp会话(与open对应)。

  14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

  15.delete remote-file:删除远程主机文件。

  16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。

  17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。

  18.disconnection:同close。

  19.form format:将文件传输方式设置为format,缺省为file方式。

  20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。

  21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。

  22.hash:每传输1024字节,显示一个hash符号(#)。

  23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。

  24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。

  25.image:设置二进制传输方式(同binary)。

  26.lcd[dir]:将本地工作目录切换至dir。

  27.ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。

  28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。

  29.mdelete[remote-file]:删除远程主机文件。

  30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如:mdir *.o.*.zipoutfile

  31.mget remote-files:传输多个远程文件。

  32.mkdir dir-name:在远程主机中建一目录。

  33.mls remote-file local-file:同nlist,但可指定多个文件名。

  34.mode[modename]:将文件传输方式设置为modename,缺省为stream方式。

  35.modtime file-name:显示远程主机文件的最后修改时间。

  36.mput local-file:将多个文件传输至远程主机。

  37.newer file-name:如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。

  38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。

  39.nmap[inpattern outpattern]:设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。

  40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。

  41.open host[port]:建立指定ftp服务器连接,可指定连接端口。

  42.passive:进入被动传输方式。

  43.prompt:设置多个文件传输时的交互提示。

  44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。

  45.put local-file[remote-file]:将本地文件local-file传送至远程主机。

  46.pwd:显示远程主机的当前工作目录。

  47.quit:同bye,退出ftp会话。

  48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.

  49.recv remote-file[local-file]:同get。

  50.reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。

  51.rhelp[cmd-name]:请求获得远程主机的帮助。

  52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。

  53.rename[from][to]:更改远程主机文件名。

  54.reset:清除回答队列。

  55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。

  56.rmdir dir-name:删除远程主机目录。

  57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等。

  58.send local-file[remote-file]:同put。

  59.sendport:设置PORT命令的使用。

  60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。

  61.size file-name:显示远程主机文件大小,如:site idle 7200。

  62.status:显示当前ftp状态。

  63.struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。

  64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。

  65.system:显示远程主机的操作系统类型。

  66.tenex:将文件传输类型设置为TENEX机的所需的类型。

  67.tick:设置传输时的字节计数器。

  68.trace:设置包跟踪。

  69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。

  70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。

  71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。

  72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.

  73.?[cmd]:同help。

linux sftp and unix ftp的更多相关文章

  1. Linux 终端訪问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...

  2. Linux下常用的ftp操作命令

    Linux下常用的ftp操作命令 =========== 完美的分割线 ============= 1.登陆ftp服务器 ftp [IP] [PORT] # 登陆ftp服务器,本机登陆可以不写IP 实 ...

  3. 在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  4. [转]Linux Ubuntu上架设FTP

    Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...

  5. 在linux中限制用户ftp访问权限

    1.环境:redhat linux企业版4.ftp为vsftp.被限制用户名为aaa.被限制路径为/bbb.2.建用户:在root用户下,相继进行如下操作       adduser aaa      ...

  6. 【Linux基础】Unix与Linux操作系统介绍

    一.Unix和Linux操作系统概述 1.Unix是什么 UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 2.Unix特点 (1)多用户:在同一时刻可以有多个用 ...

  7. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种 ...

  8. 腾讯云服务器linux Ubuntu操作系统搭建ftp服务器vsftpd

    腾讯云服务器linux Ubuntu操作系统安装ftp服务器vsftpd 操作系统: Ubuntu Server 16.04.1 LTS 64位 下面我将系统重装, 一步一步从头开始,安装FTP服务器 ...

  9. LINUX的SSH下FTP到远程服务器Entering Passive Mode失败解决

    LINUX 系统FTP连接远程服务器经常出现在传输文件或者发出 ls命令时候出现 "Entering Passive Mode "然后就再也无法运作了.该工作主要是因为LINUX的 ...

随机推荐

  1. BZOJ1588:[HNOI2002]营业额统计——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1588 Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务 ...

  2. 洛谷 P3119 [USACO15JAN]草鉴定Grass Cownoisseur 解题报告

    P3119 [USACO15JAN]草鉴定Grass Cownoisseur 题目描述 约翰有\(n\)块草场,编号1到\(n\),这些草场由若干条单行道相连.奶牛贝西是美味牧草的鉴赏家,她想到达尽可 ...

  3. 信息工程学院技能大赛 计算机程序设计(Java)大赛试题

    前期准备与后期上传工作: (1)必须先建立项目和包,项目名为"JavaContest",包结构为:"contest.c+序号+姓名",其中序号为两位为本人大赛报 ...

  4. [辅助软件] 微信小程序开发资源汇总 接入指南

    https://github.com/justjavac/awesome-wechat-weapp https://github.com/justjavac/awesome-wechat-weapp ...

  5. django 给前端传递HTML内容

    django从view向template传递HTML字符串的时候,django默认不渲染此HTML,原因是为了防止这段字符串里面有恶意攻击的代码. 如果需要渲染这段字符串,需要在view里这样写: f ...

  6. Ubuntu中python多版本管理工具-pyenv

    ubuntu系统版本:16.04 # lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubu ...

  7. HDU1569 最大流(最大点权独立集)

    方格取数(2) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. JS鼠标滚轮事件解析

    一.不同浏览器的鼠标滚轮事件 首先,不同的浏览器有不同的滚轮事件.主要是有两种,onmousewheel(IE/Opera/Chrome支持,firefox不支持)和DOMMouseScroll(只有 ...

  9. JavaScript中检测数组的几种方式

    检测一个对象是否为数组的方式有: Array.isArray()          // true或false(es5) toString.call([]);       // [object Arr ...

  10. 归并排序Merge sort2

    原理,把原始数组分成若干子数组,对每一个子数组进行排序, 继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组 举例 无序数组[6 2 4 1 5 9] 先看一下每个步骤下的状态, ...