請使用PuTTy安裝包中的psftp.exe,putty.exe無法實現你的目的。
使用psftp.exe上傳,你只要知道以下四個命令就好:
1、open
樣本:open ***.dreamhost.com
——串連伺服器,其中”***.dreamhost.com“替換為您自己的地址。
2、cd
樣本:cd blog/
——用於切換伺服器上的目錄,其中”blog/”替換為您自己實際的路徑。
3、lcd
樣本:lcd d:/site/upload/
——用於切換本地的路徑,其中d:/site/upload/就是我自己電腦裡的d:/site/upload/。這樣才可以上傳這個目錄裡的檔案或者將伺服器上的檔案下載到這個檔案夾。
4、put
樣本:put wordpress.zip
——用於上傳檔案。現在上傳的檔案就是d:/site/upload/wordpress.zip
但是請注意!
1、本地路徑不能為中文!
2、上傳速度不比ftp快,甚至略慢。
3、上傳穩定性比ftp高。
4、沒有已上傳多少的提示,如果是大檔案,只能傻等。
scp -rp /path/filename username@remoteIP:/path #將本地檔案拷貝到伺服器上
scp -rp username@remoteIP:/path/filename /path #將遠程檔案從伺服器下載到本地
Putty的PSCP用法
當ftp不能用的時候,這個方便比較便利,也比較安全。
獲得登入後目錄下的子目錄
例如:使用者user1
user1目錄下有:python目錄,indext.html檔案、
1.獲得目錄內所有內容
pscp -pw password -r username@IPAdress:directory target_dir
-pw指定密碼
-r表示獲得目錄下的所有內容
pscp -pw password -r username@IPAddress:python c:/home
2.獲得單個檔案
pscp -pw password username@IPAdress:index.html c:/home
也可以使用psftp
cmd>psftp
psftp>open yourhostname
psftp>help #獲得協助資訊
使用PuTTy實現本地檔案上傳下載
或許真的有和我一樣想通過SSH
進行本地檔案上傳或者下載的同學吧,SSH
的好處是讓檔案在傳輸過程中更加安全,我卻不是因為這個原因產生這個想法,只是覺得一邊用FTP工具上傳一邊用PuTTy
來解壓或者壓縮真的是挺傻的。其實用SecureCRT
可以比較方便地實現,但是它是收費軟體,我不喜歡,所以我堅持使用PuTTy
。
嚴格來說,通過SSH
進行本地檔案的上傳或者將Linux主機中的檔案下載至本地並不是PuTTy
的功能,而是通過其完整安裝包內的psftp
.exe檔案實現的。所以,要完成這些操作,Windows內必須有完整的PuTTy
安裝包而不僅僅是putty
.exe這一個檔案。
接下來就是開啟psftp
.exe了,和Putty
一樣是全字元介面。相對於shell繁多的命令,上傳和下載使用的命令屈指可數,將用到的命令列在下面:
- open calpico.dreamhost.com 用於串連遠程linux伺服器,其中calpico.dreamhost.com替換為您自己的地址。
- cd public_html/wp-content/ 用於切換遠程Linux伺服器上的目錄,其中public_html/wp-contnt替換為您自己實際的路徑。
- lcd D:/downloads/
用於切換本地的路徑,其中D:/downloads/就是我自己電腦裡的D:/downloads/,總之,切換本地路徑的目的是為了上傳這個目錄裡的文
件或者將伺服器上的檔案下載到這個檔案夾裡,如果你要上傳位於C盤Windows檔案夾裡的notepad.exe到伺服器上,就得 lcd
C:/windows/。
- put notepad.exe 上傳notepad.exe到伺服器上。
- get notepad.exe 下載notepad.exe到自己電腦商。
使用以後,我發現這麼上傳下載檔案還有一個好處,因為是字元介面,檔案在上傳和下載過程中佔用的系統資源非常少,甚至感覺不到它正在運行,比開著ftp用戶端傻等好多了。缺點也有,由於看不到傳輸進度,如果遇到大檔案,還是得傻等。
可能有用的幾個參數 :
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看串連 , 認證 , 或是配置錯誤 .
-C 使能壓縮選項 .
-P 選擇連接埠 . 注意 -p 已經被 rcp 使用 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .
-r Recursively copy entire directories.
copy 本地的檔案到遠端機器上
scp -P 8022 /etc/lilo.conf my@www.upsdn.net:/home/my
會將本地的 /etc/lilo.conf 這個檔案 copy 到 www.upsdn.net,使用者my 的家目錄下。
=====================================================
copy遠程機器上的檔案到本地來
scp -P 8022 my@www.upsdn.net:/etc/lilo.conf /etc
會將 http://www.upsdn.net 中 /etc/lilo.conf 檔案 copy 到本地的 /etc 目錄下。
用SSH下載檔案,大家應該都會了吧?
那如何上傳呢??
以下情況可能會用到上傳。。
假設我在dreamhost裡做了個站,發展不錯。內容也很多,但是訪問速度肯定不如國內了,所以我準備把資料都搬回國內。這時我們肯定要先用SSH打包備份了。
遠程SSH打包命令如下:
tar cfz geek.tar.gz tool
/* 把tool目錄打包且壓縮為geek.tar.gz檔案,因為.tar檔案幾乎是沒有壓縮過的,MT的.tar.gz檔案解壓成.tar檔案後差不多是10MB */
壓縮打包好了,要轉移到新伺服器上,傳統方法是用登入FTP,然後下載壓縮包,再登入新伺服器上傳壓縮包。
這個時候,如果檔案小還好,檔案要是很大的話,這一下一上肯定費不少時間。很是麻煩。
其實,利用SSH,可以直接把檔案上傳到遠程伺服器上。下面給大家舉例子:
假設我的壓縮包在code/mwpk.tar.gz 而遠程伺服器IP qmun.com 使用者:user 密碼:123456
我們首先登入SSH。
並且轉到code目錄下。
cd code /*轉到code目錄
ls /*列出該目錄所有檔案
下面就是利用SSH上傳的命令了。
[lenny]$ ftp /*啟用FTP用戶端
ftp> open qmun.com /*開啟遠程伺服器IP
Connected to qmun.com.
220 ProFTPD 1.2.9 Server ready.
Name (qmun.com:root): user /*輸入使用者名稱
331 Password required for oran.
Password: /*輸入密碼
230 User oran logged in.
put mwpk.tar.gz mwpk.tar.gz
/*這是關鍵,put是上傳命令,第一個mwpk.tar.gz是本地檔案名稱,第二個是遠程檔案名稱。。意思就是把本地的mwpk.tar.gz上傳到遠程FTP裡,並且命名為mwpk.tar.gz這樣,SSH就可以自己上傳了。