Standards Update (3 of 4): NBS FIPS
John Chambers
jc at minya.UUCP
Tue Feb 16 06:44:05 AEST 1988
From: jc at minya.UUCP (John Chambers)
[ This one got misplaced as I prepared to go to USENIX.
I don't really understand the question, but if it's whether the
rename function can be used to move directories, the answer is yes
(although the user command is mv). -mod ]
> >No portable application needs "appropriate privileges" to move directories
> >around; it can use "rename()". The correct way to move anything under a POSIX
> >implementation is to use "rename()", not "link()" and "unlink()".
>
> The rename() call is sufficient for changing the name of a directory, ...
One thing I've wondered is whether the standard will require implementors
to make things like rename("foo/bar/x","foo/x") work correctly. This is
a serious omission in a great many Unix releases.
It's not at all a hypothetical issue. I've seen a lot of cases where
a user (myself included) uses tar or cpio or some such to unpack a bunch
of files, intending them to go into foo/bar, and ending up with them all
in foo/bar/bar. The usual result is "rm -rf foo/bar/bar" and starting
over. It'd save a lot of grief if one could just say something like:
rename foo/bar/bar foo/temp
rename foo/temp foo/bar
and be done with it. Of course, it'd be better if I could just type:
rename foo/bar/bar foo/bar
and get the desired result, but that's probably too much to hope for. ;-)
Given the history of Unix releases, I wouldn't expect this to work when
foo/bar/bar is a directory, unless there is some argument stronger than
users' needs to convince the implementors.
--
John Chambers <{adelie,ima,maynard,mit-eddie}!minya!{jc,root}> (617/484-6393)
Volume-Number: Volume 13, Number 16
More information about the Comp.std.unix
mailing list