ファイル/フォルダーのアクセス許可を失うことなくファイルをコピーする


36

ファイル権限を失うことなくvfatファイルシステムを使用するUSB​​スティックを使用して、ext4ファイルシステム上のubuntuコンピューターからext4ファイルシステム上の別のubuntuコンピューターにファイル/フォルダーをコピーするにはどうすればよいですか?

ソースコンピューターから基本的なctrl-cを試し、次にctrl-vをusbに、次にctrl-cをusbに、次にctrl-vをターゲットコンピューターに試しましたが、ファイル/フォルダーのアクセス許可はそのままです。


vfatUNIXファイルシステムのパーミッションはサポートしていません。それらを保存する場合は、それらをtarballなどに保存する必要があります。
アレックスL.

なぜrsync、私が示唆したように?
SiddharthaRT

回答:


56

ソースのtarアーカイブを作成し、USBドライブを使用してそれを他のコンピューターにコピーし、そこに解凍できます。Tarはファイルのアクセス権を保持します。

1-ソースコンピューター上:

cd /path/to/folder/to/copy
tar cvpzf put_your_name_here.tar.gz .

2- put_your_name_here.tar.gzUSBドライブにコピーしてから他のコンピューターにコピーする

3-移行先コンピューター:

cd /path/to/destination/folder
tar xpvzf put_your_name_here.tar.gz

tar すべてのアクセス許可をそのままにして、アーカイブされたフォルダー構造を再作成します。

これらのコマンドは、ソースフォルダーの内容をアーカイブしてから、宛先フォルダーに抽出します。フォルダー自体をコピーする場合は、ステップ1で行う必要があります。

cd /path/to/parent/folder
tar cvpzf put_your_name_here.tar.gz folder_to_copy

同じメカニズムを単一のファイルに使用できます。


を使用して1台のコンピューターから別のコンピューターに接続できる場合ssh、@ siddharthartの回答(rsync)がより実用的です。


アクセス許可が確実に保持されるように、-pフラグを忘れないでくださいtar
haziz

@haziz実際、これ-pは実際には必要ありません。@ mikewhateverの答えに対する私のコメントをご覧ください。また、古いバージョンである場合を除き、圧縮自体のタイプを把握できる-zため、tarを展開するときは必要ありませんtar。コマンドにフラグを含めることは難しくありません。
sierrasdetandil

3
この振る舞いに期待できるとは思いません。BTWのman tarページから引用する「-p、-preserve-permissions、-same-permissionsはファイル許可に関する情報を抽出します(スーパーユーザーのデフォルト)」これは、tarがスーパーユーザーとして起動された場合にのみデフォルトの動作になります。これをデフォルトの動作として期待しないでください。また-z、圧縮または解凍するとき(または-jbzip2を使用する場合)、常に明示的にフラグを綴ります。
haziz

(基本的な)暗号化を簡単に追加できますか?(それを行うには多くの方法があると思いますが、私は疑問に思っていますが、コマンドラインで行う場合、パスワード/暗号化キー/パスフレーズはどのように提供されますか?何のキーストロークが見えるようにされていないsudoのパスワードなど)?
粋についてのナッツ

tar非常に深刻な問題に悩まされています-100文字を超えるパスでチョークします。
ネイサンオスマン

12

あなたは試みることができるrsync-aコピーしている間にすべての権限を維持するためのフラグ。単純な解決策は知りませんが、過去に目的のために使用していました。

Rsyncは、繰り返しのコピー、フォルダーの更新などを非常に高速にサポートします。


6
私は好きですrsync(実際、それを愛しています:-])が、目的のデバイスがoshirowanenのようにフォーマットされたvfatである場合、ext4ファイルのパーミッションは失われます。tar解決策は、この場合に優れています。
ユリック

6

風袋引きとその後の解凍は、ファイルとディレクトリの両方で機能するはずです。

タールへ:

tar cvpfz /target.tar.gz /source/

解凍する:

tar xvpfz /source/

pフラグの略--preserve-permissions

詳しくはこちらman tarをご覧ください。


-p少なくとも、ユーザーがアーカイブ/抽出されるファイルを所有している場合、tarはデフォルトでパーミッションを保持していることを確認するために、簡単なテストを行いました。
sierrasdetandil

2
確かに、どのファイルをコピーしたいかを教えてくれなかったので、自分で何かを想定する理由はありませんでした。
mikewhatever
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.