
Ich habe eine seltsame Datei in meinem Home-Verzeichnis mit dem Namen \e[m
. Ich verwende Linux. Wie kann ich sie löschen, da ich es versucht habe rm
, aber es heißt no such file or directory found
?
Antwort1
Wenn keine der anderen hier geposteten Antworten funktioniert, können Sie immer versuchen, eine Datei basierend auf ihrem Inode zu entfernen.
Das zu tun:
- Suchen Sie den Inode der Datei, indem Sie Folgendes tun
ls -i
. Nehmen wir an, die Inode-Nummer lautet123456
für\e[m
. - Löschen Sie die Datei basierend auf ihrer Inode-Nummer: Führen Sie entweder
find -inum 123456 -delete
oder ausfind -inum 123456 -exec rm {} \;
.
Antwort2
Ehrlich gesagt wäre es am einfachsten, einen Dateimanager zu verwenden, der jegliches Shell-Globing umgeht.
Bei Verwendung einer Shell würde ich versuchen, das Shell-Vervollständigungssystem zu verwenden (vorausgesetzt, Sie verwenden eine Shell mit einem solchen System). rm [TAB]
Wenn Ihre Shell Ihnen beispielsweise ein Menü anzeigt und Sie aus dem Menü auswählen oder es durchgehen können, sollten Sie eine Vervollständigung erhalten, die eine Textdarstellung ist, die Ihre Shell erkennt.
Antwort3
Mögliche Wege:
rm \\e\[m
oder
rm '\e[m'
oder
rm "\\e[m"
Antwort4
Sie können die Glob-Erweiterung verwenden. Versuchen Sie es ls *[[]m
, und wenn dadurch nur diese Datei zurückgegeben wird, können Sie es bedenkenlos tun rm *[[]m
.
Wenn die fehlerhafte Datei mit dem obigen Befehl nicht aufgeführt wird ls
, enthält sie mit Sicherheit ein Escapezeichen und das „m“ ist kein wörtliches „m“ (und/oder das [
ist kein wörtliches [
„).