Darf das sein? Dateiname = Verzeichnisname
Darf das sein? Dateiname = Verzeichnisname
Sorry möglicherweise dumme Frage. Ich mache nun schon seit Jahren mit Linux, ok bin kein Profi aber kommen gut zurecht. Arbeite, da mitt ssh auf meine server meist in der commandline.
So nun wollte ich eine Datei verschieben, aus einem parallelen Verzeichnis in das aktuelle.
also "mv ../quellverzeichnis/dateiname ." so kenne ich das eigentlich, "." ist das aktuelle Verzeichnis
Die Datei ist weg, find findet sie nicht mehr.
ls -la bringt die Erleuchtung, es existiert neben den Verzeichnisverweisen ".." und "." noch eine Datei "."
die natürlich nicht ansprechbar ist, alle Zugriffe auf . sagen richtigerweise ist ein Verzeichnis.
Man bekommt das nur weg wenn man das Verzeichnis löscht.
Version Rasbian Buster (also im Prinzip Debian 10) mit den aktuellsten Patches.
Ich denke das ist ein Bug, oder kann mich einer der Spezialisten aufklären.
Danke
Rainer
So nun wollte ich eine Datei verschieben, aus einem parallelen Verzeichnis in das aktuelle.
also "mv ../quellverzeichnis/dateiname ." so kenne ich das eigentlich, "." ist das aktuelle Verzeichnis
Die Datei ist weg, find findet sie nicht mehr.
ls -la bringt die Erleuchtung, es existiert neben den Verzeichnisverweisen ".." und "." noch eine Datei "."
die natürlich nicht ansprechbar ist, alle Zugriffe auf . sagen richtigerweise ist ein Verzeichnis.
Man bekommt das nur weg wenn man das Verzeichnis löscht.
Version Rasbian Buster (also im Prinzip Debian 10) mit den aktuellsten Patches.
Ich denke das ist ein Bug, oder kann mich einer der Spezialisten aufklären.
Danke
Rainer
Re: Darf das sein? Dateiname = Verzeichnisname
Willkommen im Forum.
Meines Wissens kann man keine Dateien (oder auch Ordner) mit Namen . oder .. anlegen. Die haben ausschließlich die Bedeutung, die du beschrieben hast. Andernfalls lern ich hier dazu
ls -la zeigt dir allerdings diese speziellen Einträge . und .. in einem Ordner mit an. Wenn du dir die Ausgabe von ls -la nochmal anguckst, wird da – wenn mich nicht alles täuscht – ein d am Anfang der Zeile stehen. Das zeigt an, dass es ein Ordner ist (eben der aktuelle bzw. übergeordnete).
ls -lA zeigt die speziellen beiden Einträge nicht mit an.
Wo deine Datei steckt, kann ich dir damit leider nicht direkt sagen. Bist du ganz sicher, dass du beim Verschieben im richtigen Zielordner warst?
Meines Wissens kann man keine Dateien (oder auch Ordner) mit Namen . oder .. anlegen. Die haben ausschließlich die Bedeutung, die du beschrieben hast. Andernfalls lern ich hier dazu
ls -la zeigt dir allerdings diese speziellen Einträge . und .. in einem Ordner mit an. Wenn du dir die Ausgabe von ls -la nochmal anguckst, wird da – wenn mich nicht alles täuscht – ein d am Anfang der Zeile stehen. Das zeigt an, dass es ein Ordner ist (eben der aktuelle bzw. übergeordnete).
ls -lA zeigt die speziellen beiden Einträge nicht mit an.
Wo deine Datei steckt, kann ich dir damit leider nicht direkt sagen. Bist du ganz sicher, dass du beim Verschieben im richtigen Zielordner warst?
Manchmal bekannt als Just (another) Terminal Hacker.
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Darf das sein? Dateiname = Verzeichnisname
Kannst du das ls -al dieser 3 Zeilen mal bitte posten? Passt der Zeitstempel bzw. die Groesse eines der . mit deiner verschobenen Datei ungefaher ueberein? Ist der Dateiname vielleicht . und noch irgendein Zeichen?
Die Namen sind halt schon vergeben automatisch sobald ein Verzeichnis angelegt wird.JTH hat geschrieben:08.02.2020 17:55:44Willkommen im Forum.
Meines Wissens kann man keine Dateien (oder auch Ordner) mit Namen . oder .. anlegen. Die haben ausschließlich die Bedeutung, die du beschrieben hast. Andernfalls lern ich hier dazu
Hilf mit unser Wiki zu verbessern!
Re: Darf das sein? Dateiname = Verzeichnisname
Die Datei heißt mit Sicherheit nicht ".", sondern hat noch irgendwelche anderen Zeichen im Namen, z.B. ein Leerzeichen, also ". " oder ähnlich.muekno hat geschrieben:08.02.2020 17:38:09ls -la bringt die Erleuchtung, es existiert neben den Verzeichnisverweisen ".." und "." noch eine Datei "."
die natürlich nicht ansprechbar ist
Re: Darf das sein? Dateiname = Verzeichnisname
Die Ausgabe von `ls' ist auf jeden Fall interessant. Wenn man genauer hinschauen will, sollte man `stat' auf die Dateien anwenden, das ist aussagekraeftiger.
Die Dateieintraege `.' und `..' werden automatisch vergeben. Man kann sie nicht manuell bearbeiten, weil man sonst den Verzeichnisbaum kaputt machen koennte.
Es kann in einem Verzeichnis keine zwei Dateien mit gleichem Namen geben. Bei den Eintraegen eines Verzeichnisses wird nicht nicht Dateityp unterschieden. Ein Verzeichnis ist letztlich nur eine Liste von Inode-Dateiname-Zuordnungen. Inodes duerfen mehrfach vorkommen, jeder Dateiname aber nur einmal. Soviel an theoretischem Unterbau.
Deine Situation ist jedenfalls seltsam ... darum aber auch interessant.
Relevant koennte auch das verwendete Filesystem sein. Das kannst du beispielsweise mit diesem Befehl im betreffenden Verzeichnis ausgeben lassen:
(... geht vielleicht auch einfacher. )
EDIT:
@MSfree: Ja, damit hast du bestimmt das Raetsel geloest.
`stat' zeigt solchen Whitespace an, `ls' nicht direkt. Da muss man dann schon durch `od -c' pipen oder so, um ihn zu sehen.
Die Dateieintraege `.' und `..' werden automatisch vergeben. Man kann sie nicht manuell bearbeiten, weil man sonst den Verzeichnisbaum kaputt machen koennte.
Es kann in einem Verzeichnis keine zwei Dateien mit gleichem Namen geben. Bei den Eintraegen eines Verzeichnisses wird nicht nicht Dateityp unterschieden. Ein Verzeichnis ist letztlich nur eine Liste von Inode-Dateiname-Zuordnungen. Inodes duerfen mehrfach vorkommen, jeder Dateiname aber nur einmal. Soviel an theoretischem Unterbau.
Deine Situation ist jedenfalls seltsam ... darum aber auch interessant.
Relevant koennte auch das verwendete Filesystem sein. Das kannst du beispielsweise mit diesem Befehl im betreffenden Verzeichnis ausgeben lassen:
Code: Alles auswählen
awk "\$1 == \"`df . | awk 'NR==2{print $1}'`\"" /etc/mtab
EDIT:
@MSfree: Ja, damit hast du bestimmt das Raetsel geloest.
`stat' zeigt solchen Whitespace an, `ls' nicht direkt. Da muss man dann schon durch `od -c' pipen oder so, um ihn zu sehen.
Use ed once in a while!
Re: Darf das sein? Dateiname = Verzeichnisname
ls kann zumindest HInweise auf zusätzlich Zeichen geben. Ich habe gerade eine Datei mit dem Namen ". " erzeugt und diese wird mitMeillo hat geschrieben:08.02.2020 19:49:25`stat' zeigt solchen Whitespace an, `ls' nicht direkt. Da muss man dann schon durch `od -c' pipen oder so, um ihn zu sehen.
Code: Alles auswählen
ls -lab
drwxr-xr-x 33 user user 4096 Feb 8 20:15 .
-rw-r--r-- 1 user user 0 Feb 8 20:15 .\
drwxr-xr-x 4 root root 4096 Apr 16 2019 ..
Re: Darf das sein? Dateiname = Verzeichnisname
Möglicherweise sollte man den Dateinamen mittels find -print0 einem Tool wie od oder hexdump zum Fraß vorwerfen. Weiß der Teufel, wie viele Utf-Zeichen es gibt, die einem Punkt ähneln.
Re: Darf das sein? Dateiname = Verzeichnisname
Leider das Verzeichnis schon gelöscht, kann es auch heute nicht mehr nachvollziehen. Aber ich habe es gestern 2 mal erlebt, da ich nachdem die Datei beim ersten mal nicht da war den Vorgang, also Datei vom eine Host (MAC) mit SSH nochmal kopiert und dann innerhalb des anderen Host (PI) mit mv nochmal verschoben. Kann mir nicht vorstellen, da jedesmal ein Blank drangehängt zu haben. Nachdem die Datei wieder weg war bin ich dem erst wie oben beschrieben nachgegangen. Danke trotzdem für die Antworten.
Jetzt völlig verwirrt
Rainer
P.S. jedenfalls froh, dass es wieder geht
Jetzt völlig verwirrt
Rainer
P.S. jedenfalls froh, dass es wieder geht
Re: Darf das sein? Dateiname = Verzeichnisname
Tja, die Verwirrung und das ungeloeste Raetsel werden nun bleiben, denn ohne eine Reproduzier- und Testbarkeit haben wir nichts als zwei moegliche Erklaerungsansaetze (Whitespace und Punkt-aehnliches UTF8-Zeichen).muekno hat geschrieben:09.02.2020 07:35:10Leider das Verzeichnis schon gelöscht, kann es auch heute nicht mehr nachvollziehen. [...]
Jetzt völlig verwirrt
Besser als dass es wieder geht, ist es zu wissen, warum es davor nicht gegangen ist.P.S. jedenfalls froh, dass es wieder geht
Trotzdem gut, dass dein System wieder normal ist.
Use ed once in a while!