Jika tujuan Anda adalah menjalankan perintah satu baris yang:
- Menghapus dan membuat ulang direktori
~/Desktop/foojika sudah ada.
- Cukup buat direktori
~/Desktop/foojika belum ada.
Maka Anda dapat menggunakan:
rm -r ~/Desktop/foo; mkdir ~/Desktop/foo
; setara dengan baris baru, tetapi ini memungkinkan Anda menjalankan banyak perintah pada satu baris (yaitu, sebagai "perintah tunggal").
- Jika direktori yang Anda hapus mungkin berisi file yang hanya bisa dibaca, Anda akan memerlukan
-ftanda untuk menghapusnya tanpa mendorong pengguna secara interaktif. Ini tidak apa-apa, tetapi saya sangat merekomendasikan untuk berhati-hati rm -rf .... Lihat man rmdetailnya.
- Anda membutuhkan
rmperintah untuk menyelesaikan sebelum mkdirperintah dijalankan; ini adalah alasan untuk menggunakan ;bukan &. (Perintah sebelumnya &berjalan secara tidak sinkron di latar belakang.)
- Anda memerlukan
mkdirperintah untuk dijalankan ketika rmperintah berhasil; ini adalah alasan untuk menggunakan ;bukan ||.
- Anda memerlukan
mkdirperintah untuk dijalankan ketika rmperintah gagal (biasanya kegagalan berarti direktori belum ada); ini adalah alasan untuk menggunakan ;bukan &&.
- The
rmperintah mungkin gagal bahkan ketika direktori sudah ada, dalam hal ini mkdirperintah akan gagal juga, tapi pesan kesalahan akan masuk akal dan mungkin ada tidak perlu menambahkan langkah pengecekan tengah untuk fookeberadaan 's sebelum mencoba untuk menciptakannya.
Lihat 3.2.3 Daftar dari Perintah dalam Pedoman Bash Reference untuk informasi lebih lanjut dan penjelasan tentang ;, &, ||, dan &&operator.
Seperti yang disarankan muru (dan Rinzwind diuraikan ), saya sarankan Andarsync melihat apakah itu akan memenuhi kebutuhan cadangan Anda. Ada beberapa panduan tambahan yang bermanfaat di halaman dokumentasi rsync , serta panduan rsync Ubuntu ini .
mengapa mkdir tidak memiliki opsi ini?
mkdirmenciptakan direktori ("mk" adalah singkatan dari "make" ). Untuk itu juga menghapus direktori secara rekursif dan semua file di dalamnya akan buruk, karena itu akan melanggar prinsip paling tidak heran dengan cara yang mungkin akan menyebabkan hilangnya data.
rmdirbahkan tidak menghapus direktori yang memiliki file (non-direktori) di dalamnya. rmmemiliki -ropsi, yang masuk akal karena rmdiharapkan untuk menghapus file (yang tujuannya, sehingga bahaya yang melekat adalah intuitif dan pengguna biasanya tahu untuk berhati-hati ketika menjalankan rmperintah).
fooseperti di hapus semua konten itu?mkdirmemiliki-popsi yang mengabaikan jika direktori ada.