windows下用putty上传文件到远程Linux方法_GodQ的博客-CSDN博客
psftp> open XXX.XXX.XXX.XXXX
login as: XXX
Password:xxx
Remote working directory is /XXX
psftp> cd 远程服务器位置
psftp> lcd 本地文件位置
# lcd F:\ftp
# 上传到上述的服务器位置
psftp> put DDD.txt
# 下载到本地文件的位置
psftp> get DDD.txt
psftp> get -r test // 需要本地新建文件夹test
ftp 192.168.3.56
-----------------------------------------------------
查看服务器文件
ftp> dir:显示服务器目录和文件列表
ftp> ls:显示服务器简易的文件列表
ftp> cd:进入服务器指定的目录
ftp> dir命令 可以使用通配符“”和“?”,比如,显示当前目录中所有扩展名为jpg的文件,可使用命令 dir .jpg。
ftp> cd命令 中必须带目录名。比如 cd main 表示进入当前目录下的main子目录
----------------------------------------------------------
其他常用操作
ftp> pwd:查看FTP服务器上的当前工作目录
ftp> rename filename newfilename:重命名FTP服务器上的文件
ftp> delete filename:删除FTP服务器上的文件
ftp> help[cmd]:显示FTP命令的帮助信息,cmd是命令名,如果不带参数,则显示所有FTP命令
4.结束并退出FTP
ftp> close:结束与服务器的FTP会话
ftp> quit:结束与服务器的FTP会话并退出FTP环境
ftp> bye : 退出ftp会话过程
-------------------------------------------------------------
如何设置FTP的传输方式呢?
在ftp>提示符下输入ascii即转换到ACSII方式,输入bin,即转换到Binary方式
ftp> ascii
200 Type set to A.
ftp> bin
200 Type set to I.
-----------------------------------------------------------
下载文件
(单个下载)ftp> get:下载指定文件 get filename [newname](filename为下载的FTP服务器上的文件名,newname为保存在本都计算机上时使用的名字,如果不指定newname,文件将以原名保存。
(批量下载)ftp> mget aa cc
--------------------------------------------
上传文件
(单个上传)ftp> put aa.txt
(批量上传)ftp> mput aa cc
注:可以搭配正则表达式下载
输入 prom
此命令是关闭交互(否则总是询问你是否要上传)
注:1、FTP在传送文件时分为ASC和Bin两种格式,只有文字文件(例如 html 文件)使用ASC,其他的通通使用Bin格式(例如图像文件、压缩文件、可执行文件等等)。
2、当我们使用ftp时,可简单地把文件分为两种基本类型:文本文件和二进制文件;文本文件也称为ASCII文件,其文件内容遵循ASCII的定义,其主要特征是文件内容由若干行组成,可以使用操作系统的显示、编辑命令来显示和编辑ASCII文件的内容,它使用的传输模式是asc;二进制文件(Binary File)是指除ASCII文件以外的所有文件格式,它使用的传输模式是bin;需要注意的是,可以将ASCII文件按二进制模式传输,但决不能将二进制文件按ASCII模式传输,否则二进制文件的内容会遭到破坏而无法使用。
3、ASCII 切换传输模式为文字模式(只能用来传送文字文件);
BINARY 切换传输模式为二进制模式(除文字文件外皆用此模式);
4、文字文件传输推荐ASC而程序或数据文件必须使用BIN。
ASCII是默认模式,所以我们需要转换。只有ftp需要切换,sftp这种不需要,因为他们没有用ftp这种方法进行数据的传输。
ftp ip地址
prom
bin
mput *exp*
mget *exp*
sftp常见命令操作(常用,较全):
路径可以缺省,一般我们都是cd或者lcd到具体路径,直接get和put,比较方便。
sftp apple@127.0.0.1
sftp apple@127.0.0.1:/home/xx
# 上传
#上传一个本地文件到远程目录
put local-file [remote-file] put f1.txt remote_dir
#上传一个本地目录到远程目录
put -r local-dir [remote-file] put -r local_dir remote_dir
#上传多个本地文件(支持通配符*)到远程目录
mput local-files [remote-file] mput f*.txt remote_dir
#上传多个本地目录(支持通配符*)到远程目录
mput -r local-files [remote-file] mput -r local_dir* remote_dir
#下载远程文件到本地目录
get remote-file [local-file] get f1.txt local_dir
#下载远程目录到本地目录
get -r remote-dir [local-file] get -r local_dir local_dir
#下载多个远程文件(支持通配符*)到本地目录
mget remote-files [local-file] mget f*.txt local_dir
#下载多个远程目录(支持通配符*)到本地目录
mget -r remote-dirs [local-file] mget -r local_dir* local_dir
#远程文件
rm [remote-files]
#进入远程目录
cd remote-directory
#修改远程文件属性
chmod mode file-name
#执行本地文件
#查看当前目录,常规命令ls
lls
#查看当前路径,常规命令pwd
lpwd
切换目录 创建目录 显示目录 显示当前路径 删除a.txt文件
远程服务器 cd pwd mkdir ls rm a.txt
本地主机(local) lcd lpwd lmkdir lls !rm a.txt
#查看帮助
#直接查看
man sftp
#登录sftp后查看
help
如果需要使用两台服务器不通,需要使用中转服务器上传下载文件。
假设数据(new_file.txt,new.txt)在127.0.0.1,中转服务器在127.0.0.2,需要传到127.0.0.3上;
用户名是test,密码是test
# 先在中转上
pwd # /home/hang/data
# 先登录到中转上,输入密码test
sftp test@127.0.0.2
test
# 查看本地路径
lpwd # /home/hang/data
# 进入目标文件夹
pwd # /home/test/
cd code
l # new_file.txt,new.txt
# 下载到本地的/home/hang/data中,因为我们已经在这个目录了
# 所以不需要指定目录了
mget new*.txt # 使用通配符一次下载
# 如果没在本地的对应目录,就需要指定
mget new*.txt /home/hang/data
# 关闭
quit
# ------------------------------------------------
# 两种方法,一种是直接在中转上传到目标服务器,另外一种是从目标服务器直接取数据
# 方法1:传数据
# 在中转上继续ftp打开目标服务器
sftp test@127.0.0.3
test
# 查看目标服务器路径
pwd #/home/test
# 找到需要传的目录
cd ../../etc/test/code
# 传文件
mput new*.txt
# 如果没有在对应的路径,可以通过绝对路径传
mput new*.txt /etc/test/code
# 关闭
# 方法二:取数据
# 在目标服务器上操作
sftp test@127.0.0.2
test
# 查看本地的路径
lpwd # /home/test
lcd ../../etc/test/code
# 查看中转服务器的路径
pwd # /home/hang
cd code
pwd # /home/hang/data
# 下载文件到本地
mget new*.txt
# 关闭
quit