Untuk kepentingan pembaca:
Waspadalah rm -rf
dalam kasus seperti itu! Itu dapat membuat masalah di tempat lain jika itu terjadi menjadi berbagi jaringan! Anda telah diperingatkan!
Dalam hampir semua kasus, jika a directory
tampaknya kosong, gunakan rmdir directory
atau mungkin sudo rmdir directory
. Jangan gunakan rm
(atau di del
bawah Windows). Jika ini tidak berhasil, Anda perlu mencari tahu, apa yang menghalangi permintaan ini, memperbaikinya dan kemudian coba lagi rmdir
.
Harap dicatat bahwa saya tidak tahu OS-X, tapi saya pikir hal-hal di sana sangat mirip dengan perilaku Unix / BSD.
Sangat mungkin bahwa direktori yang dimaksud hanyalah titik mount (dari encfs) atau berada pada titik mount yang menjadi readonly atau macet dalam keadaan yang tidak tepat (yang mencegah direktori untuk dihapus). Jika sekarang Anda memaksakan penghapusan direktori, hal yang sangat buruk dapat terjadi.
Dalam kasus yang baik direktori tersebut benar-benar kosong, jadi menghapusnya (menghancurkan mount dll) tidak ada salahnya lebih lanjut. Dalam kasus buruk itu tidak kosong, hanya tampaknya, yang berarti, Anda menghancurkan sesuatu yang Anda mungkin tidak ingin membunuh. Ini semua tergantung pada tipe mount, driver mana yang digunakan dll. Hlm.
Jika semuanya dilaksanakan dengan cukup baik, biasanya tidak ada hal buruk yang akan terjadi. Namun ini bukan kasus normal. Hal-hal sudah dalam keadaan aneh, yang berarti: Ada yang salah, jadi lebih baik jangan mencoba untuk mencampurnya lebih jauh! Jika ada yang retak, sentuhan yang salah dapat merusaknya.
Misalnya, jika Anda mencapai kondisi balapan di jaringan berbagi, mungkin Anda rm -rf
menghapus data yang hanya disalin ke berbagi oleh orang lain.
Namun rmdir
dijamin tidak akan membahayakan, selain menghapus direktori yang benar-benar kosong. Ini bahkan berlaku di NFS, karena NFS hanya menjamin perilaku atom yang benar-benar mkdir
dan rmdir
, tetapi tidak di tempat lain.
FYI:
Anda dapat mendeteksi titik mount menggunakan alat ini mountpoint directory
. Atau lihat output mount
dan coba tandai mount Anda di sana. Tapi waspadalah, setidaknya di Linux ini mungkin bohong. Menggunakan mountpoint
utilitas lebih dapat diandalkan tetapi kurang nyaman.
Jika Anda menemukan mountpoint, Anda bisa melepasnya dan kemudian menghapus direktori, ini adalah urutan berikut:
umount directory
rmdir directory
Jika perlu digunakan sudo
, seperti biasa.
Catatan:
Pembagian jaringan mungkin menolak rmdir
(dan hal lain) karena hak akses.
Sistem file yang rusak dapat ditolak rmdir
, tergantung pada strategi yang gagal. Mungkin Anda akan melihat pesan yang masuk akal dalam kasus itu, mungkin tidak.
Di Linux (dan mungkin semua OS modern) Anda juga dapat membatasi akses menggunakan cara yang berbeda (seperti memasang sesuatu yang hanya bisa dibaca, kemampuan seperti di SeLinux, dll.). Ini kemudian berarti Anda tidak melihat bahwa itu adalah mountpoint, dan Anda tidak melihat sesuatu yang salah, tetapi itu tidak berfungsi. Dalam hal ini Anda perlu mencari alasan lain dan itu bisa sangat terkubur di OS. Itu tergantung pada alat jika Anda melihat beberapa pesan kesalahan yang masuk akal. Mungkin juga melihat ke syslog / kernel-log seperti dmesg
di Linux (maaf, saya tidak tahu setara OS-X).
Perhatikan bahwa penguncian file wajib juga dapat menjadi sumber. Walaupun ini normal pada Windows, biasanya ini bukan kasus normal Unix dan saya tidak pernah mendengarnya untuk direktori. Kunci file wajib dicakup oleh POSIX, tetapi bersifat opsional.
Cukup sering dalam kasus seperti itu, direktori tersebut berada pada sistem file yang berbeda dari yang Anda pikirkan. Anda dapat mengetahui yang mana, dengan perintah df directory
(saya pikir ini sama di bawah OS-X).
Anda dapat memeriksa lebih dalam dengan alat-alat seperti stat
atau statfs
pada direktori. Namun ini adalah level yang agak rendah untuk orang normal, dan cukup sering alat seperti itu tersembunyi dengan baik dari pengguna normal.
Direktori dapat memiliki file dengan nama lucu. Seperti file yang segera menghapus output terminal, jadi sepertinya tidak ada di sana. Coba sesuatu seperti ls -al | less
atau gunakan sesuatu seperti MidnightCommander mc
.
Ada banyak kereta kemungkinan lain, termasuk bug, haxor, alien, atau mungkin hal-hal yang lebih eksotis seperti peri. Tetapi biasanya tidak bijaksana untuk mulai mencari di sana, sebagai gantinya pertama-tama cobalah untuk menemukan kesalahan di sisi Anda, karena "errare humanum est".
rmdir
- tetapi sering menjadi penyebab mengapa seseorang tidak dapat melepas volume).