Mv

Mv

mv (short for move) is a Unix command that moves one or more files or directories from one place to another. The original file is deleted, and the new file may have the same or a different name. If possible (i.e. when the original and new files are on the same file system), mv will rename the file instead. Write permission is required on all directories being modified.

Conflicting existing file

In all cases, when a file is moved to have the name of an existing file (in the same directory), the existing file is deleted. If the existing file is not writable but is in a directory that is writable, then the mv command asks for confirmation if possible (i.e. if run from a terminal) before proceeding, unless the -f (force) option is used.

Differences with copy and delete

Note that, usually, when moving files within the same volume, moving (and/or renaming) is not the same as simply copying and then deleting the original. When moving a file, the link is simply removed from the old parent directory and added to the new parent directory. However, the file itself is untouched (i.e. it has the same inodes and resides at the same place on the disk). For example, you cannot copy a file you cannot read, but you can move (and/or rename) it (provided you have write permission to its old and new parent directories). Also, suppose there is a non-empty directory you do not have write permission to. You cannot delete this directory (since you cannot delete its contents); but you can move (and/or rename) it. Also, since moving between filenames on a single volume does not involve copying, it is faster and does not place strain of lots of reads and writes on the disk. Moving files across different volumes, however, does necessitate copying and moving.

Examples

mv myfile mynewfilename renames a file mv myfile otherfilename renames a file and deletes the existing file "myfile" mv myfile /myfile moves 'myfile' from the current directory to the root directory mv myfile dir/myfile moves 'myfile' to 'dir/myfile' relative to the current directory mv myfile dir same as the previous command (the filename is implied to be the same) mv myfile dir/myfile2 moves 'myfile' to dir and renames it to 'myfile2' mv foo bar baz dir moves multiple files to directory dir mv --help shows a very concise help about the syntax of the command man mv prints an extensive user manual for 'mv' in the terminal

In all cases, the file or files being moved or renamed can be a directory.

Note that when the command is called with two arguments (as mv name1 name2 or mv name1 /dir/name2), it can have three different effects, depending on whether name2 does not exist, is an existing file, or is an existing directory. If the user intends to refer to an existing directory, /. (or in some Unix versions / is sufficient) may be appended to the name to force the system to check this. To move a file to a new directory, the directory must be created first.

ee also

*cp
*rm
*List of Unix programs
*move (command)
*ren (command)

References

*


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”