833

I have got the directory /home/user/oldname and I want to rename it to /home/user/newname. How can I do this in a terminal?

N.N.
  • 18,589

7 Answers7

1080
mv /home/user/oldname /home/user/newname
168

mv can do two jobs.

  1. It can move files or directories
  2. It can rename files or directories

To just rename a file or directory type this in Terminal:

mv old_name new_name

with space between the old and new names.

To move a file or directory type this in Terminal.

mv file_name ~/Desktop

it will move the file to the desktop.

Zanna
  • 72,312
shadi
  • 1,689
  • 1
  • 10
  • 2
62
mv -T /home/user/oldname /home/user/newname

That will rename the directory if the destination doesn't exist or if it exists but it's empty. Otherwise it will give you an error.

If you do this instead:

mv /home/user/oldname /home/user/newname

One of two things will happen:

  • If /home/user/newname doesn't exist, it will rename /home/user/oldname to /home/user/newname
  • If /home/user/newname exists, it will move /home/user/oldname into /home/user/newname, i.e. /home/user/newname/oldname

Source: How to decide that mv moves into a directory rather than replacing directory?

bmaupin
  • 5,371
12

If you want to rename a directory at your level in the file system (e.g., you are at your home directory and want to rename a directory that is also in your home directory):

mv Directory ./NewNameDirectory
Matt P
  • 121
  • 1
  • 2
6

This gvfs-move command will also rename files and directories.

gvfs-move /home/user/oldname /home/user/newname
Avinash Raj
  • 80,446
5

gvfs-rename will rename directories as well. It will give an error if a directory with the new name already exists. The only limitation is that you can't use a path with the folder name. So

gvfs-rename /home/boo /home/boo-the-dog 

will not work, but

cd /home 
gvfs-rename boo boo-the-dog 

will work. Not as useful as mv -T but I read in the man that it was meant for network operations.

0

My preferred method is using: vidir because I love vi

Install moreutils

sudo apt update; sudo apt install moreutils

Call command vidir in your home-directory

vidir ~

Now search for the directory to change, using slash / e.g. /oldname make the changes, then press = ESC type :wq

Done!

koni_raid
  • 3,300