2008-10-01 4 views

Antwort

6

Gemäß der cp man page cp -a ist die gleiche wie cp -dpR die

-p = preserve mode,ownership,timestamps 
-R = recursive 
-d = no dereference and preserve links 

Das OS X Äquivalent würde

ist

cp -pPR

-p = preserve 
-R = recursive 
-P = no symbolic links are followed -- can be added but this is the default behavior 

Das einzige, was fehlt ist -d was ich denke, ist das Standardverhalten, aber ich bin nicht positiv.

Ich habe noch nie mit dito

bearbeiten messed - @SoloBold

-L symbolischen Links folgt. -p folgt keine symbolischen Links. OS X (mindestens 10.4) hat keine -d Option.

das ist ein großer Unterschied.

+1

cp -pPR sollte die Arbeit tun, mindestens 10.5. –

+0

Es ist das gleiche in 10.4 – Simurr

+0

http://www.westwind.com/reference/os-x/commandline/files-folders.html#ditto –

0

Wie j04t darauf hingewiesen, dass cp -pR sollte

Unter OS X, würden Sie

cp -dRL src target 

cp schont Ressourcen in neueren Version von OS X tun (es war 10.3, als das geschah?

)

Hey d ist ein bisschen wie ein upside p, rechts;)

1

Von Linux cp (1) :

-a, --archive gleiche wie -dpR

die verwirrend ist, da -d äquivalent zu sein scheint zu -p. Wie auch immer, OSX hat -p und -R, also könntest du das einfach benutzen.

+0

Von den Man-Pages von OS X: "Symbolische Links werden immer gefolgt, es sei denn, die Option -R ist gesetzt, in diesem Fall werden symbolische Links nicht befolgt." Was im Gegensatz zu Linux steht. – wprl

2

Persönlich verwende ich rsync -a (oder was auch immer rsync params genannt werden). Meine zwei Gründe sind: Ich weiß bereits, wie das geht, und ich brauche meine Skripte für Linux/BSD/Solaris. Es gibt auch einige Dateisysteme, in denen rsync effizienter ist als cp.

Sorry, das ist keine direkte Antwort, ich habe ditto auf BSDs verwendet, aber habe keine Probleme für Sie, die nicht in der man-Seite sind.

0

Es gibt einen Unterschied zwischen ditto und cp, wenn Source ein Verzeichnis ist, erstellt cp ein Verzeichnis mit diesem Namen auf dem Ziel, aber dito kopiert nur den Inhalt. In acht nehmen!

1

Wenn Sie dito verwenden, sollten Sie sich bewusst sein, dass es den Inhalt ein wenig anders aus cp -a bewegt, wenn es um Ordner kommt:

ditto foo bar 

wird der Inhalt von foo in bar bewegen (was in bar/file1, Bar/file2 ..)

cp -a foo bar 

wird foo/in der Bar/(was in der Bar/foo/file1, Bar/foo/file2, ..)

auch bewegen: OSX cp jetzt unterstützen t cp -a.

Verwandte Themen