[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