次のコマンドは、source_file_name
を destination_host
の username account
の下の destination_folder
にコピーすることを意味します。
scp
コマンドで使用できるパラメータは多数あります。以下は、日常の操作で使用される可能性のあるパラメータの一部です。
デフォルトの コマンドはパラメータをとらず、バックグラウンドでサイレントにファイルをコピーします。ユーザーには、プロセスが完了したとき、またはエラーが発生したときにのみ結果が表示されます。
パラメーターを使用して、デバッグ情報を画面に出力できます。これは、接続、認証、構成の問題のトラブルシューティングに役立ちます。
リーリー
######出力######
scp はファイルのコピー時に進行状況を表示します
-C パラメータを使用してファイル転送を高速化します
パラメータはいつでもどこでもファイルを圧縮します。ユニークなのは、圧縮がネットワーク上でのみ行われることです。ファイルが宛先サーバーに到達すると、圧縮前の元のサイズに復元されます。
リーリー ######出力###### 圧縮を許可する
リーリー
######出力######
scp 圧縮を使用してファイルを高速転送する
リーリー
ネットワーク経由で大量のファイルをコピーする場合、
压缩方法不适用于所有文件。当源文件已经被压缩时,就没有什么效果了。文件如.zip
,.rar
,pictures
, 和.iso
默认情况下scp
使用 AES-128
来加密文件。如果你想更改为其他密码对其进行加密,你可以使用 -c
范围。看看这个命令。
rumenz@local $ scp -c 3des Label.pdf rumenz@192.168.1.110:. rumenz@202.x.x.x's password: Label.pdf 100% 3672KB 282.5KB/s 00:13
上面的命令告诉scp
使用3des algorithm
来加密文件。请注意此参数使用 -c
不是-C
。
另一个可能有用的参数是 -l
范围。这 -l
参数将限制使用的带宽制 。如果你执行自动化脚本来复制大量文件,这将很有用
rumenz@local $ scp -l 400 Label.pdf rumenz@192.168.1.110:. rumenz@202.x.x.x's password: Label.pdf 100% 3672KB 50.3KB/s 01:13
scp 默认带宽的单位是Kilobyte/sec
(KB/s
)。所以如果你想限制你的带宽scp
最多只有50 KB/s
,你需要将其设置为50 x 8
=400
.
scp
正在使用端口22
作为默认端口。但出于安全原因,你可以将端口更改为另一个端口. 例如,我们使用端口2249
.
rumenz@local $ scp -P 2249 Label.pdf rumenz@192.168.1.110:. rumenz@202.x.x.x's password: Label.pdf 100% 3672KB 262.3KB/s 00:14
有时我们需要复制目录和其中的所有文件
,目录
。
rumenz@local $ scp -r documents rumenz@192.168.1.110:. rumenz@202.x.x.x's password: Label.pdf 100% 3672KB 282.5KB/s 00:13 scp.txt 100% 10KB 9.8KB/s 00:00
复> 制过程完成后,你将在目标服务器上找到一个名为documents
及其所有文件。文件夹documents
是自动创建的。
rumenz@local $ scp -q Label.pdf rumenz@192.168.1.110:. rumenz@202.x.x.x's password: rumenz@local $
可以看到,输入密码后,没有关于 scp 进程的信息。该过程完成后,你将再次看到提示。
代理服务器通常用于办公环境。scp 本身没有配置代理。当你的环境使用代理时,你必须告诉scp 与代理进行通信。
例如代理地址是10.0.96.6
代理端口是8080
.代理还实现了用户身份验证。首先,你需要创建 ~/.ssh/config
文件
ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth
然后你需要创建文件 ~/.ssh/proxyauth
里面输入。
myusername:mypassword
前提是需要安装corkscrew
$ apt-get install corkscrew
Centos系统可以用yum
安装corkscrew
# yum install corkscrew
由于 ~/.ssh/proxyauth
文件包含你的 username
和password
以明文格式,请确保该文件只能自己访问。
对于经常在公司网络和公共网络之间切换的移动用户来说,总是在scp中更改设置会很痛苦。
代理在公司网络中使用,但不在公共网络中使用,并且你定期切换网络。
rumenz@local $ scp -F /home/pungki/proxy_ssh_config Label.pdf rumenz@192.168.1.110:. rumenz@202.x.x.x's password: Label.pdf 100% 3672KB 282.5KB/s 00:13
默认情况下 ssh_config
每个用户的文件将被放置在 ~/.ssh/config
。创建一个特定的 ssh_config
具有代理兼容性的文件将更容易在网络之间切换。
当你在公司网络,你可以使用 -F
范围。当你在公共网络上时,你可以不用-F
参数。
以上がLinuxでファイルフォルダーを転送する10のscpコマンドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。