How to Copy a File or Directory via Mac Terminal

Nicholas Russell
By Nicholas Russell 10 Min Read
10 Min Read

Hey there! Ever heard of Mac Terminal? It’s like a magic wand for your Mac, letting you do all kinds of cool stuff with just a few taps on the keyboard. It’s super powerful, especially when you need to move your files and folders around. If you’re just starting with Terminal, or even if you’ve been using it for a while, knowing how to copy files and folders is super handy.

On Mac Terminal, there’s a neat little trick called the ‘cp’ command. It’s your go-to for copying files and folders, and it’s pretty simple once you get the hang of it. But remember, copying files is a bit different from copying folders, and I’ll explain all about that.

I’m Eric, by the way! I’ve been a software engineer for over 25 years, and a lot of that time I’ve been working with command line interfaces, just like Mac’s Terminal. Copying files and folders? I do that all the time, so you’re in good hands!

Stick with me, and I’ll walk you through the basics of using the ‘cp’ command on your Mac Terminal. I’ve got some cool tips and tricks up my sleeve that’ll make it even easier. Let’s dive in! πŸš€πŸ–₯️

Copy with Terminal

Alright, let’s talk about using the Terminal on your Mac to copy stuff. Whether it’s a single file or a whole bunch of them in a folder, copying is something you’ll do a lot. Sometimes it’s super easy, but other times it can get a bit tricky.

Here’s the deal: when you use the ‘cp’ command in Terminal, it’s a bit different for files than it is for folders. It’s not like the ‘mv’ (move) command where everything just scoots over to the new place. With ‘cp’, you need to be a bit more specific, especially with folders.

So, what we’re going to do is break it down into two parts. First, we’ll look at how to copy files. Then, we’ll see how it’s different for folders. This way, you’ll get the hang of both without any mix-ups. Let’s start with copying a file – it’s pretty straightforward. Ready? Let’s go! πŸš€πŸ“πŸ“„

Simple File Copy

First up, let’s talk about just copying a single file. Imagine you have a file, and you want to make a duplicate of it right in the same place, but with a different name. Easy, right? Here’s how you do it:

The command looks like this:

cp <source file name> <new file name>

For example, let’s say you have a file named test.txt and you want to make a copy of it named newfile.txt. You would type this command:

cp test.txt newfile.txt

That’s it! You’ve just made a copy of your file in the same directory with a new name. Pretty simple, huh?

Simple Directory Copy

Now, copying a directory (that’s a folder, by the way) is a bit different. Why? Because you want to make sure you copy all the stuff inside it too, not just the folder itself. If you try the same command as above for a directory, your Mac will say, “Hey, that’s a directory, not a file!”

So, here’s the trick: use the -R parameter. This stands for ‘recursive’, which is a fancy way of saying, “copy everything inside the folder too.” Here’s what the command looks like:

cp -R <source dir name> <new dir name>

Let’s say we have a directory named testdir and we want to copy it as newtestdir. You would type this:

cp -R testdir newtestdir

And just like that, you’ve copied the entire directory along with all its contents. Remember, whenever you’re copying a whole folder, don’t forget to add -R to the command.

For the rest of our examples, we’ll focus on files. But always keep in mind, for directories, -R is your friend.

Copy to a Different Path

Sometimes you might want to move a file from one spot on your Mac to another. This is where copying to a different path comes in. It’s like taking a file from one room in your house and putting it in another. Here’s how it works:

The basic idea is this:

cp <source file name> </path>

This assumes you’re in the folder with the file you want to copy, and you want the copied file to have the same name. Let’s say we have a file named test.txt and we want to move it to /Users/ericwinkler/Test3. Here’s what you’d do:

cp test.txt /Users/ericwinkler/Test3

But wait, there’s more! If you want the copied file to have a new name in its new location, just add the new name at the end of the path. Like this:

cp <source file name> </path/newfilename>

For example, if you want test.txt to be named newtest.txt in its new home, you’d do this:

cp test.txt /Users/ericwinkler/Test3/newtest.txt

And guess what? You don’t even need to be in the same directory as the file you’re copying. You can tell Terminal exactly where to find the file and where to put it, like this:

cp </sourcepath/sourcefile> </destinationpath>

Using our example, it looks like this:

cp /Users/ericwinkler/Test2/test.txt /Users/ericwinkler/Test3

One last cool thing: if you want to copy a file from somewhere else to the folder you’re currently in, you can use a dot . to represent your current location. So, to bring test.txt to where you are now, you’d use:

cp /Users/ericwinkler/Test2/test.txt .

The possibilities with the cp command are almost endless! Remember, if you’re copying a folder, just add -R after cp, and it works the same way.

Want to learn more tricks? Type man cp in Terminal. It’ll show you a whole list of cool things you can do with the cp command. Give it a try and see what you can discover!


And there you have it! Copying files or folders in your Mac’s Terminal can be a breeze once you get the hang of the ‘cp’ command. It’s all about telling your Mac where the file is and where you want it to go. And don’t forget that super important ‘-R’ parameter when you’re dealing with folders – it’s the secret sauce that makes sure everything inside the folder gets copied too.

I really hope this guide helps you become a pro at copying files and directories on your Mac. It’s a skill that might seem small, but it can make a big difference in how you work with your computer.

Got any questions or thoughts? I’m all ears! Whether you’re stuck, curious, or just want to share your experiences, feel free to reach out. I’d love to hear from you and help out in any way I can. Happy copying! πŸŒŸπŸ’»πŸ“‚πŸš€


What is the basic command to copy a file in Mac Terminal?

The basic command to copy a file is cp <source file name> <new file name>. This command allows you to copy a file within the same directory, potentially with a new name.

How do I copy a directory in Mac Terminal?

To copy a directory, use the command cp -R <source dir name> <new dir name>. The -R parameter is crucial as it tells the command to copy everything inside the directory, including all sub-files and folders.

Can I copy a file from one location to another with a different name?

Yes, you can copy a file to a different location and give it a new name by using the command cp <source file name> </path/newfilename>. This allows you to specify both the new location and the new name for the copied file.

What does the β€˜.’ symbol represent in the cp command?

The β€˜.’ symbol represents your current directory. If you want to copy a file from another location to your current directory, you can use cp </sourcepath/sourcefile> .. This tells the Terminal to copy the file from its source path directly to where you are currently located.

How can I view more options and parameters for the cp command?

To explore more options and parameters of the cp command, type man cp in the Terminal. This will display the manual page for the command, providing detailed information on its usage and additional features.

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *