我使用過的Linux命令之sftp - 安全檔案傳輸命令列工具

hai0808發表於2017-11-26

用途說明

sftp命令可以通過ssh來上傳和下載檔案,是常用的檔案傳輸工具,它的使用方式與ftp類似,但它使用ssh作為底層傳輸協議,所以安全性比ftp要好得多。

 

常用方式

格式:sftp <host>

通過sftp連線<host>,埠為預設的22,使用者為Linux當前登入使用者。

 

格式:sftp -oPort=<port> <host>

通過sftp連線<host>,指定埠<port>,使用者為Linux當前登入使用者。

 

格式:sftp <user>@<host>

通過sftp連線<host>,埠為預設的22,指定使用者<user>。

 

格式:sftp -oPort=<port> <user>@<host>

通過sftp連線<host>,埠為<port>,使用者為<user>。

 

sftp連線成功之後常用操作命令如下:

help/? 列印幫助資訊。

pwd   檢視遠端伺服器當前目錄;

lpwd  檢視本地系統的當前目錄。

cd <dir>   將遠端伺服器的當前目錄更改為<dir>;

lcd <dir>  將本地系統的當前目錄更改為<dir>。

ls 顯示遠端伺服器上當前目錄的檔名;

ls -l  顯示遠端伺服器上當前目錄的檔案詳細列表;

ls <pattern> 顯示遠端伺服器上符合指定模式<pattern>的檔名;

ls -l <pattern>  顯示遠端伺服器上符合指定模式<pattern>的檔案詳細列表。

lls 顯示本地系統上當前目錄的檔名;

lls的其他引數與ls命令的類似。

get <file> 下載指定檔案<file>;

get <pattern> 下載符合指定模式<pattern>的檔案。

put <file> 上傳指定檔案<file>;

get <pattern> 上傳符合指定模式<pattern>的檔案。

progress 切換是否顯示檔案傳輸進度。

mkdir <dir> 在遠端伺服器上建立目錄;

lmkdir <dir> 在本地系統上建立目錄。

exit/quit/bye 退出sftp。

! 啟動一個本地shell。

! <commandline> 執行本地命令列。

其他命令還有:chgrp, chmod, chown, ln, lumask, rename, rm, rmdir, symlink, version。

 

使用示例

示例一

[root@jfht ~]# stty erase ^H 
[root@jfht ~]# sftp 192.168.1.181 
Connecting to 192.168.1.181...
root@192.168.1.181's password: 
sftp> ls -l *.gz 
-rw-r--r--    0 0        0         7770116 May 14  2010 mini.tar.gz
sftp> lls *.gz 
cn.tar.gz  ct08.min.tar.gz  files.20101216a.tar.gz
sftp> get mini.tar.get 
Couldn't stat remote file: No such file or directory
File "/root/mini.tar.get" not found.
sftp> ^[[A 
Invalid command.
sftp> get mini.tar.gz 
Fetching /root/mini.tar.gz to mini.tar.gz
/root/mini.tar.gz                                                                                 100% 7588KB   7.4MB/s   00:01    
sftp>
 lls mini.tar.gz -l
 
-rw-r--r-- 1 root root 7770116 04-03 15:20 mini.tar.gz
sftp> quit 
[root@jfht ~]#

 

問題思考

1. 在 sftp 登入之後的命令列中,如果按 Backspace 將會出現怪字元 ^H, 怎樣才能使 Backspace 產生它應有的作用?(2012.06.11)

 

2. 怎樣才能做到 sftp 免登入?這樣做之後,一是可以免去輸入密碼的麻煩,二是可以在指令碼中使用了。(2012.06.11)

 

3. 怎樣用 sftp 來呼叫一系列已經編寫好的命令,比如先進入某個目錄,然後下載其下的檔案,然後退出。(2012.06.11)

 

相關資料

【1】gloryme linux下如何使用sftp命令。
http://gloryme.iteye.com/blog/418829
【2】心劍龍鷹 linux下SSH遠端登入另一臺LINUX,並且用sftp上傳下載檔案
http://hi.baidu.com/nxswxxg/blog/item/ec4674cc26e21d1801e92884.html
【3】Linuxeden Linux下sftp自動上傳檔案
http://www.linuxeden.com/html/softuse/20100709/103727.html

相關文章