サーバーからローカルコンピュータにファイルを移動する(コピーではありません)

サーバーからローカルコンピュータにファイルを移動する(コピーではありません)

ローカルコンピュータに移動(コピーしない)したいファイルは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ファイルが転送された後にファイルを削除するには、このオプションを使用します。

おすすめ記事