Kann keine Datein anlegen, die mit 'con' anfangen
Hi, ich habe versucht auf mehreren Wechseldatenträgern (usbstick, floppy, gemountete FAT-Partition) Dateien (oder Verzeichnisse) anzulegen, die mit con anfangen. Also con.test, con, ... Das geht nicht! Nur contest, test.con, testcon, ... gehen. Ansonsten kriege ich die Fehlermeldung: touch: creating `con': Das Argument ist ungültig. Das gleiche passiert beim kopieren. Beim Verschieben wird es richtig toll: mv test con (oder mv test 'con' oder mv test "con") ergeben: mv: cannot move `test' to a subdirectory of itself, `con'. Habe SuSE 7.2 und immer noch den alten 2.4.4-4GB Kernel (sorry David, ich komme einfach nicht dazu den auf einen neuen Stand zu bringen). Kann mir das jemand erklären? Grüßle Philipp -- registered Linux user number 258854 HOW-TO? -> GOTO http://counter.li.org/
* Philipp Zacharias
ich habe versucht auf mehreren Wechseldatenträgern (usbstick, floppy, gemountete FAT-Partition) Dateien (oder Verzeichnisse) anzulegen, die mit con anfangen. Also con.test, con, ... Das geht nicht! Nur contest, test.con, testcon, ... gehen. Ansonsten kriege ich die Fehlermeldung: touch: creating `con': Das Argument ist ungültig. Das gleiche passiert beim kopieren. Beim Verschieben wird es richtig toll: mv test con (oder mv test 'con' oder mv test "con") ergeben: mv: cannot move `test' to a subdirectory of itself, `con'.
könnte vielleicht damit zusammenhängen dass "CON" unter DOS irgendwas besonderes ist so wie "PRN" für den Drucker auf LPT1: steht. Frag mich jetzt nicht wofür es steht. Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Es gibt drei Arten von Frauen: die schönen, die intelligenten und die Mehrheit. -- Rainer Werner Fassbinder Homepage: http://www.bwalle.de
Am 10.01.2004 um 21:56 Uhr schrieb Bernhard Walle:
* Philipp Zacharias
[2004-01-10 21:31]: Das geht nicht! Nur contest, test.con, testcon, ... gehen. Ansonsten kriege ich die Fehlermeldung: touch: creating `con': Das Argument ist ungültig. Das gleiche passiert beim kopieren. Beim Verschieben wird es richtig toll:
könnte vielleicht damit zusammenhängen dass "CON" unter DOS irgendwas besonderes ist so wie "PRN" für den Drucker auf LPT1: steht.
Frag mich jetzt nicht wofür es steht.
con steht für console z. B. (unter Win in der Dos-box oder gleich unter dos): # copy con datei.txt <ENTER> # bla bla # ctrl-z So erstellt man im aktuellen Verzeichnis eine Datei mit dem Namen datei.txt, die eine Zeile Text (bla bla) enthält. Mit ctrl-z wird sie gespeichert. cu PeeGee
* On Sat, 10 Jan 2004 at 21:31 +0100, Philipp Zacharias wrote:
ich habe versucht auf mehreren Wechseldatenträgern (usbstick, floppy, gemountete FAT-Partition) Dateien (oder Verzeichnisse) anzulegen, die mit con anfangen. Also con.test, con, ... [...] Kann mir das jemand erklären?
Jo. Schau mal in die Datei /usr/src/linux/fs/vfat/namei.c, da findet man u.A. dieses: static const char *reserved3_names[] = { "con ", "prn ", "nul ", "aux ", NULL }; static const char *reserved4_names[] = { "com1 ", "com2 ", "com3 ", "com4 ", "com5 ", [...] /* Checks the validity of a long MS-DOS filename */ /* Returns negative number on error, 0 for a normal * return, and 1 for . or .. */ static int vfat_valid_longname(const char *name, int len, int xlate) { [...] if (len && name[len-1] == ' ') return -EINVAL; if (len >= 256) return -EINVAL; if (len < 3) return 0; for (walk = name; *walk != 0 && *walk != '.'; walk++); baselen = walk - name; if (baselen == 3) { for (reserved = reserved3_names; *reserved; reserved++) { if (!strnicmp(name,*reserved,baselen)) return -EINVAL; } } else if (baselen == 4) { [...] Also: Alles, was vor dem Punkt ein Element aus den Listen reserved3_named und reserved4_names hat, ist auf einem vfat-Filesystem nicht erlaubt. Auf einem normalen FAT-Filesystem müsste es übrigens gehen, aber ausprobiert hab ichs nicht. Aber tu solche Files keinem Windows- oder DOS-Benutzer an, der wird Dich sonst verfluchen :) /apm -- GPG welcome, request public key: mailto:adalbert+key@lopez.at
Hallo, Am Sat, 10 Jan 2004, Philipp Zacharias schrieb:
ich habe versucht auf mehreren Wechseldatenträgern (usbstick, floppy, gemountete FAT-Partition) Dateien (oder Verzeichnisse) anzulegen, die mit con anfangen. Also con.test, con, ... Das geht nicht! Nur contest, test.con, testcon, ... gehen. Ansonsten kriege ich die Fehlermeldung: touch: creating `con': Das Argument ist ungültig.
Hm. Das muesste EINVAL ("invalid argument") sein. Aehm, unter DOS (und ergo unter Win*) gibt's reservierte Dateinamen, wie LPT*, COM*, PRN, oder eben auch CON... Oh, und gerade zu CON gibt's so'n netten Trick (bzw. nen eigentlich normalen Befehl mit 'copy'), wie man Win* (ausser XP?) in den Orkus schicken kann... Anders gesagt: es geht einfach nicht.
Habe SuSE 7.2 und immer noch den alten 2.4.4-4GB Kernel (sorry David, ich komme einfach nicht dazu den auf einen neuen Stand zu bringen).
Basst scho. Daran liegt's jedenfalls nicht. -dnh -- All those who believe in psychokinesis, raise my hand. -- Are Westby's sig
participants (5)
-
Adalbert Michelic
-
Bernhard Walle
-
David Haller
-
Peter Geerds
-
Philipp Zacharias