There's a rename syscall, which is used to implement the standard unix mv command (move), and there's also a handy renames command in cLIeNUX that does things like move a bunch of .c files to .C or whatever. mv only works within a filesystem in the case of directories. If you need to move a directory across filesystems use cp -a or similar.