在網上找了兩篇文章,分別關於ftp和ssh的上傳下載,如果有好的大家可以留言分享,不勝感謝~
因為關於ftp的比較少,就copy上面,本人並沒有驗證。關於ssh用sr和sz發現一條錯誤,而且網上也有解決辦法,但感覺get和put已經很方便,就沒有繼續深究。
《SecureCRT ftp操作》原文地址:http://m.blog.csdn.net/article/details?id=51371654
securecrt 按下ALT+P就開啟新的會話 進行ftp操作。
輸入:help命令,顯示該FTP提供所有的命令
pwd: 查詢linux主機所在目錄(也就是遠程主機目錄)
lpwd: 查詢本地目錄(一般指windows上傳文件的目錄:我們可以通過查看"選項"下拉框中的"會話選項",我們知道本地上傳目錄為:D:/我的文檔)
ls: 查詢連接到當前linux主機所在目錄有哪些文件
lls: 查詢當前本地上傳目錄有哪些文件
cd: 改變遠程上傳目錄
lcd: 改變本地上傳目錄的路徑
get: 將遠程目錄中文件下載到本地目錄
put: 將本地目錄中文件上傳到遠程主機(linux)
quit: 斷開FTP連接
securecrt 按下Ctrl+S會假死,在按下Ctrl+Q就可解決;
《使用SecureCRT的SFTP在WINDOWS與LINUX之間傳輸文件》
原文地址:http://www.cnblogs.com/xwdreamer/p/3673397.html
背景:
方案:


SFTP命令
sftp> help Available commands: ascii Set transfer mode to ASCII binary Set transfer mode to binary cd path Change remote directory to 'path' lcd path Change local directory to 'path' detail remote-path Display system information about remote file or folder ldetail local-path Display system information about local file or folder chgrp group path Change group of file 'path' to 'group' chmod mode path Change permissions of file 'path' to 'mode' chown owner path Change owner of file 'path' to 'owner' exit Quit sftp help Display this help text include filename Include commands from 'filename' Alternate: < filename get [-r][-a | -b] remote-path Download file -r downloads directory recursively force ascii (-a) or binary (-b) mode ln [-s] existingpath linkpath Hardlink / symlink remote file ls [options] [path] Display remote directory listing lls [options] [path] Display local directory listing mkdir path Create remote directory lmkdir path Create local directory mv oldpath newpath Move remote file lmv oldpath newpath Move local file open [user@]host[:port] Connect to remote host put [-r][-a | -b] local-path Upload file -r uploads directory recursively force ascii (-a) or binary (-b) mode pwd Display remote working directory lpwd Print local working directory quit Quit sftp rename oldname newname Rename remote file lrename oldname newname Rename local file rmdir path Remove remote directory lrmdir path Remove local directory rm path Delete remote file lrm path Delete local file su username Substitutes the current user This is only supported with VShell for Windows 3.5 or later. type [transfer-mode] Display or set file transfer mode view remote-path Download and open file version Display protocol version
翻譯一下就是:
sftp-- help 可用命令: cd 路徑 更改遠程目錄到“路徑” lcd 路徑 更改本地目錄到“路徑” chgrp group path 將文件“path”的組更改為“group” chmod mode path 將文件“path”的權限更改為“mode” chown owner path 將文件“path”的屬主更改為“owner” exit 退出 sftp help 顯示這個幫助文本 get 遠程路徑 下載文件 ln existingpath linkpath 符號鏈接遠程文件 ls [選項] [路徑] 顯示遠程目錄列表 lls [選項] [路徑] 顯示本地目錄列表 mkdir 路徑 創建遠程目錄 lmkdir 路徑 創建本地目錄 mv oldpath newpath 移動遠程文件 open [用戶@]主機[:端口] 連接到遠程主機 put 本地路徑 上傳文件 pwd 顯示遠程工作目錄 lpwd 打印本地工作目錄 quit 退出 sftp rmdir 路徑 移除遠程目錄 lrmdir 路徑 移除本地目錄 rm 路徑 刪除遠程文件 lrm 路徑 刪除本地文件 symlink existingpath linkpath 符號鏈接遠程文件 version 顯示協議版本
我們主要用到的就是一下六個命令
cd 路徑 更改遠程目錄到“路徑” lcd 路徑 更改本地目錄到“路徑” ls [選項] [路徑] 顯示遠程目錄列表 lls [選項] [路徑] 顯示本地目錄列表 put 本地路徑 上傳文件 get 遠程路徑 下載文件
這里在詳細說明一下遠程目錄和本地目錄。
遠程目錄:ls查看到的是ubuntu虛擬機上面的目錄
本地目錄:lls查看到的是windows實體機上面的目錄。
實例:
假設我需要實現windows下的e:\sftp\test1.txt和ubuntu下/home/enadmin/test2.txt的互換,可以進行一下操作:
put操作:windows->linux
查看目錄權限
root@BJCGNMON01:/home# ll total 20 drwxr-xr-x 5 root root 4096 Apr 18 15:21 ./ drwxr-xr-x 24 root root 4096 Jan 3 14:14 ../ drwxr-xr-x 9 enadmin enadmin 4096 Apr 18 15:22 enadmin/ drwxr-xr-x 2 root root 4096 Apr 18 15:21 sftp/--可以看到sftp的權限是root的 drwxr-xr-x 2 root root 4096 Apr 18 14:57 test/ root@BJCGNMON01:/home# chown -R enadmin.enadmin sftp/ root@BJCGNMON01:/home# ll total 20 drwxr-xr-x 5 root root 4096 Apr 18 15:21 ./ drwxr-xr-x 24 root root 4096 Jan 3 14:14 ../ drwxr-xr-x 9 enadmin enadmin 4096 Apr 18 15:22 enadmin/ drwxr-xr-x 2 enadmin enadmin 4096 Apr 18 15:21 sftp/--修改以后權限變成enadmin的了 drwxr-xr-x 2 root root 4096 Apr 18 14:57 test/
拷貝文件
sftp> put test* --初始想將文件從windows系統put到ubuntu系統,發現失敗,提示拒絕訪問 Uploading test1.txt to /home/test1.txt put: failed to upload e:/sftp/test1.txt. 拒絕訪問。 Uploading test2.txt to /home/test2.txt put: failed to upload e:/sftp/test2.txt. 拒絕訪問。 Uploading test3.txt to /home/test3.txt put: failed to upload e:/sftp/test3.txt. 拒絕訪問。 sftp> pwd --查看當前目錄是/home目錄,權限是root的 /home sftp> cd /home/enadmin/ --我切換到enadmin目錄下 sftp> ls Graphs.pm msmtp ntp sent smokeping.tar.gz smokepingrtt.tar.gz smokepingrtt2.tar.gz Target wqy wqy-zenhei-0.8.38-1.deb sftp> lls test1.txt test2.txt test3.txt sftp> put test* -再次嘗試將windows下的文件put到/homg/enadmin目錄下,這次成功 Uploading test1.txt to /home/enadmin/test1.txt 100% 4 bytes 4 bytes/s 00:00:00 e:/sftp/test1.txt: 4 bytes transferred in 0 seconds (4 bytes/s) Uploading test2.txt to /home/enadmin/test2.txt 100% 4 bytes 4 bytes/s 00:00:00 e:/sftp/test2.txt: 4 bytes transferred in 0 seconds (4 bytes/s) Uploading test3.txt to /home/enadmin/test3.txt 100% 5 bytes 5 bytes/s 00:00:00 e:/sftp/test3.txt: 5 bytes transferred in 0 seconds (5 bytes/s) sftp> cd /home/sftp/--在修改sftp目錄權限以后,再次切換到sftp目錄下 sftp> ls sftp> lls test1.txt test2.txt test3.txt sftp> put test* --這回put成功。所以跟權限相關 Uploading test1.txt to /home/sftp/test1.txt 100% 4 bytes 4 bytes/s 00:00:00 e:/sftp/test1.txt: 4 bytes transferred in 0 seconds (4 bytes/s) Uploading test2.txt to /home/sftp/test2.txt 100% 4 bytes 4 bytes/s 00:00:00 e:/sftp/test2.txt: 4 bytes transferred in 0 seconds (4 bytes/s) Uploading test3.txt to /home/sftp/test3.txt 100% 5 bytes 5 bytes/s 00:00:00 e:/sftp/test3.txt: 5 bytes transferred in 0 seconds (5 bytes/s)
注意點:這里需要注意權限的問題。加入我是使用enadmin賬戶初始連接ubuntu的,那么我put的文件只能放到文件夾權限是enadmin的目錄下,不能放到文件夾權限是root的目錄下。如果想放到文件夾權限是root的目錄下,那么初始就使用root賬戶連接ubunut,然后再創建sftp會話,這樣就可以了。
get操作:linux->windows
get操作沒有權限設定
sftp> pwd /home/enadmin sftp> lpwd e:/Documents sftp> lcd e:/sftp --切換目錄 sftp> lls rc.local test1.txt test2.txt test3.txt sftp> ls Graphs.pm msmtp ntp sent smokeping.tar.gz smokepingrtt.tar.gz smokepingrtt2.tar.gz Target test1.txt test2.txt test3.txt wqy wqy-zenhei-0.8.38-1.deb sftp> get Graphs.pm --下載文件到windows Downloading Graphs.pm from /home/enadmin/Graphs.pm 100% 13KB 13KB/s 00:00:00 /home/enadmin/Graphs.pm: 13503 bytes transferred in 0 seconds (13 KB/s) sftp> lls --查看windows目錄 Graphs.pm rc.local test1.txt test2.txt test3.txt sftp>