Saya menulis sebuah program yang menggunakan fungsi pemetaan memori POSIX ( mmap
)
Program ini mengambil file ( a.dat
) dan memetakan memori untuk membaca / menulis.
Karena kesalahan dalam program, setiap kali saya menjalankan program file dengan beberapa nama aneh (misalnya, ?d?P?^z??d?P?^z?
) dibuat. Kesalahan teratasi tetapi saya tidak dapat menghapus file.
Saya tidak dapat menghapusnya baik menggunakan baris perintah atau dengan memilih / menghapus dari window manager.
Jadi bagaimana saya harus menghapusnya? Saya menggunakan Ubuntu 11.04.
rm '?d?P?^z??d?P?^z?'
). Apakah kamu mencobanya?rm *
di dalam folder.Jawaban:
rm -i -- *
akan meminta Anda untuk menghapus setiap file. Anda dapat dan harus mengubah '*' menjadi kecocokan yang lebih sempit jika ada banyak file. Opsi--
berhenti memproses, sehingga file bernama-d
akan dihapus denganrm
sukses.Saya telah menggunakan itu di masa lalu dan berfungsi sampai Anda menekan karakter khusus atau 2 yang tidak suka.
sumber
rm
Anda, Anda dapat melakukannyarm -i -- *
.--
Memberitahu beberapa versi rm tidak ada lagi saklar baris perintah setelah--
dan untuk memperlakukan argumen lebih lanjut sebagai nama file.--
dalamrm
perintah.Anda dapat menggunakan
ls -li
untuk menampilkan semua file dengan inode mereka. Kemudian jalankan perintah ini untuk menghapus file:Saya menambahkan
-maxdepth 1
pada temuan saya hanya untuk aman:sumber
ls -i
cukup baik.ls
tidak menghapus file. OP menginginkan ini.ls -li
untuk menampilkan semua file dengan inode mereka." Saya menunjukkan bahwals -i
cukup baik untuk mendapatkan daftar nama file dan nomor inode yang sesuai. (Tapi tentu saja Anda perluls -ia
jika Anda ingin memasukkan file-dot.)-delete
opsifind
, untuk meminimalkan penggunaan nama file yang salah.