UNIX 環境でSCPを利用するには,sftpコマンドを実行します. sftpはftpクライアントに似たインターフェイスを持っています. ここではsftpコマンドの利用方法について説明します.
リモートホストccz03.sfc.keio.ac.jpにユーザ t02000tfがログインする実行例を示します. はじめてログインホストに接続する際に, 接続の確認メッセージが表示されるので`yes'と入力します. 接続に成功するとパスワードを聞かれるので入力し,ログインします.
% sftp t02000tf@ccz03.sfc.keio.ac.jp <RET> Connecting to ccz03.sfc.keio.ac.jp... t02000tf@ccz03.sfc.keio.ac.jp's password:_ sftp> _
sftpコマンドは次のような書式で利用します.
% sftp [オプション] [ログイン名]@[ホスト名] <RET>
SFTPで転送したいファイルがあるディレクトリへ移動したり,ディレクトリ内の ファイルを表示させたりするにはlsコマンドやcdコマ ンドを使用します. lsコマンドは,リモートホストのカレントディレクトリに存在する ファイルの一覧を表示します. cdコマンドはリモートホストのディレクトリの移動に利用します.
次にlsコマンドとcdコマンドの実行例を示します.
sftp> ls <RET> -rw-rw-rw- 1 t02000tf student 254 Oct 20 01:55 .cshrc drwxr-xr-x 2 t02000tf student 4096 Feb 12 12:25 bin drwxr----- 2 t02000tf student 4096 Nov 14 04:12 Mail -rwxr-xr-x 2 t02000tf student 892 Feb 12 12:25 memo.tex drwxr-xr-x 2 t02000tf student 512 Aug 11 14:31 report sftp> cd report <RET> sftp> ls <RET> -rw-r--r-- 1 t02000tf student 227 Jan 23 2002 kadai.tex -rw-r--r-- 1 t02000tf student 401 Jun 9 01:27 kadai.dvi sftp> _
リモートホストでのディレクトリ操作と同様に, llsコマンドとlcdコマンドを 利用することにより, ローカルホストのディレクトリ操作を行えます. コマンドの頭文字の`l'はLocalの略です.
llsコマンドはsftpを実行中に,ローカルホスト の作業ディレクトリ内のファイル・ディレクトリ一覧を表示します. lcdコマンドはsftpを実行中に,ロー カルホストの作業ディレクトリを変更します.
次にllsコマンドとlcdコマンドの実行例を示します.
sftp> lls <RET> advertisement.tex question.eps directory/ studentList.tex english/ sftp> lcd english <RET> sftp> lls <RET> finalexam.tex words.tex sftp> _
リモートホストに置いてあるファイルをローカルホストに転送するには, getコマンドやmgetコマンドを利用します.
getコマンドはリモートホストの1個のファイルをローカルホストに 転送するときに利用します.
次に,kadai.texというファイルを転 送する実行例を示します.
sftp> get kadai.tex <RET> Fetching /a/fs0501a/t02000tf/report/kadai.tex to kadai.tex sftp> _
転送が終了するとプロンプトが表示されます. リモートホストにファイルが存在しない場合,エラーメッセージが表示されるの でファイル名を確認してください.
次はエラーメッセージが表示されている実行例を示します.
sftp> get kadai.html <RET> Couldn't stat remote file: No such file or directory File "/a/fs0501a/t02000tf/report/kadai.html" not found. sftp> _
mgetコマンドはメタキャラクタ()を利用でき るので,`*.tex'や`kadai?.tex'などのようにファイル名 を指定することで複数のファイルを同時に転送できます.
次に,リモートホストのカレントディレクトリのファイルを すべてローカルホストに転送する実行例を示します.
sftp> mget * <RET> Fetching /a/fs0501a/t02000tf/report/kadai.tex to kadai.tex Fetching /a/fs0501a/t02000tf/report/kadai.dvi to kadai.dvi sftp> _
ローカルホストにあるファイルをリモートホストに転送するには,putコマンドやmputコマンドを利用します.
putコマンドはローカルホストの1個のファイルをリモートホストに転送 するときに利用します.次に,`draft.tex'というファイルをリモートホストに転 送する実行例を示します.
sftp> put draft.tex <RET> Uploading draft.tex to /a/fs0501a/t02000tf/report/draft.tex sftp> _
転送が終了するとプロンプトが表示されます. ローカルホストにファイルが存在しない場合,エラーメッセージが表示されるの でファイル名を確認してください.
mputコマンドはmgetコマンドと同様にメタキャラクタ を利用できるので,`*.tex'や`kadai?.tex'などのように ファイル名を指定することで複数のファイルを同時に転送できます.
次に,ローカルホストの作業ディレクトリにある`example'ではじま るファイルをすべてリモートホストに転送する実行例を示します.
sftp> mput example* <RET> Uploading example.tex to /a/fs0501a/t02000tf/report/example.tex Uploading example.dvi to /a/fs0501a/t02000tf/report/example.dvi sftp> _
SFTPを終了する場合はquitコマンドを実行します.
sftp> quit <RET> % _