今天,我們來學習下Unix中的一些工具。我們首先介紹Unix SFTP的知識。Unix SFTP 命令是一種與 FTP 類似的替代方法,它使用 SSH 協議提供的安全通信通道。要打開 SFTP 連接,請在命令行上指定主機名: $ sftp remotehost
請記住,上面的命令假設您希望使用的登錄方式與當前主機相同。要使用不同的登錄方式,請將在主機名前加上用戶名:$ sftp mc @remotehost
盡管Unix SFTP 的工作方式與 FTP 類似,但仍存在一些局限性和差異。例如,FTP 中的 dir 提供了一個長文件列表(請參見清單 8)。
清單 8. FTP 中的 dir 提供了一個長文件列表
- 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 的作用相當於主機目錄列表命令的別名,它在 Unix 或 Linux 中為 ls。在缺省情況下,dir 僅提供一個簡短列表(請參見清單 9)。
清單 9.Unix SFTP 中的 dir 僅提供一個簡短列表
sftp> dir
DesktopDocuments LibraryMovies Music Pictures Public
Sites tmptrial
要獲得長列表,請使用與 ls 相同的選項(請參見清單 10)。
清單 10. 長列表
- 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)、創建目錄(mkdir)以及發送(put)和接收(get)文件保持不變。
後兩個命令 put 和 get 都接受通配符(類似於 FTP 中的 mput 和 mget),但在Unix SFTP 中傳輸不帶通配符的多個文件時要小心。例如,sftp> mget file1 file2 file3 被識別為試圖獲取 file1 和 file2,並將它們放置在本地目錄 file3 中,但該目錄可能不存在。