The cp command

To show you how to copy files with Linux we talked about 'cp' in the lesson on aliases. 'cp' is for copying files from one place to another, or for making a duplicate of one file under a different name.

Let's go back to Tony's 'stuff' file For example, if you saved Tony's e-mail attachment to your main /home directory, /home/[your name], you may want to create a directory to keep Tony's files You could make the directory for Tony tonyd (Tony's last name is Dweebweiler)

Type this:

Code:

mkdir tonyd

Then you can do:

Code:

cp stuff tonyd

Remember use your TAB key to save time.

Now you're going to have TWO files named 'stuff' because you copied that file to the directory 'tonyd/' - you didn't move it there. You'll have the original 'stuff' in your home directory and then the copy in /home/[your name]/tonyd/.

You'll be able to tell the difference between the two files because the copy of 'stuff' in the directory 'tonyd' will show a different time. Use the command ls -l stuff on both files to see this.

If you had used the command cp -p instead of just cp you would end up with two identical files in two different places. If you don't want that, there's a better way of doing it so that 'stuff' is only in the directory 'tonyd'. That's themv command. We'll talk about that shortly.

More uses of the 'cp' command

To show you how to copy directories and create duplicates of files. Now let's talk about two more basic uses of the cp command and some short cuts.

You can also copy entire directories to another place. As I mentioned in a previous lesson, you may want to work as two different users for two different jobs. You may be working as 'fred' and your directory 'tonyd' is in the directory /home/bob, where you work as 'bob'

As 'fred', you can use the command:

Code:

cp -r /home/bob/tonyd/ /home/fred/

If you're in your home directory you can use this command

Code:

cp -r /home/bob/tonyd/ ./

To copy the directory 'tonyd' to your home directory.

You may also use the command

Code:

cp -r /home/bob/tonyd/ ~

With the tilde wherever you happen to be and that will automatically copy the directory 'tonyd' to your other home directory.

The other use of 'cp' we talked about was to get a copy of a file with a different name. For example, Tony's file 'stuff' is loaded with jokes. You may want to add some more jokes and then pass it along to another person You could do this:

Code:

cp stuff stuff2

or choose a name that's meaningful for you other than 'stuff2'

Now you have another file that you can add jokes to while you preserve the original file. You can open it in 'pico' and start writing: \&quot;Why did the chicken cross the road...\&quot;

Always remember to use that TAB key and the up and down arrows to save yourself some time.