在linux中,我们常用scp命令传输文件:
如以下实例,我们想把当前服务器文件abc.sql传输到192.168.1.1服务器上,我们可以执行以下命令:
scp /home/person/hww/abc.sql [email protected]:/home/person/hww
回车后输入192.168.1.1服务器密码就可以了。
你也可以使用以下命令:
pscp /home/person/hww/abc.sql [email protected]:/home/person/hww
同样回车后输入 192.168.1.1服务器密码就可以了。
pscp和scp功能相同,但pscp同时支持windows下使用,它有效解决了windows系统向linux服务器传输文件,而且它只有一个文件,即pscp.exe,建议将该文件放到C:\WINDOWS\system32下面,这样就可以在任何地方调用该文件命令,你也可以放在任意你指定文件夹下。
pscp语法基本与scp相同,但也有一下几个注意点:
-p 拷贝文件的时候保留源文件建立的时间。
-q 执行文件拷贝时,不显示任何提示消息。
-r 拷贝整个目录
-v 拷贝文件时,显示提示信息。
Usage:
pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host
pscp [options] -ls user@host:filespec
用法:
pscp [选项] [用户名@]主机:源文件 目标文件
pscp [选项] 源文件 [源文件……] [用户名@]主机
pscp [选项] -ls 用户名@主机:文件空间?
Options:
选项:
-p preserve file attributes 保护文件属性
-q quiet, don't show statistics 安静,不显示统计
-r copy directories recursively 复制子文件夹
-V print version information and exit 显示信息
-v show verbose messages
-load sessname Load settings from saved session
-load 加载,加载保存节的设定
-P port connect to specified port
-P 端口,连接到指定空间端口
-l user connect with specified username
-l 用户,用指定的用户连接空间
-pw passw login with specified password
-pw 密码,用指定的密码登录空间
-1/-2 强迫 ssh 使用的版本
-4 -6 force use of IPv4 or IPv6
-C 打开压缩
-i key 钥匙,证明用的钥匙文件
-batch 关闭交互能力,也许
-unsafe 不安全,允许伺服端取代字符 (危险的)
下面举一实例方便大家理解:
想把xp系统下fileUpload文件夹下的所有内容传输到192.168.1.1的linux服务器上"/home/data/file"文件夹下。我们可以做以下操作:
1.我们把pscp.exe拷贝到fileUpload的同级目录,然后我们可以写一个简单bat脚本,完成以上操作
2.脚本内容
@echo off pscp.exe -l hww -pw "123" -r "fileUpload/" [email protected]:/home/data/file pause
把文件另存为以bat为后缀的文件,我把它定义为fileupload.bat
注意:hww为linux设置的上传文件账户,123为hww登录linux密码。你也可以直接使用root帐号。但建议为了服务器安全,设置特别上传帐号。
3.现在你只要把所要上传的文件放置到fileUpload目录下,然后双击fileupload.bat,你就可以见证奇迹的一刻了,windows控制台会显示上传内容,默默等待上传完成,会提示”按任意键退出“!
OK,我们完成了windows系统对linux服务器文件的上传。
晚安,各位!