Beberapa metode lain meliputi:
lolos dari karakter khusus:
[~]$rm \"la\*
gunakan perintah find dan hanya cari direktori saat ini. Perintah find dapat mencari nomor inode, dan memiliki -delete
yang berguna beralih:
[~]$ls -i 7404301 "la* [~]$find . -maxdepth 1 -type f -inum 7404301 ./"la* [~]$find . -maxdepth 1 -type f -inum 7404301 -delete [~]$ls -i [~]$
Mungkin saya melewatkan sesuatu, tapi...
rm '"la*'
Bagaimanapun, nama file tidak memiliki inode, file memilikinya. Mencoba menghapus file tanpa menghapus semua nama file yang mengarah ke sana akan merusak sistem file Anda.
Jika Anda benar-benar ingin melakukan ini - dan kasus penggunaan Anda sepertinya tidak perlu sama sekali, Anda dapat mencoba alat debug sistem file. Jika Anda rela kehilangan segalanya, itu saja.
Misalnya, untuk ext2/3/4, debugfs
perintah memiliki opsi "kill_file" yang tampaknya menggunakan inode. Seperti yang disebutkan dalam tanggapan lain, ini akan merusak sistem file Anda, karena akan ada entri direktori yang menunjuk ke file yang tidak ada. Menjalankan fsck
setelah itu mungkin dapat memperbaiki ini. Sepertinya Anda tidak dapat melakukan ini pada sistem file terpasang.
Namun saya sangat menyarankan Anda cukup menggunakan pelolosan/kutipan yang sesuai dan menghapus file tersebut dengan rm
biasa perintah seperti yang disebutkan dalam respons sebelumnya - dan gunakan rm -i
untuk keamanan ekstra saat menangani nama file yang berisi karakter globbing seperti *