qf1410640014
Goto Top

Linux-Gurus bitte vor: Spezialzeichendatei öffnen

Hallo,

habe eine Linux-Datei die

X%3A.info

heißt.

Weder ein

cat X%3A.info

noch sonst etwas funktioniert mit der Datei (No such file or directory)

Mir ist schon klar, dass das %-Zeichen ein Spezielzeichen ist, das irgendwie maskiert werden muss.

In Windows hätte ich den ganzen Dateinamen einfach in Anführungszeichen gesetzt. Dummerweise klappt das nicht unter Linux.

Wie also maskiert man die Datei, damit man sie nutzen kann?

Danke, LG

Content-Key: 327261

Url: https://administrator.de/contentid/327261

Printed on: April 25, 2024 at 05:04 o'clock

Member: magicteddy
magicteddy Jan 23, 2017 at 16:17:55 (UTC)
Goto Top
Moin,

cat X\%3A.info funktioniert hier.

-teddy
Member: michi1983
michi1983 Jan 23, 2017 at 16:17:58 (UTC)
Goto Top
Hallo,

lege sie doch in einen Ordner, der sonst keine Dateien erhält.

Danach ein cat gefolgt mit großem X und die Tab Taste, dann sollt er den Dateinamen selbst vervollständigen.

Gruß
Member: noop0815
Solution noop0815 Jan 23, 2017 at 16:38:43 (UTC)
Goto Top
Poste doch mal bitte Deinen zweiten Versuch! Welche Shell verwendest Du?

<Glaskugel>
Ich vermute mal bash?
Du hast beim Deinem Versuch doppelte genommen?
</Glaskugel>

Versuch's mal mit einfachen:

cat 'X%3A.info'
Member: noop0815
Solution noop0815 Jan 23, 2017 at 16:41:54 (UTC)
Goto Top
Achja, wer sich Escape-Zeichen nicht merken kann
ls -lb
ist Dein Freund!

man ls
Mitglied: 119944
Solution 119944 Jan 24, 2017 at 08:04:56 (UTC)
Goto Top
Moin,

ich betrachte mich jetzt nicht als Linux-Guru aber kenne dein Problem, wir hatten das mal nach einem Fileserver Umzug mit alten Dateien welche ein Sonderzeichen im Namen hatten. Gelöst hab ich das einfach direkt über die Inode der Datei.

Als erstes lässt du dir mit "ls -li" die Inode-Nummer der Datei anzeigen:
[root@centos]# ls -li
409103013 -rw-rw----+ 1 root                      root                             0 24. Jan 08:57 test
Danach kannst du mit folgendem Befehl die datei umbenennen:
[root@centos]# find . -inum 409103013 -exec mv {} 'new-name' \; 
Oder löschen:
[root@centos]# find . -inum 409103013 -exec rm -f {} \;

VG
Val
Member: qf1410640014
qf1410640014 Jan 24, 2017 at 12:01:45 (UTC)
Goto Top
Ja, war die normale Bash. Hat funktioniert - danke.