Apa yang rm -rfdilakukan ketika digunakan untuk menghapus file atau direktori?
Bagaimana cara -rdan -fopsi bekerja bersama?
Apa yang rm -rfdilakukan ketika digunakan untuk menghapus file atau direktori?
Bagaimana cara -rdan -fopsi bekerja bersama?
Jawaban:
Perintahnya rm -rfsama dengan rm -r -f.
Dari rmhalaman manual (ketikkan man rmterminal untuk melihatnya) -rapakah:
remove directories and their contents recursively
Dan -fapakah:
ignore nonexistent files and arguments, never prompt
Jadi secara kombinasi mereka melakukan keduanya.
Silakan gunakan perintah ini dengan hati-hati!
rm -rf /secara teoritis akan menghapus setiap file di komputer Anda yang berada di direktori tempat Anda memiliki izin menulis. Jika Anda root, itu berarti memusnahkan seluruh sistem. (Dalam praktiknya, itu tidak berhasil karena GNU rmmemiliki kasus khusus yang menolak untuk mengizinkan rm -r /kecuali Anda juga mengatakan --no-preserve-root.)
rm -rf /untuk melihat apakah itu tertangkap dengan benar.
Selain jawaban yang benar sebelumnya, saya ingin mengajari Anda cara memancing:
Ketika Anda tidak yakin tentang bagaimana perintah bekerja, opsi apa yang dimiliki dan apa fungsinya, buka terminal dan ketik
man <command>
Sebagai contoh:
man rm
Setelah di sana, Anda dapat mencari opsi. Halaman manual bisa sangat panjang untuk dibaca, jadi pada tipe terminal:
/<pattern>
Jadi misalnya, melakukan:
/-f
Anda dapat dengan mudah mendarat ke:
-f, --force
ignore nonexistent files and arguments, never prompt
Untuk -r lakukan:
-r, -R, --recursive
remove directories and their contents recursively
Anda dapat berpindah di antara hasil pencarian menggunakan n(berikutnya) dan N(sebelumnya).
Jika Anda perlu melakukan sesuatu, tetapi Anda tidak tahu nama perintahnya, gunakan aproposuntuk mencari di halaman manual:
apropos <pattern>
Sebagai contoh:
apropos directory listing
rmkependekan dari remove. The rbendera ke direktori menghapus dan isinya secara rekursif dan fkekuatan berarti, dan itu menimpa setiap prompt konfirmasi.
r flag is to remove directories tidak benar..itu menghapus direktori beserta isinya, itu adalah operasi berulang .. menurut kata-kata Anda, itu hanya akan menghapus direktori, bagaimana dengan subdir, file di bawahnya? karena entri direktori hanya berisi pemetaan nama-inode, ini hanya tidak masuk akal ..
Seperti yang telah disebutkan, rm -rf <ARG>dimaksudkan untuk secara paksa menghapus file secara rekursif, di mana <ARG>direktori (meskipun itu bisa menjadi file dengan baik).
Inti dari -r(penghapusan rekursif) adalah bahwa rmtidak dapat menghapus direktori jika tidak kosong, hanya karena panggilan sistem yang mendasarinya yang rmmenggunakan ( membatalkan tautan ) hanya beroperasi pada direktori kosong. Jadi, apa yang -rdilakukan flag, adalah pencarian mendalam-pertama turun ke direktori dan menghapus file terlebih dahulu, dan hanya saat direktori kosong - itu akan menghapusnya. Efek yang sama ini dicapai melalui findperintah dengan -deleteflag (ketika Anda tidak menentukan pemfilteran oleh -type, tapi itu cerita lain).
Adapun -f, ia melakukan dua hal - satu mencegah meminta apakah Anda ingin menghapus file atau tidak (seperti ketika Anda menghapus file yang dimiliki oleh pengguna lain dari dalam direktori Anda, itu tidak akan menampilkan rm: remove write-protected regular empty file 'f1'?konfirmasi konfirmasi), dan mengabaikan file tidak ada. Jadi misalnya, dengan nama file yang tidak ada, Anda harus mendapatkan rm: cannot remove 'nonexistent': No such file or directorykesalahan.
Lihat juga: