Irgendwann habe ich eine Datei erstellt, die Folgendes enthielt: `. Wie entferne ich sie?
ls -la
kehrt zurück:
-rw-rw-r-- 1 ec2-user ec2-user 0 Sep 25 23:01 `which
Antwort1
Es gibt viele Wege:
Zitieren Sie den Dateinamen
rm '`which'
Entkomme dem beleidigenden Charakter
rm \`which
Shell-Globbing verwenden (mit Eingabeaufforderung, falls andere passende Dateien vorhanden sind)
rm -i ?which rm -i *which
Verwenden Sie
find
stattdessen (beachten Sie, dass hierdurch, wie @Braiam weiter unten anmerkte, alle übereinstimmenden Dateien im aktuellen Verzeichnis gefunden werden und möglicherweise mehr gelöscht werden als erwartet.)find . -name '`which' -exec rm {} \; find . -name '`which' -delete
Antwort2
Wenn Ihr Dateiname „komische Zeichen“ enthält und Sie diese nicht eingeben können, haben Sie folgende Möglichkeiten:
rm -i *which*
wobei which
sich der Teil befindet, der aus normalen Zeichen besteht.
( -i
Für interaktiv) Stellen Sie sicher, dass Sie vor dem Entfernen übereinstimmender Dateinamen dazu aufgefordert werden, sodass Sie alle Übereinstimmungen überspringen können, die nicht gelöscht werden sollen.
Antwort3
Sie können es entfernen, indem Sie das fehlerhafte Zeichen mit einem Backslash maskieren. Sie können Folgendes eingeben:
rm \`which
und das wird funktionieren.
Antwort4
Das passiert. Wenn Ihr Dateiname ist
`which
du solltest benutzen
mv '`which' which
Sie müssen dies '
um Ihren Dateinamen herum verwenden, da vor dem Dateinamen ein Sonderzeichen steht.