Saya menggunakan terminal pada mesin Ubuntu dan ada file yang ingin saya hapus. Nama file adalah \
(hanya garis miring terbalik).
Sekarang biasanya saya hanya akan melakukannya
rm filename
Namun jika saya melakukannya rm \
maka saya pikir saya mencoba untuk menulis perintah multi-line.
Bagaimana saya bisa menghapus file ini? Saya tahu bahwa saya hanya bisa menggunakan sistem file GUI, tapi itu tidak terlalu efisien.
Jadi, bagaimana saya bisa menghapus (di terminal) file yang dipanggil \
?
code
blok di sini di komentar ini!)fsck
. Serius. Jika file bernama/
ada, sistem file Anda rusak.*
saya sendiri ...Jawaban:
Gunakan
rm \\
(lepas backslash dengan backslash lain). Perhatikan bahwa ini juga berfungsi sama, untuk direktori bernama\
(menggunakan salah saturmdir
, ataurm
dengan-r
bendera).Contoh:
sumber
rm '\'
(tetapi tidakrm "\"
).\
karakter tersebut digunakan sebagai karakter pelolosan dalam string dibatasi tanda kutip ganda. Mengatakanrm "\"
akan diurai menjadi string yang tidak tertutup, karena tanda kutip kedua digunakan dengan karakter pelarian (dan dengan demikian akan diurai sebagai karakter tanda kutip ganda itu sendiri, dan bukan akhir dari string). Dengan demikian, terminal akan menunggu sampai Anda menyelesaikan string dengan yang lain"
. Metode yang setara untuk menggunakan tanda kutip ganda di sini adalahrm "\\"
(yang secara langsung setara dengan keduanyarm '\'
danrm \\
, seperti yang sudah Anda konfirmasi).Taktik umum untuk menghapus file secara manual dengan karakter canggung dalam namanya adalah
Ini akan meminta Anda untuk memilih apakah akan menghapus setiap file di direktori atau tidak.
sumber
rm -i ./?
./
Anda juga dapat memutuskan tautan dengan merujuk inode file
sumber
Silakan periksa inode file terlebih dahulu. ls -li
137791 -rw-rw-r--. 1 svr svr 366 11 Mar 15:57
inode "\" adalah "137791 dan kemudian gunakan perintah find untuk menghapus" \ "dengan nomor inode.
temukan. -inum 137791 -exec rm -i {} \;
rm: hapus file biasa `./ \ '? iya nih
"\" akan dihapus kemudian.
sumber