Există --preserve=toate opțiunea pentru cp; vedea om cp.
Dar recomand să folosești rsync în loc de cp; este mult mai versatil și este ușor să păstrați marcajele de timp și să copiați numai fișiere mai noi. Are o curbă de învățare cu toate acele opțiuni pe care le acceptă, dar merită să te scufundi în asta.
Cazul de utilizare normal arată cam așa:
rsync -n -av /some/where/sourcedir .
Acest lucru se repetă recursiv sourcedir în directorul curent ca subdirector sourcedir/. Nu va atinge fișierele care sunt deja acolo și au același marcaj temporal / conținut. The -n opțiunea înseamnă că este doar o rulare uscată, astfel încât să puteți vedea ce ar face (împreună cu -v pentru verboroasă). Odată ce ești mulțumit de ceea ce ar face, rulează-l fără -n:
rsync -av /some/where/sourcedir .
Puteți apela asta în mod repetat; daca nu mai face nimic, e bine si cu adevarat terminat.
Poti de asemenea șterge fișierele care nu se mai află în arborele directorului sursă cu --șterge:
rsync -av --delete /some/where/sourcedir .
Dacă adăugați o bară oblică finală la calea sursă, aceasta nu creează un sourcedir/ subdirectorul de pe destinație, dar îl copiază direct în acel subdirector. Impreuna cu --șterge, creează o copie 1:1 a acelui arbore în directorul curent, de asemenea ştergerea tot ceea ce nu este în subarborele sursă:
rsync -av --delete /some/where/sourcedir/ .
Din nou, adaugă -n pentru a vedea ce ar do. În general, vă recomand să utilizați întotdeauna -n mai întâi pentru a confirma că va face ceea ce vrei tu să facă.
Există o mulțime de alte opțiuni (cum ar fi --exclude=); vedea om rsync.