Renaming Files and Folders
You can rename files and folders from the command line using the command mv
. The command is short for “move,” which might seem like an odd name for a command whose effect is to change names. But the fact is, when you rename a file or folder, you’re in effect creating a new path. You’re moving the file or folder’s current location to a new one.
A common analogy for a file path, in fact, is a postal address. Just as a postal address begins with an individual person’s name and continues outward to reference more encompassing domains, so a path on your computer begins with the most encompassing domain and narrows down to an individual folder or file.
Alex Smith # individual person
3492 Oak Lane # street address
Anytown, NY # locality and state
USA # country
/Users/username/folder-inside/folder-inside-that/folder-inside-that-one/file.xt
# / = most encompassing
# Users = one of several folders at this level
# username = one of several possible users
# folder-inside/folder-inside-that/folder-inside-that-one/ = drilling down several levels
# file.txt = individual file
This analogy helps explain why it’s common to talk about a file as “living” at a particular spot on your computer. Every path is a unique address. To change a name is to tell your computer that what was once at one address is now to be found at new one. “We’ve moved!”
We can use complete file paths when executing the mv
command, but as with many other operations, we can omit more-encompassing parts of a path when operating within a specific directory.
So let’s say you start off at the folder we created earlier. Get there from anywhere with the following:
cd ~/critical-digital
Inside critical-digital
we earlier created the file foo.txt
. Use ls
to verify that it’s there. If it isn’t, created it using touch
.
To rename foo.txt
to bar.txt
we would do the following:
mv foo.txt bar.txt
Try this, followed by ls
to verify that the change took effect. If you had any contents in foo.txt
, they would not be altered by the move. You didn’t change what’s inside the file, only where the file lives. That is, you renamed it.
You can do the same with folders. Using mv
to rename the folder won’t affect the folder contents (except to give the contents, too, a new address—differing only at the point in the address where the folder name was changed).
Earlier, you created my awesome file.txt
inside some other folder
. Maybe you want to rename that folder.
cd "~/critical-digital/some folder"
mv "some other folder" better-folder
If you do this and peek into better-folder
with ls
, you’ll see that my awesome file.txt
is still living inside.
Moving things with mv
You can use mv
to move files and folders in the more familiar sense of relocating them to other folders. For example, you can use it move my awesome file.txt
out of better-folder
and into critical-digital
, two levels above. For this example, we’ll use full paths:
mv ~/critical-digital/some\ folder/better-folder/my\ awesome\ file.txt ~/critical-digital/my\ awesome\ file.txt
If we then cd
to critical-digital
, we can use ls
to confirm the move.
The mv
command is a powerful one. You can pretty much re-locate anything anywhere if you do it right. But doing it wrong can lead to heartache. Practice using it and get confident with it before using it with important files and folders. Consider backing up important files and folders in the GUI before you try anything fancy with them from the command line.