logo
 
cpacer

3.2 UNIX 環境でのSCPの利用

UNIX 環境でSCPを利用するには,sftpコマンドを実行します. sftpはftpクライアントに似たインターフェイスを持っています. ここではsftpコマンドの利用方法について説明します.

3.2.1 リモートホストへのログイン

リモートホスト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>

3.2.2 SFTPでのディレクトリ操作

3.2.2.1 リモートホストの操作

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> _

3.2.2.2 ローカルホストの操作

リモートホストでのディレクトリ操作と同様に, 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> _

3.2.3 リモートホストからローカルホストへのファイルの転送

リモートホストに置いてあるファイルをローカルホストに転送するには, getコマンドやmgetコマンドを利用します.


3.2.3.1 単独のファイル転送

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> _

3.2.3.2 複数のファイル転送

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> _
getコマンドやmgetコマンドは,ローカルホストの 作業ディレクトリに転送しようとしているファイルと同じ名前のファイルがあ る場合,それを警告なしに上書きします.あらかじめ,ローカルホストの 作業ディレクトリには転送するファイルと同じ名前のファイルがないことを確認し てください.

3.2.4 ローカルホストからリモートホストへのファイル転送

ローカルホストにあるファイルをリモートホストに転送するには,putコマンドやmputコマンドを利用します.

3.2.4.1 単独のファイル転送

putコマンドはローカルホストの1個のファイルをリモートホストに転送 するときに利用します.次に,`draft.tex'というファイルをリモートホストに転 送する実行例を示します.

sftp> put draft.tex <RET>
Uploading draft.tex to /a/fs0501a/t02000tf/report/draft.tex
sftp> _

転送が終了するとプロンプトが表示されます. ローカルホストにファイルが存在しない場合,エラーメッセージが表示されるの でファイル名を確認してください.

3.2.4.2 複数のファイル転送

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> _
putコマンドやmputコマンドは,リモートホストの カレントディレクトリに転送しようとしているファイルと同じ名前のファイル がある場合,警告なしに上書きします.あらかじめリモートホスト のカレントディレクトリに同じ名前のファイルがないことを確認してください.

3.2.5 sftpコマンドの終了

SFTPを終了する場合はquitコマンドを実行します.

sftp> quit <RET>
% _