ローカルコンピュータに移動(コピーしない)したいファイルはLinuxサーバーにあります。ところで、スタックオーバーフローでコマンドを読んだ後、以下のようにしましたが、ファイルを移動せずにコピーするだけです。
scp -r [email protected]:/home/obs/folder/test.txt /home/yuan/folder/
どんな助けでも大変感謝します。
ベストアンサー1
「移動する」デフォルトでは、ソースファイルをコピーして削除します。
欲しいなら「移動する」Web上のファイルはこれを行う必要があります。ネットワーク接続が失敗した場合は、データを失うことなくコピーを再試行できるため、常により良いオプションです(ファイルが誤って送信されたが後で削除された場合)。
ファイルが転送されたら、サーバーからソースファイルを削除する必要があります。たとえば、次のようになります。
ssh [email protected] 'rm /home/obs/folder/test.txt'
ファイルのコピーに例で使用したオプションは、ネットワーク経由で-r
ファイルディレクトリをコピーすることを意味します。私の考えでは、あなたが欲しいと思います。移動するネットワーク上のすべてのファイル(該当するソースディレクトリ内のすべてのファイルを転送して削除)
コピーまたは「移動する」2 台のコンピュータ間のファイルの場合は、次を使用することをお勧めします。rsync
。新しいファイルと変更されたファイルのみを転送し、ターゲットにすでに存在する同じファイルはスキップします。転送後にソースファイルを一度に削除するオプションがあり、転送時に期待できる動作を模倣する必要があります。「移動する」あるシステムから別のシステムへのファイル:
rsync -aPEmivvz --remove-source-files [email protected]:/home/obs/folder /home/yuan
ファイルの場合は、次のものを使用できます。
rsync -aPEmivvz --remove-source-files [email protected]:/home/obs/folder/file.txt /home/yuan/folder/
--remove-source-files
ファイルが転送された後にファイルを削除するには、このオプションを使用します。