學(xué)習(xí)使用Unix SFTP 交換文件
今天,我們來(lái)學(xué)習(xí)下Unix中的一些工具。我們首先介紹Unix SFTP的知識(shí)。Unix SFTP 命令是一種與 FTP 類似的替代方法,它使用 SSH 協(xié)議提供的安全通信通道。要打開(kāi) SFTP 連接,請(qǐng)?jiān)诿钚猩现付ㄖ鳈C(jī)名: $ sftp remotehost
請(qǐng)記住,上面的命令假設(shè)您希望使用的登錄方式與當(dāng)前主機(jī)相同。要使用不同的登錄方式,請(qǐng)將在主機(jī)名前加上用戶名:$ sftp mc @remotehost
盡管Unix SFTP 的工作方式與 FTP 類似,但仍存在一些局限性和差異。例如,F(xiàn)TP 中的 dir 提供了一個(gè)長(zhǎng)文件列表(請(qǐng)參見(jiàn)清單 8)。
清單 8. FTP 中的 dir 提供了一個(gè)長(zhǎng)文件列表
- ftp> dir
- 502 'EPSV': command not understood.
- 227 Entering Passive Mode (192,168,0,110,150,159)
- 150 Opening ASCII mode data connection for directory listing.
- total 1472
- drwx------ 3 mcstaff 102 Nov 4 11:17 Desktop
- drwx------ 3 mcstaff 102 Nov 4 11:17 Documents
- drwx------ 18 mcstaff 612 Nov 5 18:01 Library
- drwx------ 3 mcstaff 102 Nov 4 11:17 Movies
- drwx------ 3 mcstaff 102 Nov 4 11:17 Music
- drwx------ 4 mcstaff 136 Nov 4 11:17 Pictures
- drwxr-xr-x 4 mcstaff 136 Nov 4 11:17 Public
- drwxr-xr-x 6 mcstaff 204 Nov 4 11:17 Sites
- drwxrwxrwx 3 root staff 102 Dec 24 07:30 tmp
- drwxr-xr-x 7 root staff 238 Dec 11 08:39 trial
- 226 Transfer complete.
在Unix SFTP 中,dir 的作用相當(dāng)于主機(jī)目錄列表命令的別名,它在 Unix 或 Linux 中為 ls。在缺省情況下,dir 僅提供一個(gè)簡(jiǎn)短列表(請(qǐng)參見(jiàn)清單 9)。
清單 9.Unix SFTP 中的 dir 僅提供一個(gè)簡(jiǎn)短列表
sftp> dir
DesktopDocuments LibraryMovies Music Pictures Public
Sites tmptrial
要獲得長(zhǎng)列表,請(qǐng)使用與 ls 相同的選項(xiàng)(請(qǐng)參見(jiàn)清單 10)。
清單 10. 長(zhǎng)列表
- sftp> dir -l
- drwx------3 mc staff 102 Nov 4 11:17 Desktop
- drwx------3 mc staff 102 Nov 4 11:17 Documents
- drwx------ 18 mc staff 612 Nov 5 18:01 Library
- drwx------3 mc staff 102 Nov 4 11:17 Movies
- drwx------3 mc staff 102 Nov 4 11:17 Music
- drwx------4 mc staff 136 Nov 4 11:17 Pictures
- drwxr-xr-x4 mc staff 136 Nov 4 11:17 Public
- drwxr-xr-x6 mc staff 204 Nov 4 11:17 Sites
- drwxrwxrwx3 root staff 102 Dec 24 07:30 tmp
- drwxr-xr-x7 root staff 238 Dec 11 08:39 trial
其他命令,如更改目錄(cd,本地為 lcd)、創(chuàng)建目錄(mkdir)以及發(fā)送(put)和接收(get)文件保持不變。
后兩個(gè)命令 put 和 get 都接受通配符(類似于 FTP 中的 mput 和 mget),但在Unix SFTP 中傳輸不帶通配符的多個(gè)文件時(shí)要小心。例如,sftp> mget file1 file2 file3 被識(shí)別為試圖獲取 file1 和 file2,并將它們放置在本地目錄 file3 中,但該目錄可能不存在。
【編輯推薦】