Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.unix.internals Subject: Re: Help! There's a slash '/' in my filename. Message-ID: <5693@auspex.auspex.com> Date: 2 Feb 91 21:09:13 GMT References: <821@nddsun1.sps.mot.com> <11714@helios.TAMU.EDU> <43579@ut-emx.uucp> Distribution: comp Organization: Auspex Systems, Santa Clara Lines: 32 >This won't work. The / is not interpreted by the shell, but by the >kernel routine namei(), which translates file names into inode numbers. Actually, it's not called "namei()" in SunOS, but that's an extremely minor detail; your explanation is correct, and your suggested fix is mostly correct, except that you probably want to unmount the file system *before* doing the "clri". However, if you end up nuking the inode for the file, you've lost that file. Another possibility is to make another directory at the same level as the one containing the file with the "/" in its name, move all the other files into that directory (including files with names beginning with ".", other than "." and "..", if any exist), do "ls -id" on the directory containing that file, unmount the file system, nuke that *directory's* inode with "clri", and then do an "fsck". "fsck" should make a new link to the file with the bad name in "lost+found", so you won't lose the file. Then renmae the newly-created directory to have the name of the old directory, and move the file from "lost+found" into that directory with some name (not containing a "/", needless to say...). I suspect the bad file got there because of a Mac or maybe PC or some other non-UNIX NFS or perhaps Tops client. There's a bug in older versions of the Sun NFS server code (probably inherited by some other vendors; we've gotten rid of that bug, and so has Sun in SunOS 4.1) where it doesn't check for "/" in file names coming over the wire, but instead creates files with "/" in their name. If that's the case, another alternative fo rdealing with the file might be to find out who created it, and have *them* rename it; the same NFS server bug that let them create the file in the first place should let them rename it to something nicer....