Ubuntu cp
'inin bu özelliğe sahip olması çok hoş, ancak kendinizi bulamadığınız bir makinede bulmanız gerekiyorsa (BSD stili cp
değil, örneğin OS X de öyle değil) find
ile yapmak. Burada iki liner (okunabilirlik için):
% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;
copy_dir
öğesi zaten mevcutsa, -p
'si, dizin ağacının aşağıya doğru kaydırılacağından mkdir
argümanını find
' ye atlayabilirsiniz. Büyük işler için, +
'iniz destekliyorsa \;
yerine find
komutu ile komutları sonlandırarak bir milisaniye veya başka bir işlem yapabilirsiniz.
Düzenleme: Yukarıdaki kodlar, find
'lık üçüncü bir kopya ile kopyalanabilen sembolik bağları işlemek için ihmal edilir ( bunu yapmaz +
ile bunu sonlandırır ):
% find . -type l -exec cp -R {} ../copy_dir/{} \;