Saat ini, saya menjalankan dua perintah ini untuk membuat cadangan cepat dari direktori. Apakah ada cara untuk menggabungkan dua perintah menjadi satu, sehingga saya menyalin dan mengganti nama direktori baru dalam satu perintah?
#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
cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
Jawaban:
Anda harus bisa berbuat adil
Namun , jika direktori target sudah ada, ini akan menambahkan bagian akhir dari jalur sumber ke jalur tujuan, membuat
/tf/Custom_App_backups/Custom_App_2017-12-21/Custom_App
, dan kemudian menyalin sisa pohon di dalamnya.Untuk mencegah hal ini, gunakan
/tf/Custom_App/.
sebagai sumber. Tentu saja, dalam hal ini Anda mungkin inginrm -r /tf/Custom_App_backups/Custom_App_2017-12-21
terlebih dahulu, jika Anda tidak ingin file lama tergeletak di sana setelah salinan.Perbedaan antara
/some/dir
dan/some/dir/.
dibahas beberapa waktu lalu di cp berperilaku aneh ketika. (dot) atau .. (dot dot) adalah direktori sumbersumber
.
sebagai direktori sumber adalah dengan menggunakan-T
bendera untuk memberitahucp
untuk menimpa tujuan daripada membuat anggota baru di dalamnya.cp
./tf/Custom_app/.
Caranya adalah apa yang saya butuhkan.cp -a
juga berfungsi.cp -a
tentu saja muncul juga dalam misalnya FreeBSD dan OpenBSD tetapi itu masih bukan fitur standar, yaitu, tidak ditentukan oleh POSIX . (cp -T
yang disebutkan sebelumnya kelihatannya GNUisme, tidak dalam POSIX, dan tidak dalam BSD sejauh yang saya bisa lihat.)Atau, Anda dapat melakukannya seperti ini:
Ini akan memungkinkan Anda untuk menentukan lokasi khusus Anda sebelumnya. Juga, perhatikan bahwa ia menggunakan akhiran.
/.
Ini memungkinkan Anda untuk hanya menyalin konten dan mengecualikan folder yang berisi - dalam hal ini adalahCustom_app
folder.sumber