English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux scpコマンド

Linux コマンド全集

Linuxのscpコマンドは、Linux間でファイルとディレクトリをコピーするために使用されます。

SCPはsecure copyの略称で、SCPはLinuxシステム下でSSHログインに基づいて安全なリモートファイルコピーのコマンドです。

SCPは暗号化されています、rcp 暗号化されていない、SCPはRCPの強化版です。

構文

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2

簡単な書き方:

scp [オプション] file_source file_target 

パラメータの説明:

  • -1: scpコマンドがsshプロトコルを使用するように強制します1
  • -2: scpコマンドがsshプロトコルを使用するように強制します2
  • -4: scpコマンドがIPv6を使用するように強制します4アドレス
  • -6: scpコマンドがIPv6を使用するように強制します6アドレス
  • -B: バッチモードを使用する(トランスミッション中にトランスミッションのパスワードやフレーズを尋ねません)
  • -C: 圧縮を許可します。(-Cフラグをsshに渡して、圧縮機能を有効にします)
  • -p:元のファイルの修正時間、アクセス時間、アクセス権限を保持します。
  • -q: トランスミッションの進行状況を表示しません。
  • -r: ディレクトリ全体を再帰的にコピーします。
  • -v:詳細な表示方式で出力を表示します。scpとssh(1)は、全体のデバッグ情報を表示します。これらの情報は、接続のデバッグ、確認、設定の問題の検証に使用されます。
  • -c cipher: データトランスミッションを暗号化するためにcipherを使用します。このオプションはsshに直接渡されます。
  • -F ssh_config: 代替のssh設定ファイルを指定します。このパラメータはsshに直接渡されます。
  • -i identity_file: 指定されたファイルから読み込むトランスミッションに使用するキーファイルを指定します。このパラメータはsshに直接渡されます。
  • -l limit: 限定ユーザーが使用できるバンド幅をKbitで指定します。/s単位で指定します。
  • -o ssh_option: ssh_configを使用する習慣がある場合は、5)のパラメータの渡し方を理解する必要があります。
  • -P port:大文字のP、portはデータトランスミッションで使用するポート番号を指定します
  • -S program: 暗号化されたトランスミッションに使用するプログラムを指定します。このプログラムはssh(1)のオプション。

オンラインの例

1、ローカルからリモートにコピーする

コマンドの形式:

scp local_file remote_username@remote_ip:remote_folder 
または 
scp local_file remote_username@remote_ip:remote_file 
または 
scp local_file remote_ip:remote_folder 
または 
scp local_file remote_ip:remote_file 

  • 第1,2ユーザー名が指定されている場合、コマンドを実行した後、さらにパスワードを入力する必要があります。1パラメータがリモートのディレクトリのみを指定している場合、ファイル名は変更されません。2パラメータがファイル名を指定していない場合;
  • 第3,4ユーザー名が指定されていない場合、コマンドを実行した後、ユーザー名とパスワードを入力する必要があります。3パラメータがリモートのディレクトリのみを指定している場合、ファイル名は変更されません。4パラメータがファイル名を指定していない場合;

アプリケーション例:

scp /home/space/music/1.mp3 [email protected]:/home/root/others/music 
scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3 
scp /home/space/music/1.mp3 ja.oldtoolbag.com:/home/root/others/music 
scp /home/space/music/1.mp3 ja.oldtoolbag.com:/home/root/others/music/001.mp3 

ディレクトリコピーのコマンド形式:

scp -r local_folder remote_username@remote_ip:remote_folder 
または 
scp -r local_folder remote_ip:remote_folder 
  • 第1パラメータがユーザー名を指定している場合、コマンドを実行するとさらにパスワードを入力する必要があります;
  • 第2パラメータがユーザー名を指定していない場合、コマンドを実行するとユーザー名とパスワードを入力する必要があります;

アプリケーション例:

scp -r /home/space/music/ [email protected]:/home/root/others/ 
scp -r /home/space/music/ ja.oldtoolbag.com:/home/root/others/ 

上記のコマンドはローカルの music ディレクトリをリモートの others ディレクトリにコピーします。

2、リモートからローカルにコピーする

リモートからローカルにコピーする場合、リモートからローカルにコピーするコマンドの後ろの2パラメータの順序を変更することで、以下の例のように

アプリケーション例:

scp [email protected]:/home/root/others/music /home/space/music/1.mp3 
scp -r ja.oldtoolbag.com:/home/root/others/ /home/space/music/

構文

1リモートサーバーのファイアウォールにscpコマンドに対して指定されたポートが設定されている場合、以下を使用します: -P パラメータを使用してコマンドのポート番号を設定します。コマンドの形式は以下の通りです:

#scp コマンドのポート番号の使用 4588
scp -P 4588 [email protected]:/usr/local/sin.sh /home/administrator

2scp コマンドを使用する際には、ユーザーがリモートサーバーの対応するファイルの読取権を持っていることを確認してください。そうしないと、scp コマンドは機能しません。

Linux コマンド全集