在linux中,我们常用scp命令传输文件:

如以下实例,我们想把当前服务器文件abc.sql传输到192.168.1.1服务器上

我们可以执行以下命令:

scp /home/person/hww/abc.sql root@192.168.1.1:/home/person/hww

回车后输入192.168.1.1服务器密码就可以了。

你也可以使用以下命令:

pscp /home/person/hww/abc.sql root@192.168.1.1:/home/person/hww

同样回车后输入
192.168.1.1服务器密码就可以了。

注:pscp是putty安装包所带的远程文件传输工具,使用和Linux下scp命令相似。

下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

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 不安全,允许伺服端取代字符 (危险的)

pscp options(详细参数)

参数 描述(英文) 描述(中文)
-V print version information and exit 打印版本信息并退出
-pgpfp print PGP key fingerprints and exit  未知,等解, 有知道的朋友请留言详细描述一下, thks.
-p preserve file attributes 保留文件属性
-q quiet, don't show statistics 悄悄地, 不显示统计数据

-r copy directories recursively 递归拷贝目录
-v show verbose message 显示冗余信息
-load sessname Load settings from saved session 加载保存好的会话设置
-P port connect to specified port 连接指定的端口(如果不用此选项,默认为22端口)
-l user connect with specified usernam

指定用户连接   

-pw passw login with specified password

显式的输入用户密码

-1 -2 force use of particular SSH protocol version 强制使用指定SSH协议版本, 可以通过:cat /etc/ssh/ssh_config | grep Protocol 来查看,
也可以用pscp -v的形式先连接一下, 它会显示出所有冗余信息,其中会有这么一行Using SSH protocol version 2
具体试一下就知道了!
-4 -6 force use of IPv4 or IPv6 强制使用IPv4或IPv6
-C enable compression 使用压缩
-i key private key file for authentication 认证所需要的私有密钥文件
-noagent disable use of Pageant 不使用Pageant
-agent enable use of Pageant 使用Pageant
-batch disable all interactive prompts 禁用所有交互提示
-unsafe allow server-side wildcards (DANGEROUS) 允许服务器段的通配符
-sftp force use of SFTP protocol 强制使用SFTP协议
-scp force use of SCP protocol 强制使用SCP协议

简单说一下几个参数:

-P 指定ssh的端口, 注意是大写的P

pscp -P 2992 test.zip root@192.168.1.245:/root/ 

-l user 的用户

pscp -l root test.zip 192.168.1.245:/root/    其实就是把user提到了前面用-l来指定。

-pw passw

pscp -l root -pw 123456 test.zip 192.168.1.245:/root/    与-l一样。 可以直接指定密码,出于安全性考虑不见意这样使用。

下面举一实例方便大家理解:

想把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/"      root@192.168.1.1:/home/data/file

pause

把文件另存为以bat为后缀的文件,我把它定义为fileupload.bat

注意:hww为linux设置的上传文件账户,123为hww登录linux密码。你也可以直接使用root帐号。但建议为了服务器安全,设置特别上传帐号。

3.现在你只要把所要上传的文件放置到fileUpload目录下,然后双击fileupload.bat,你就可以见证奇迹的一刻了,windows控制台会显示上传内容,默默等待上传完成,会提示”按任意键退出“!

OK,我们完成了windows系统对linux服务器文件的上传。

参考:https://www.cnblogs.com/mingjian/p/4873199.html

https://www.cnblogs.com/echo-something/archive/2012/09/20/pscp.html

Linux 和Windows之间命令行实现目录或文件互传的更多相关文章

  1. windows下命令行切换目录

    1.切换目录 C:\Users\MACHENIKE> cd H:/www C:\Users\MACHENIKE>H: H:\www> 2.查看目录文件 H:\www>dir

  2. Windows 命令行切换目录

    Windows 命令行切换目录 特别注意:切换到其它盘符不需要 cd 命令 1. 切换到 C 盘根目录 打开终端 cmd 后,输入cd C:\(一定要加上后面的反斜扛) 2.切换到 C 盘子目录 打开 ...

  3. 虚拟机中实现Linux与Windows之间的文件传输

    虚拟机中实现Linux与Windows之间的文件传输 标签: linux 2016年06月28日 11:17:37 2092人阅读 评论(0) 收藏 举报  分类: linux(2)    一.配置环 ...

  4. 实现的是Linux和Windows之间的一种共享--samba

    samba 基本配置及自定义控制 https://www.cnblogs.com/l-hh/p/9473937.html Samba简介: Samba实现的是Linux和Windows之间的一种共享, ...

  5. 虚拟机centOs Linux与Windows之间的文件传输

    一.配置环境 虚拟机Linux:Fedora 9 文件传输工具:SSHSecureShellClient-3.2.9 二.实现步骤 1. 在Windows中安装文件传输工具SSHSecureShell ...

  6. Linux和windows之间通过scp复制文件

    Windows是不支持ssh协议的 需要安装WinSSHD 安装以及设置过程如下: BvSshServer(原名winsshd)官方下载页在这里:https://www.bitvise.com/dow ...

  7. linux与linux,linux与windows之间用SSH传输文件

    linux与linux,linux与windows之间用SSH传输文件linux与linux之间传送文件:scp file username@hostIP:文件地址    例: scp abc.txt ...

  8. 利用securecrt在linux与windows之间传输文件

    SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是Linux/Unix同Windows进行ZModem文件 ...

  9. Linux命令行批量替换多文件中的字符串【转】

    Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...

随机推荐

  1. iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说

    UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDyna ...

  2. Codeforces Round #261 (Div. 2)459D. Pashmak and Parmida's problem(求逆序数对)

    题目链接:http://codeforces.com/contest/459/problem/D D. Pashmak and Parmida's problem time limit per tes ...

  3. 基于Handler架构的录音程序

    近期我的app须要一个录音功能,于是搜到这篇文章 文章中录音线程与主线程间的通讯是通过内部类訪问外部类成员变量的方式来实现 while (isRecord == true) { //isRecord是 ...

  4. cxf,两个声明导致 ObjectFactory 类中发生冲突

    说明先,这里不管是client还是server端都是用java语言编写,如有写得不好,望原谅! 问题 http://localhost:8080/WEB-SMVC/cxf/userService?ws ...

  5. JAVA-UML

    UML(UnifiedModelingLanguage)(统一建模语言或标准建模语言) 它是模型化的软件系统开发图形语言 为软件开发所有阶段提供模型化,可视化支持 UM2.2中定义了14中图示 三种常 ...

  6. 【转载】Java系列笔记(3) - Java 内存区域和GC机制

    Java系列笔记(3) - Java 内存区域和GC机制 转载:原文地址http://www.cnblogs.com/zhguang/p/3257367.html 目录 Java垃圾回收概况 Java ...

  7. Spring MVC如何测试Controller(使用springmvc mock测试)

    在springmvc中一般的测试用例都是测试service层,今天我来演示下如何使用springmvc mock直接测试controller层代码. 1.什么是mock测试? mock测试就是在测试过 ...

  8. mysql与服务器之间的编码问题

    1.之前在练习一个java web的项目时,mysql的编码设置正确,服务器的编码也设置正确,但向mysql中存储数据时,就会出现乱码问题,后来发现是mysql与服务器之间的编码设置问题,以下是mys ...

  9. C# Lock、Monitor避免死锁

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. MySQL select into

    MYSQL不支持: Select * Into new_table_name from old_table_name; Create table new_table_name (Select * fr ...