Datei mit ` im Namen entfernen

Datei mit ` im Namen entfernen

Irgendwann habe ich eine Datei erstellt, die Folgendes enthielt: `. Wie entferne ich sie?

ls -lakehrt zurück:

-rw-rw-r--  1 ec2-user ec2-user     0 Sep 25 23:01 `which

Antwort1

Es gibt viele Wege:

  1. Zitieren Sie den Dateinamen

    rm '`which'
    
  2. Entkomme dem beleidigenden Charakter

    rm \`which
    
  3. Shell-Globbing verwenden (mit Eingabeaufforderung, falls andere passende Dateien vorhanden sind)

    rm -i ?which
    rm -i *which
    
  4. Verwenden Sie findstattdessen (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 whichsich der Teil befindet, der aus normalen Zeichen besteht.

( -iFü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.

verwandte Informationen