リモートからローカルにscpファイルを送信できませんでした。

リモートからローカルにscpファイルを送信できませんでした。

scpに関する多くのガイドラインと回答を読んだ。

セキュアコピー(scp)構文の例

scp - リモートサーバーからローカルコンピュータにファイルをコピーする方法は? - UnixとLinuxスタックの交換

しかし、正しく適用できません。

$ pwd
#the local path on local machine
pwd
/Users/me/PubRepo/bash

リモートからローカルにファイルをscpしようとしたとき

[root@iz2ze9wve43n2nyuvmsfx5z ~]# echo "scp test message" > a_test_file.md
[root@iz2ze9wve43n2nyuvmsfx5z ~]# cat a_test_file.md
scp test message
[root@iz2ze9wve43n2nyuvmsfx5z ~]# pwd
/root
[root@iz2ze9wve43n2nyuvmsfx5z ~]# scp [email protected]:a_test_file.md  .
[email protected]'s password: 
a_test_file.md                                                                  100%   17     3.6KB/s   00:00    
[root@iz2ze9wve43n2nyuvmsfx5z ~]# 

転送が成功したというのにローカルでは見つかりません。

ls | grep "a_test_file.md"
#does not return 

しかもローカルどこにも存在しません。

find / -name "a_test_file.md" 2>/dev/null                                                              
## no match

私の使い方に問題がありますか?

ベストアンサー1

コンソールログは、scp作成したリモートホストを呼び出すように見えますが、2番目の引数を使用します。a_test_file.md.目的地。呼び出しは常にソースとして最初に行われ、次に宛先に行われます。コメントに記載されている@jimmijのように、これは他のリモコンから同じ名前の別のファイルをコピーします。

したがって、2つの可能性があります。

  1. scpファイルが終了する必要があるコンピュータ(ローカルコンピュータ)から呼び出されます。icodehero.comリモートコンピュータであると仮定すると、scp誤ったコンピュータで使用されている呼び出しは正しいです。

  2. 呼び出しをscpに変更しますscp a_test_file.md user@your_local_machine:.。これは、リモートデバイスがSSHを介してローカルシステムにアクセスできる場合にのみ可能です。


icodehero.comコピーが成功したように見える理由が気になる場合は、ファイルを作成したコンピュータだとします。この場合、リモートはファイルを自分でコピーしました(ファイルを自分で上書きし、実際には何もしません)。

おすすめ記事