Ben arasındaki farkı arıyorum cp -r
ve cp -a
. "Özyinelemeli" dosyaların bir klasörden kopyalanması açısından ne anlama geliyor?
Ben arasındaki farkı arıyorum cp -r
ve cp -a
. "Özyinelemeli" dosyaların bir klasörden kopyalanması açısından ne anlama geliyor?
Yanıtlar:
Özyinelemeli cp
, dizinlerin içeriğini kopyalayan anlamına gelir ve bir dizinin alt dizinleri varsa bunlar da (özyinelemeli) kopyalanır. Olmadan -R
, cp
komut dizinleri atlar. Linux -r
ile aynıdır -R
, bazı diğer unix çeşitlerinde bazı uç durumlarda farklılık gösterir.
Varsayılan cp
olarak, eski dosyayla aynı içeriğe ve aynı izinlere sahip ancak umask tarafından kısıtlanan yeni bir dosya oluşturur ; Kopya, kopya zamanından itibaren tarihli ve kopyayı yapan kullanıcıya aittir. Bu -p
seçenekle, kopya aynı değiştirme zamanına, aynı erişim zamanına ve orijinal ile aynı izinlere sahiptir. Ayrıca, kopyayı yapan kullanıcı bu dosyaları oluşturma iznine sahipse, orijinal ile aynı sahibi ve gruba sahiptir.
-a
Seçenek demektir -R
ve -p
artı birkaç başka koruma seçenekleri. Orijinaline mümkün olduğunca yakın bir kopya oluşturmaya çalışır: aynı dizin ağacı, aynı dosya türleri, aynı içerikler, aynı meta veriler (zamanlar, izinler, genişletilmiş özellikler, vb.).
-r
çünkü -a
( a
rchive için) her zaman en güvenli ve muhtemelen ne olacağını umuyorsunuz.
-r
Linux dışında bir unix değişkenine sahip -a
olmanız ve genellikle kullanmamanızdır cp -rp
. Veya rsync -a
.
"Özyinelemeli" için -r veya -R seçeneği, alt klasörlerin içindeki dosyalar da dahil olmak üzere tüm dosyaları kopyalayacağı anlamına gelir.
Listelenen -a seçeneği -dR ile aynıdır; bu, alt dizinlerin içeriğini kopyalamanın yanı sıra bağlantıları koruyacağı anlamına gelir. Bağlantıları koruyarak ne anlama geldiğini yinelemeli olarak kopyalarken bağlantıları izlemeyeceği anlamına gelir.