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つの可能性があります。
scp
ファイルが終了する必要があるコンピュータ(ローカルコンピュータ)から呼び出されます。icodehero.com
リモートコンピュータであると仮定すると、scp
誤ったコンピュータで使用されている呼び出しは正しいです。呼び出しを
scp
に変更しますscp a_test_file.md user@your_local_machine:.
。これは、リモートデバイスがSSHを介してローカルシステムにアクセスできる場合にのみ可能です。
icodehero.com
コピーが成功したように見える理由が気になる場合は、ファイルを作成したコンピュータだとします。この場合、リモートはファイルを自分でコピーしました(ファイルを自分で上書きし、実際には何もしません)。