Dosyaları içeren klasörü Unix / Linux'ta başka bir klasöre nasıl kopyalarım? [kapalı]


1191

Bu klasördeki dosyaları içeren bir klasörü başka bir klasöre kopyalamak için bazı sorunlar yaşıyorum. Command cp -r, klasördeki dosyaları kopyalamaz.




Keşke bunun daha çok konuyla ilgili bir SE'ye taşınabilseydi.
jrh

6
Bash programlama konusu .
xskxzr

Yanıtlar:


1978

Aradığınız seçenek -R.

cp -R path_to_source path_to_destination/
  • Eğer destinationyoksa, yaratılacaktır.
  • -Ranlamına gelir copy directories recursively. Büyük / -rküçük harfe duyarlı olmadığından da kullanabilirsiniz .
  • Sondaki ekleyerek nüansları Not /muni764 en @ başına comment .

5
i dockerfile bu tam komut neden sadece tüm dizini kopyalamak yerine, tüm kaynak dizin dosyalarını hedefe kopyalar merak ediyorum.
17'de holms 0:17

4
Sonunda '/' nin bir fark yarattığına ve bunun deneyimlerinizi açıklayacağına inanıyorum. Kaynak sonunda eğik çizgi varsa, yalnızca dizinde bulunanları kopyalar. Sondaki eğik çizgiyi içermiyorsa, dizini ve ardından içindeki içeriği de kopyalar. Benim bellek bu davranış komut ve belki biraz OS OS tarafından değişir. İşte daha fazla bilgi içeren bir referans .
OllieBrown

23
Kaynağı dahil etmek istemiyorsanız ve kaynak üst klasörü kopyalamadan her şeyin kopyalandığından (semboller, gizli dosyalar) emin olmak istiyorsanız -ra source / kullanmaktır. hedef. Bu, klasörün içeriğinin kopyalandığından emin olur, ancak bazen kullanışlı olan üst klasörün kendisinden emin olmaz. Ve fark /.
muni764

Kopyalanacak dizinler benim kullanım durumum olan sembolik bağlantılar ise bu da düzgün çalışıyor gibi görünüyor.
Gdalya

3
"Slash dot" un kaynağınızdaki önemine dikkat edin, cp -r src/. destçünkü bunun belirtildiğini biliyorum ama yine de her seferinde özlüyorum.
bbeecher

368

cpKomutu arıyorsunuz . Kopyalamaya çalıştığınız dizinin dışında olmanız için dizinleri değiştirmeniz gerekir.

Kopyaladığınız dizin çağrılırsa dir1ve dizini /home/Picturesklasörünüze kopyalamak istiyorsanız :

cp -r dir1/ ~/Pictures/

Linux büyük / küçük harfe duyarlıdır ve ayrıca /bir dosya olmadığını bilmek için her dizinden sonra gerekir . ~terminalde geçerli kullanıcının ana dizinini otomatik olarak değerlendiren özel bir karakterdir. Hangi dizinde bulunduğunuzu bilmeniz gerekiyorsa, komutu kullanın pwd.

Linux komutunun nasıl kullanılacağını bilmiyorsanız, yazarak başvurabileceğiniz manuel bir sayfa vardır:

man [insert command here]

bir terminal isteminde.

Ayrıca, terminalde yazarken uzun dosya yollarını otomatik olarak tamamlamak için Tab, yolu yazmaya başladıktan sonra vurabilirsiniz ve seçeneklerle karşılaşırsınız veya yolun kalan kısmını ekler.


6
Daha fazla açıklığa kavuşturmak için, bu -rseçenek dizinleri özyinelemeli olarak kopyalar.
TVann

5
OP o belirtmedi edildi kullanarak cp -rkomutu, ancak düzgün çalışmıyor olduğunu?
MD XF

4
Manajlarla ilgili bilgileri eklememin nedeni, bu bayrakların dağıtıma bağlı olabilmeleridir. Ancak, çoğunlukla, öyle görünüyor -r, --recursiveve -Reşdeğerdir. Ayrıca güzel olan ortak tuzaklar, vb verecektir.
Alex W

6
DIRECTORY klasörünü yalnızca içeriğini değil portatif olarak kopyalamak istiyorsanız, kaynak klasördeki sondaki tire işaretini bırakın. cp -r dir1 ~/Pictures/
mehtunguh

105

kullanın:

$ cp -R SRCFOLDER DESTFOLDER/

4
ben bu şekilde yaptım ve demo1_copyzaten yoktu$ ls demo1 demo3 README.md $ cp -R demo1/ demo1_copy/
HattrickNZ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.