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-ID: 327261

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

magicteddy
magicteddy 23.01.2017 um 17:17:55 Uhr
Goto Top
Moin,

cat X\%3A.info funktioniert hier.

-teddy
michi1983
michi1983 23.01.2017 um 17:17:58 Uhr
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ß
noop0815
Lösung noop0815 23.01.2017 um 17:38:43 Uhr
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'
noop0815
Lösung noop0815 23.01.2017 um 17:41:54 Uhr
Goto Top
Achja, wer sich Escape-Zeichen nicht merken kann
ls -lb
ist Dein Freund!

man ls
119944
Lösung 119944 24.01.2017 um 09:04:56 Uhr
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
qf1410640014
qf1410640014 24.01.2017 um 13:01:45 Uhr
Goto Top
Ja, war die normale Bash. Hat funktioniert - danke.