Bir dizini nasıl kopyalayıp aynı komutta yeniden adlandırabilirim?


15

Şu anda, dizinin hızlı bir yedeğini oluşturmak için bu iki komutu çalıştırıyorum. İki komutu bir arada birleştirmenin bir yolu var mı, böylece yeni dizini tek bir komutta kopyalayıp yeniden adlandırıyorum?

#cp -R /tf/Custom_App /tf/Custom_App_backups/
#mv /tf/Custom_App_backups/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

1
cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
jesse_b

Bu iki şey için takma ad veya işlev tanımlamaya ne dersiniz;)
LinuxSecurityFreak

Yanıtlar:


21

Sadece yapabilmelisin

cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

Ancak , hedef dizin zaten varsa, bu kaynak yolun son kısmını hedef yoluna ekler, oluşturur /tf/Custom_App_backups/Custom_App_2017-12-21/Custom_Appve ağacın geri kalanını bu alan içine kopyalar.

Bunu önlemek /tf/Custom_App/.için kaynak olarak kullanın . Tabii ki, bu durumda rm -r /tf/Custom_App_backups/Custom_App_2017-12-21, kopyadan sonra orada eski dosyaların olmasını istemiyorsanız, ilk önce isteyebilirsiniz.

Cp arasındaki fark /some/dirve /some/dir/.bir süre tartışıldı ne zaman garip davranır. (nokta) veya .. (nokta nokta) kaynak dizindir


.Kaynak dizin olarak geçmenin bir alternatifi , -Tbayrağı, cpiçinde yeni bir üye oluşturmak yerine hedefin üzerine yazmasını söylemek için kullanmaktır .
Toby Speight

@TobySpeight, ... GNU'da cp.
ilkkachu

1
/tf/Custom_app/.Hüner ben sadece ne ihtiyaç vardır.
Martin Bonner

cp -aayrıca çalışır.
flow2k

1
@ flow2k, özellikle GNU yardımcı programlarının birçoğu çok kullanışlı olan birçok standart dışı seçenek vardır. cp -aTabii ki FreeBSD ve OpenBSD'de de görünür ancak yine de standart bir özellik değildir, yani POSIX tarafından belirtilmez . ( cp -Tdaha önce de belirtildiği gibi bir GNUizm gibi görünüyor, görebildiğim kadarıyla BSD'lerde değil POSIX'te değil.)
ilkkachu

1

Alternatif olarak, bunu şöyle yapabilirsiniz:

mkdir /tf/Custom_App_backups/Custom_App_2017-12-21 # prepare the target location
cp -R /tf/Custom_app/. /tf/Custom_App_backups/Custom_App_2017-12-21 # copy only the contents

Bu, önceden özel konumunuzu belirtmenize olanak tanır. Ayrıca, sonekini kullandığına dikkat edin /.Bu, yalnızca içeriği kopyalamanıza ve içerdiği klasörü dışlamanıza izin verir - bu durumda Custom_appklasördür.

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.