特定の所有者のすべてのファイルをscpしたいと思います。たとえば、これが私の出力の場合ls -la
:
-rw-rw-r-- 1 owner1 ad 704 Jun 1 18:16 file1
-rw-rw-r-- 1 owner2 ad 798 May 29 11:15 file2
-rw-rw-r-- 1 owner2 ad 881 May 29 09:28 file3
-rw-rw-r-- 1 owner3 ad 936 May 29 09:28 file4
-rw-rw-r-- 1 owner1 ad 1012 Jun 1 15:14 file5
所有者1と3を持つすべてのファイルをscpしたいのでfile1
、file4
とfile5
。
似たようなものがありますか
scp [email protected]:/path/to/folder/* . --owner owner1 owner2
ベストアンサー1
最も効率的で安全な方法はおそらく次のとおりですfind | tar | tar
。
ssh [email protected] 'cd /path/to/folder; find . \( -user owner1 -o -user owner3 \) -print0 | tar --null -T - -cf -' | tar -xvf -
tarアーカイブを抽出する前に、tarアーカイブの内容を確認することをお勧めします。最後を次| tar -xvf -
のように置き換えて| tar -tvf -
実行し、ファイルのリストを取得します。