putty對Linux上傳下載文件或文件夾

  putty是一個開源軟件,目前爲止最新版本爲0.70。對於文件或文件夾的上傳下載,在Windows下它提供了pscp和psftp兩個命令。html

(1).pscp服務器

  pscp在命令提示符中使用,只要putty(ssh)可以遠程,就能使用該命令。網絡

pscp [Windows上的路徑,可絕對可相對] [Linux用戶]@[Linux的IP地址或網絡內惟一主機名]:[Linux上存放地址,絕對路徑]
pscp [Linux用戶]@[Linux的IP地址或網絡內惟一主機名]:[Linux上存放地址,絕對路徑] [Windows上的路徑,可絕對可相對]

  Windows路徑在前,是Windows向Linux上傳文件。Linux路徑在前,則是Windows向Linux請求下載文件。ssh

  另外pscp後面還能夠跟隨選項,這裏只介紹6個經常使用選項post

-p 拷貝文件的時候保留源文件創建的時間。
-q 執行文件拷貝時,不顯示任何提示消息。
-r 拷貝整個目錄
-v 拷貝文件時,顯示提示信息。
-sftp 強制使用sftp協議
-scp 強制使用scp協議

  下面作一個實例,使用pscp拷貝一個文件夾編碼

C:\Users\xuefei>pscp -r root@192.168.0.11:/root/extundelete-0.2.4 Desktop\
root@192.168.0.11's password:
config.h                  | 5 kB |   5.0 kB/s | ETA: 00:00:00 | 100%
LICENSE                   | 17 kB |  17.6 kB/s | ETA: 00:00:00 | 100%
configure                 | 226 kB | 226.1 kB/s | ETA: 00:00:00 | 100%
missing                   | 10 kB |  10.1 kB/s | ETA: 00:00:00 | 100%
extundelete-extundelete.o | 1600 kB | 1600.2 kB/s | ETA: 00:00:00 | 100%

  跑完以後個人桌面就會多出一個名爲extundelete-0.2.4的文件夾。可是,因爲Linux與Windows編碼問題,若是出現漢字名稱或文件內容有漢字,那將會很是糟糕。url

  若是是Windows上傳雖然會有亂碼,但還能夠經過convmv和iconv處理(詳見:從Windows複製文件到Linux顯示亂碼問題spa

  若是Windows下載的文件名有亂碼,會發現找不到這個文件或文件夾(至少我不知道怎麼作)。htm

(2).psftpblog

  psftp也能夠在命令提示符中使用,不過putty也給出了一個接口圖標直接打開使用。

  這是就有使用時的三種狀況:

  第一種、在命令提示符中,使用psftp [Linux用戶]@[Linux的IP地址或網絡內惟一主機名]轉到psftp模式下(此時已經鏈接Linux)。另外此時Windows默認上傳下載地址爲轉入psftp模式前所在的地址,例如C:\Users\xuefei>psftp root@192.168.0.11,它的默認下載地址就是C:\Users\xuefei。

  第二種、在命令提示符中,使用psftp轉到psftp模式下(此時沒有鏈接Linux)。想要鏈接到Linux服務器就必須在psftp模式下執行open [Linux用戶]@[Linux的IP地址或網絡內惟一主機名]。另外和第一種同樣,此時Windows默認上傳下載地址爲轉入psftp模式前所在的地址。

  第三種、使用putty提供的接口圖標PSFTP直接打開,會直接轉到psftp模式下(此時沒有鏈接到Linux)。和第二種同樣,想要鏈接到Linux服務器就必須在psftp模式下執行open [Linux用戶]@[Linux的IP地址或網絡內惟一主機名]。默認的下載地址是軟件安裝目錄。

  注意:若是不是以超級管理員權限打開命令提示符或接口圖標PSFTP,那麼系統盤下部分文件是不容許上傳,而且部分地址不容許存放下載文件。

  下面說一下psftp的幾個經常使用選項

put 上傳文件,目錄須要加-r
get 下載文件,目錄須要加-r
mput 上傳多個文件
mget 下載多個文件
cd 服務器端移動路徑
pwd 顯示服務器端當前所在路徑
lcd 本地端移動路徑
lpwd 顯示本地端當前所在路徑

  下面作一個實例,上傳一個目錄

C:\Users\xuefei>psftp root@192.168.0.11
Using username "root".
root@192.168.0.11's password:
Remote working directory is /root
psftp> lcd Desktop\    //調整本地端路徑
New local directory is C:\Users\xuefei\Desktop
psftp> put extundelete-0.2.4    //能夠看到但有put是不行的
local: unable to open extundelete-0.2.4
psftp> mput extundelete-0.2.4    //mput同樣不行
local: unable to open extundelete-0.2.4
psftp> put -r extundelete-0.2.4    //只有put -r才能夠上傳目錄

  再作一個實例,下載多個文件

psftp> mget 1 install.log install.log.syslog
remote:/root/1 => local:1
remote:/root/install.log => local:install.log
remote:/root/install.log.syslog => local:install.log.syslog

  上傳下載單個文件或文件夾還能夠重命名

psftp> get -r extundelete-0.2.4 1  //下載單個文件夾,重命名爲1
remote:/root/extundelete-0.2.4/LICENSE => local:1\LICENSE
remote:/root/extundelete-0.2.4/Makefile => local:1\Makefile
remote:/root/extundelete-0.2.4/Makefile.am => local:1\Makefile.am
psftp> get 1 2    //單個文件,重命名2
remote:/root/1 => local:2

  上傳下載單個文件或文件夾還能夠給出絕對路徑,保存到指定地址

psftp> get 1 D:\1    //必定要有重命名,否則沒法指定地址
remote:/root/1 => local:D:\1

  和上面的pscp同樣,漢字問題依然存在。並且問題如出一轍。

相關文章
相關標籤/搜索