[linux-l] Dateien mit '/' im Dateinamen
Oliver Bandel
oliver at first.in-berlin.de
Mo Jul 28 19:56:08 CEST 2003
On Mon, Jul 28, 2003 at 10:56:07AM +0200, Stefan Bund wrote:
>
> Hallo Liste,
>
> also das ist mir noch nie untergekommen ...
>
> Ich habe jetzt pl?tzlich zwei Dateien (obs noch mehr sind wei? ich
> nicht), die ein '/' im Namen haben ...
Darf eigentlich garnicht existieren.
> also nicht als
> Verzeichnistrenner. Mit ls kann ich die Anzeigen, aber alles andere
> geht in die Hose ... logisch.
>
> also z.Bsp:
>
> $ ls /etc | head -1
> /mount.nfs
Sicher, daß es nicht ./mount.nfs heisst?
Hast Du bei ls evtl. irgend einen alias, oder ein Sript,
der/das die Ausgabe von ls bearbeitet und ein führendes
"." wegschneidet?
=> which ls
>
> $ ls -l /etc | head -2
> /bin/ls: /mount.nfs: No such file or directory
> total 1488
> drwxr-xr-x 3 root root 1024 Apr 7 2000 CORBA
>
> Ich kann die Datei nicht anzeigen, l?schen ... gar nix
>
> Erstens: Wie kommt so eine Datei zustande? Gibt es irgend ein API, mit
> dem ich auf solch eine Datei zugreifen kann? Shell-quoting reicht ja
> nicht, da der '/' auf der Dateisystemebene interpretiert wird (soweit ich
> das wei?)
>
> Zweitens: Wie kriege ich diese Dateien weg?
Wenn die Datei die einzige eines bestimmten Namens ist,
und man nur "typische" unerlaubte Zeichen im Namen hat,
würde das am Beispiel Deiner mount-Datei so aussehen:
rm -- ` ls *mount.nfs`
Das Ergebnis von ls sollte auf diese Weise
unter Umgehung der Shell (also direkt) an das rm
weiter gegeben werden...
... da allerdings ein "/" am Anfang des Pfades steht,
und nicht irgend ein anderes "unerlaubtes"/"unerwünschtes"
Zeichen, wird natürlich die Datei gesucht, die unter / zu finden ist.
Mit anderen Worten, Du wirst das so auch nicht geregelt kriegen...
...also, wenn man es genau nimmt, hast Du da ein fettes Problem...
Möglicherweise Filesystem-Probleme?!
Ciao,
Oliver
Mehr Informationen über die Mailingliste linux-l