Linux 和Windows之間命令行實現目錄或文件互傳
在linux中,咱們經常使用scp命令傳輸文件:
如如下實例,咱們想把當前服務器文件abc.sql傳輸到192.168.1.1服務器上html
咱們能夠執行如下命令: linux
scp /home/person/hww/abc.sql root@192.168.1.1:/home/person/hww
sql
回車後輸入192.168.1.1服務器密碼就能夠了。 windows
你也可使用如下命令:
安全
pscp /home/person/hww/abc.sql root@192.168.1.1:/home/person/hww
服務器
一樣回車後輸入 192.168.1.1服務器密碼就能夠了。 session
注:pscp是putty安裝包所帶的遠程文件傳輸工具,使用和Linux下scp命令類似。ssh
下載地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlide
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 | 打印PGP密鑰指紋並退出。(至於PGP密匙是什麼,這個樓主我也不太清楚,歡迎評論解答) |
-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服務器文件的上傳。
參考:
http://www.javashuo.com/article/p-flpfxcsu-hu.html
https://www.cnblogs.com/echo-something/archive/2012/09/20/pscp.html
若是,您認爲閱讀這篇博客讓您有些收穫,不妨點擊一下右下角的【推薦】。
若是,您但願更容易地發現個人新博客,不妨點擊一下左下角的【關注我】。
若是,您對個人博文感興趣,能夠關注個人後續博客,我是【AlbertRui】。