私はリモートサーバーのスクリーンセッションで私のコードを実行してきました。 SCPを使用して、リモートサーバー上のこのセッションで生成された出力ディレクトリをローカルサーバーに移動したいが、これはできません。
これを行う方法はありますか?
そうでない場合は、スクリーンセッションのフォルダをリモートサーバーにコピーします(ローカルサーバーとしてSCPを実行できるように)。
今はこれが私がすることです。
ssh [email protected]
[email protected]$ screen -r xxxx.pt
root@xxxxxx# ls media
Experiment_A
ローカルサーバー
scp [email protected]:/media/Experiment_A/features /Users/local/ExpResult
(算出)
scp: /media/Experiment_A/features: No such file or directory
答え1
ルートで開始されたセッションに再接続するようです。これらのファイルはにあります/root
。
どこにいても、そのファイルを読み取るにはファイル権限を変更する必要があるかもしれません。バラよりGnu / linuxでファイル権限などを設定する他の方法は何ですか?
シングルユーザー専用のマウントポイントにすることもできます。もしそうなら、ファイルが小さい場合はリモートシステムから自分にコピーしてscpを使用してください。
答え2
scp
私の例では、コマンドのパスが少し間違っているようです。
次は動作します。
scp [email protected]:media/Experiment_A/features /Users/local/ExpResult
説明:リモートコンピューターにログインすると、ホームディレクトリに移動します。これは最も可能性が高いです/home/username
(username
ユーザー名がある場所)。ホームディレクトリにはこのmedia
サブディレクトリがあります。
scp
コマンドで以下を指定した場合相対パスつまり始まらないパスは、/
ホームディレクトリに基づいています。したがって、/
コマンドで使用されているパスから削除すると、ファイルを正しくコピーする可能性が最も高いパスが得られますmedia/Experiment_A/features
。
これがうまくいかない場合は、screen
セッションが現在のディレクトリを別の場所に変更したためです。その後、pwd
セッションでコマンドを実行し、scp
コマンドのパス出力を使用します。
試してみるもう一つの方法はscp
実行です。離れてデバイスはファイルをローカルデバイスに転送します。明らかに、これはSSHを使用してそのコンピュータにローカルにログインできる場合にのみ機能します。