[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [FreeBSD] FAT32 und polnische Zeichen in Dateinamen? Invalid argument
[Thread Prev] | [Thread Next]
- Subject: Re: [FreeBSD] FAT32 und polnische Zeichen in Dateinamen? Invalid argument
- From: Cedrik Kern <zrak@xxxxxxxx>
- Date: Wed, 7 Sep 2005 18:34:54 +0200
- To: uugrn@xxxxxxxxxxxxxxx
* Raphael H. Becker (Raphael.Becker@xxxxxx) wrote: > On Tue, Sep 06, 2005 at 06:13:23PM +0200, Cedrik Kern wrote: > > > # mv 07\ Czekaj\?c\ na\ s\?o\?ce.mp3 07\ Czekaj\?c\ na\ s\?o\?ce_.mp3 > > > mv: rename 07 Czekaj?c na s?o?ce.mp3 to 07 Czekaj?c na s?o?ce_.mp3: > > > Invalid argument > > > > > > Bei der Eingabe war die bash-autocompletion hilfreich, was "mv" aber > > > nicht wirklich beeindruckt hat. Dito mit touch oder stat. > > > Normalerweise sind in Dateinamen alle Zeichen erlaubt ausser dem slash > > und einem Nullbyte der Slash ist ja bekanntermassen Verzeichnisstrenner > > und das Nullbyte makiert das Stringende. Du koenntest es mal anstatt mit > > bash auto completition auf die Namen mit find auf die inodes probieren: > > ls -i > > find ./ -inum $BOESERDATEIINODE -exec rm {} \; > > Bei Befehlen wie zB "du" werden die Dateinamen unabhaengig von der shell > aufgelistet und anschliessend ge-stat()-et. scheinbar schlaegt stat() > fehl (mangels funktionierendem truss konnte ich das nicht wirklich genau > rausfinden) > > --> man 2 stat oder > http://www.freebsd.org/cgi/man.cgi?query=stat&sektion=2 > Ja als ich dein erstes Posting gelesen habe, hab ich darauf getippt, dass die bash (hab hier keine bash zum ausprobieren) einfach nur falsch die zeichen escaped und dann ls wegen falscher parameter schreit, aber aus deinem Posting, wenn man es denn genau liesst kann man ja erkennen, dass das nicht der Fall ist... meine Unachtsamkeit. Was aber weiterhin gilt ist, dass alle Zeichen ausser \0 und / in einem Dateinamen vorkommen duerfen. > Mit rm muesste ich einen inode loeschen koennen und alle daran geknuepfte > Verzeichniseintraege. > IIRC kann man das mit debugfs ob das auch fat32 unterstuezt weiss ich nicht. Wenn das nicht geht koenntest du auch mit nem hexeditor direkt im dateisystem die Problematischen Bytes austauschen. > Aber ok, Theorie, hier die Praxis: > > # ls -li > ls: 01 Pocz?tek.mp3: Invalid argument <--- !! > ls: 03 Kraina umar?ych wg A Vivaldi.mp3: Invalid argument <--- !! > ls: 05 Bez imienia' Krzysiek Baczy?ski.mp3: Invalid argument <--- !! > ls: 07 Czekaj?c na s?o?ce.mp3: Invalid argument <--- !! > total 35352 > 1125656519 -rw-r--r-- 1 rabe multimedia 7301791 Jun 14 17:59 02 Hate and love.mp3 > 1125656525 -rw-r--r-- 1 rabe multimedia 4416619 Jun 14 17:59 04 Wiara.mp3 > 1125656531 -rw-r--r-- 1 rabe multimedia 5624521 Jun 14 17:59 06 Sen.mp3 > 1125656537 -rw-r--r-- 1 rabe multimedia 4945337 Jun 14 17:59 08 Nocne kwiaty.mp3 > 1125656540 -rw-r--r-- 1 rabe multimedia 3966477 Jun 14 17:59 09 '24'W'G N Paganini.mp3 > 1125656543 -rw-r--r-- 1 rabe multimedia 4281618 Jun 14 17:59 10 Chleb i krew.mp3 > 1125656547 -rw-r--r-- 1 rabe multimedia 4085177 Jun 14 17:59 11 Brama' Dante Aligieri.mp3 > 1125656550 -rw-r--r-- 1 rabe multimedia 1557360 Jun 14 17:59 12. Koniec.mp3 > > D.h. ls sieht zwar, dass es die Dateinamen gibt, kann diese aber nicht > "anfassen". Entsprechend kann ich davon auch keine inodes sehen. Alle > Dateinamen im Verzeichnis, die "sauber" sind, werden normal aufgelistet. ich nehm ann truss is sowas wie strace und Konsorten der Output waere wirklich interresant. > Leider ist truss auf meinem Rechner grad kaputt, sonst haette ich das mal > getracet: > > # truss -fa -o ls-li.truss ls -li * > truss: PIOCBIS: Inappropriate ioctl for device > > ... und /proc ist bei mir standardmaessig gemountet (ist bei FreeBSD nicht > standardmaessig so). > > Siehe > http://lists.freebsd.org/pipermail/freebsd-bugs/2005-March/011947.html > http://lists.freebsd.org/pipermail/freebsd-bugs/2005-March/012096.html > ... das muss ich mir auch mal genauer ansehen, kann doch nicht sein, > dass so was elementares wie truss nicht mehr geht! > -- Viele Gruesse Cedrik