Wie lösche ich einen Ordner, dessen Name ein Steuerzeichen enthält?

388
bablewa

TL; DR:

Ein (irgendwie schlechtes) Python-Setup hat mich nach einem Pfad gefragt. Ich fing an zu backspace, backspacetippen und tippte etwas anderes. Okay, dieses Setup hat einen Ordner mit folgendem Namen erstellt (entsprechend ls):

[3 ~? [4 ~ foo

Offensichtlich enthält der Name einige Steuerzeichen. Das übergeordnete Verzeichnis enthält einige andere sehr wichtige Ordner, die ich nicht verschieben kann, um ein Verzeichnis auszuführenrm -rf *

Okay, also:

Wie lösche ich den Ordner?

Ich sollte erwähnen, dass ich nur SSH-Zugriff habe - es gibt keine GUI.

mv "?[3~?[4~foo" x funktioniert offensichtlich nicht, da diese Steuerzeichen sind.

0
ls -b zeigt den Dateinamen mit erweiterten Escape-Zeichen. Wenn "ls"? [3 ~? [4 ~ foo "" nur eine Datei enthält, können Sie sicher `rm -rfi"? [3 ~? [4 ~ foo "` verwenden. Wenn es so aussieht, ist es in Ordnung, versuchen Sie es erneut ohne `-i`. AFH vor 10 Jahren 0

1 Antwort auf die Frage

0
choroba

Sie können versuchen, Platzhalter zu finden. Gibt es wichtige Dateien in ls *foo? Sie können auch versuchen ls *foo | xxd, die Hex-Codes der Steuerzeichen abzurufen.

Facepalm, Platzhalter. Ich weiß wirklich nicht, warum ich diese Idee nicht hatte. Vielen Dank! bablewa vor 10 Jahren 0