同上を使用してファイル & ディレクトリを Mac ターミナルからインテリジェントにコピーする

目次:

Anonim

. Ditto は少し高度ですが、いくつかの理由で「cp」より有利な場合があります。これは、所有権の属性とアクセス許可だけでなく、ファイル リソース フォークとファイルとフォルダーのメタデータも保持し、基本的にファイルやフォルダーが正確にコピーされることを保証するためです。

さらに、ditto を使用してファイルまたはフォルダーをソース ディレクトリにコピーできますが、そのソースがまだ存在しない場合、ditto は自動的に作成します。また、宛先フォルダが存在する場合、コピーされた内容はその宛先ディレクトリにマージされます。最後に、ditto はシンボリック リンクもたどるので、ln コマンドのヘビー ユーザーには特に便利です。

ditto コマンドをよりよく理解するために、実際の構文でいくつかの例を見てみましょう。

Ditto を使用してファイル / フォルダをコピーする

最も単純な形式では、ditto は cp コマンドのように機能し、基本的な構文は次のとおりです:

同上ソース宛先

たとえば、~/Desktop/FluffyBackups を /Volumes/FluffyBackups/ にコピーする場合は、次のように入力します:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

繰り返しになりますが、これにより、コピーされたファイルのすべての所有権とリソース メタデータの詳細が保持されます。これは、あるユーザー ディレクトリから別のユーザー ディレクトリにファイルをコピーする場合、または次のようなものを保持する場合に特に重要です。ファイルの変更時間。

ソースと宛先の内容が不明な場合は、ditto コマンドに進む前に、常に comm コマンドまたは diff コマンドで 2 つを比較できます。

Ditto を使用してディレクトリとフォルダの内容をマージする

.これは重要かつ非常に便利で、Mac OS X のコマンドラインからディレクトリをマージする最も簡単な方法の 1 つになっています (ただし、Finder でも簡単です)

ditto ~/Pictures/Fall2015/ /Volumes/PhotoBackup/2015/

これにより、「Fall2015」からすべての写真が取得され、それらが既存のディレクトリ「2015」にコピーされ、ソースからコピー先にコンテンツが効果的にマージされます。繰り返しになりますが、宛先が既に存在する場合はマージ動作が発生します。宛先が存在しない場合は、指定されたとおりに作成されるか、ソース名として作成されます。

ditto を使用してシンボリック リンクを含むディレクトリからデータをコピーする場合、-V (verbose all) フラグを使用すると、コピーされたすべてのファイルとシンボリック リンクが表示されるため、価値があります。注意 -V は、出力としてファイルのみを表示し、シンボリック リンクを表示しない -v とは異なります。

ディットを使用してメタデータなしでコピー

何らかの理由でメタデータとリソース フォークをコピーしたくない場合は、次のように –norsrc フラグを使用できます:

ditto -V --norsrc ~/Sample/Folder /Volumes/NoMetadataBackups

.

優れた ditto コマンドについては、Mac OS X で次のように入力してアクセスできるマニュアル ページを読むことで、さらに多くのことを学ぶことができます:

man ditto

いつものように、矢印キーを使用してマニュアルページを上下に移動します。

同上に大きく依存する前に、重要でないファイルの移動とディレクトリのマージで数回試して、計画された使用法でどのように機能するかを理解してください.

同上を使用してファイル & ディレクトリを Mac ターミナルからインテリジェントにコピーする