scpおよびsftpコマンドの使用によるシステム間でのファイルのコピー
scpの使用
ノート:
Oracle Linux 9およびOracle Linux 10では、scpユーティリティはデフォルトでSSHファイル転送プロトコルに設定されます。 詳細は、「Oracle Linux 9: Oracle Linux 9のリリース・ノートの非推奨となった機能章のセキュリティセクションおよび」 scp(1)マニュアル・ページを参照してください。
scpコマンドを使用すると、ファイルまたはディレクトリをシステム間でコピーできます。scpでは、接続が確立され、ファイルがコピーされ、その後、その接続が閉じられます。
次の例は、scpコマンドの使用方法を示しています。
-
リモート・システムへのローカル・ファイルのアップロード
scp [options] local_file [user @]host[: remote_file]たとえば:
-
testfileをhost04のホーム・ディレクトリにコピーします。scp testfile host04 -
testfileを同じディレクトリにコピーしますが、その名前をnew_testfileに変更します。scp testfile host04:new_testfile
-
-
リモート・システムからローカル・システムへのファイルのダウンロード
scp [options] [user@]host[:remote_file] local_file -
ファイルの再帰的なコピー
-rオプションを指定すると、ディレクトリの内容が再帰的にコピーされます。
たとえば、ディレクトリの
remdirとその内容をリモートのhost04にあるホーム・ディレクトリからローカル・ホーム・ディレクトリにコピーするには、次のように入力します:scp -r host04:/home/user/remdir $HOMEscpコマンドでリモート・ホスト上のパスを指定する場合、$HOME変数のシェル展開によって意図しないファイル・パスが発生する可能性があります。 scpコマンドでは、常にリモート・ファイルへのフルパスを使用します。
sftpの使用
sftpコマンドは、システム間でファイルを転送するために使用されるftpコマンドの安全な代替法です。 scpコマンドとは異なり、sftpコマンドを使用すると、ファイルをコピーする前にリモート・サーバー上のファイル・システムを参照できます。
SSHを介してリモート・システムへのFTP接続を開くには、次のコマンドを使用します。
sftp [options] [user@]host
たとえば、次のように、システムhost04へのFTP接続を開きます。
sftp host04
Connecting to host04...
guest@host04âs password: password
sftp>
sftp>プロンプトに、sftpコマンドを入力します。
次の例では、putコマンドを使用してファイルnewfileをローカル・システムからリモート・システムにアップロードし、その後、lsコマンドを使用してそれを一覧表示します。
sftp> put newfile
Uploading newfile to /home/guest/newfile
foo 100% 1198 1.2KB/s 00:01
sftp> ls newfile
newfile
helpまたは?と入力して、使用可能なコマンドのリストを表示します。 bye、exitまたはquitと入力して接続を閉じ、sftpの対話型セッションを終了します。
詳細は、ssh(1)およびsftp(1)の各マニュアル・ページを参照してください。