PSFTP简介
一、简介
PSFTP:即PuTTY SFTP客户端,是用SSH连接在计算机之间安全传输文件的工具。
- 下载与配置
打开下载页面,选择合适的psftp.exe安装文件。
如果要在命令行中使用,需将PSFTP所在目录添加到PATH环境变量中,可以在 系统-高级系统设置-环境变量(Win+Pause
) 中设置或在CMD命令行中设置临时环境变量:
set PATH=F:\ProgramFiles\Putty;%PATH%
- 说明
PSFTP命令中的参数由空格分隔,如果文件名中有空格需要使用双引号将文件名包围起来。
PSFTP的一些命令支持使用通配符来选择多个文件,例如:*
匹配任何字符;?
匹配一个字符;[a-z]
匹配a~z范围内的任何字符等。
二、启动PSFTP
可以直接双击下载的psftp.exe
或使用命令行启动PSFTP:
psftp
1、连接主机
psftp server.example.com
或
psftp fred@server.example.com
2、执行批处理文件
psftp user@hostname -b myscript.scr
使用-b
参数可以执行指定的处理自动化任务的脚本;当以这种方式运行批处理脚本时,如果任何一个命令无法成功完成,则PSFTP将中止该脚本。
-bc
psftp fred@hostname -bc -b batchfile
使用此参数可以在运行脚本时显示提示和命令,就像在键盘上输入命令一样。
myscript.bat
:
pwd
cd ./test
ls
del readme.txt
ls
-be
此参数可以在运行脚本出现错误时继续进行执行批处理脚本;例如:想删除一个文件但不在乎它是否已经不存在。
-batch
使用此参数可以避免交互式提示,通常用在自动化脚本中;例如:使用批处理,在连接时出错,批处理作业将失败而不是挂起。
三、PSFTP命令
1、开始会话
open host.name
open user@host.name 22
使用open
命令可以创建一个连接,在创建连接时可以指定端口、用户名等信息。发出此命令后,如果连接没有成功打开,PSFTP将立即终止,即使命令失败(例如:主机名输入错误或连接超时)。
psftp
open wzk@192.168.148.128
2、结束会话
输入quit
、exit
或bye
命令可以关闭连接,终止PSFTP并返回到命令行或PSFTP控制台窗口(如果是以GUI方式启动)。
3、关闭连接
如果只想关闭连接,仍保持PSFTP运行,可以使用close
命令;执行此命令后仍可以使用open
命令打开新的连接。
4、联机帮助
使用help
命令可以显示某个命令的帮助信息。
help get
5、更换远程工作目录
远程工作目录是其他命令操作的默认目录,例如:get filename
,则PSFTP就会在服务器上的远程工作目录中查找并下载此文件。
使用cd
命令可以更改远程工作目录,如果此命令不提供参数,则将返回连接开始时所在的远程目录;还可以使用pwd
命令显示当前的远程工作目录。
6、更改本地工作目录
本地工作目录是其他命令在本机操作的默认目录,例如:get filename
,则PSFTP就会将filename下载到本地工作目录中。
使用lcd
命令可以更改本地工作目录;可以使用lpwd
来显示当前的本地工作目录。
7、从服务器下载文件
使用get
命令可以从服务器下载文件:
get myfile.dat
在本地以不同的名称保存文件:
get myfile.dat newname.dat
如果要递归获取整个目录,可以使用-r
选项:
get -r mydir
get -r mydir newname
8、上传文件到服务器
使用put
命令可以将本地文件上传至服务器(如果要上传以连字符-
开头的文件,可能需要使用--special
参数):
put myfile.dat
在服务器上以不同的名称保存文件:
put myfile.dat newname.dat
使用-r
选项递归上传整个目录:
put -r mydir
put -r mydir newname
9、下载或上传多个文件
mget
与mput
和get
与put
的功能几乎相同,区别在于前者允许指定多个文件,而且命令的每个参数都会被作为要下载或上传的文件名。
10、恢复文件传输
如果文件在传输时失败,并且最终存储在磁盘上的文件只有一部分,那么可以使用reget
和reput
命令来恢复文件传输。这两个命令的工作方式与get
和put
命令完全相同,只不过它们会检查是否存在部分写入的目标文件,并尝试从上次中断的地方开始传输。
这两个命令主要用于恢复中断的传输, 它们假定远程文件或目录结构没有任何改变; 如果发生变化,则有可能会出现文件损坏的情况。
reget myfile.dat
reget myfile.dat newname.dat
reget -r mydir
11、列出远程文件
可以使用ls
或dir
命令来列出远程工作目录中的文件;也可以在此命令后面跟随目录名称:
dir /home/fred
dir sources
还可以使用通配符,列出一个目录的子集:
dir /home/fred/*.txt
dir sources/*.c
12、更改远程文件权限
可以使用chmod
命令来修改服务器上文件和目录的权限,支持通配符:
chmod go-rwx,u+w privatefile
chmod a+r public*
chmod 640 groupfile1 groupfile2
13、删除远程文件
使用del
或rm
命令可以删除服务器上的文件,文件删除时不会有确认提示信息:
del oldfile.dat
del file1.txt file2.txt
del *.o
del
只能删除文件,不能删除目录,删除目录需使用rmdir
。
14、创建或删除远程目录
使用mkdir
可以在服务器上创建目录,创建时可以一次创建多个目录:
mkdir newstuff
mkdir dir1 dir2 dir3
使用rmdir
可以删除服务器上的目录,删除目录时也不会有确认提示信息:
rmdir oldstuff
rmdir *.old ancient
如果目录中包含其他内容,大多数SFTP服务器可能会拒绝删除该目录,因此需要首先删除目录中的内容。
15、移动或重命名文件
使用mv
或ren
命令可以重命名服务器上单个文件,也可以将文件移动到不同的目录并修改其名称:
mv oldfile newname
mv oldfile dir/newname
也可以将一个或多个文件移动到某个目录中,支持通配符:
mv file dir
mv file1 dir1/file2 dir2
mv *.c *.h ..
16、运行本地Windows命令
使用!
命令可以运行本地Windows命令:如果命令以!
开头,则该行命令的其余部分将直接传递给Windows。
例如:从服务器下载某个文件的最新版本文件时备份现有文件:
psftp> !ren myfile.dat myfile.bak
psftp> get myfile.dat