| Red Hat Docs > Red Hat Manuals > Archived Red Hat Linux Manuals > |
Copying, Moving and Renaming Files and DirectoriesBy now, you've learned a little about the structure of the filesystem; and you've learned how to create files and directories. But just because you know how to create files and directories doesn't mean that you're stuck with the changes you've made. What if you want to rename and/or move files and directories? Let's start with the copy command. Copying FilesLike so many Linux features, you have a variety of options from which to choose when you want to manipulate files and directories. You can also use wildcards when you're copying, moving, or deleting files and directories. Basically, the copy command is not much more complex than typing:
so to copy the file sneakers.txt to the directory tigger in your login directory, just type:
Notice that you also used relative pathnames to copy the file. You can use both relative and absolute pathnames with cp . Our login directory is the parent of the directory tigger ; meaning that tigger is one directory down from ours. Read the cp man page ( man cp ) for a full list of the options available with cp . But among the options you can use with cp are:
Just by using cp alone, you won't see much when the command is executed. Using an option, such as -i , can make the process a little more useful, because if you want to copy a file to a location that already has a file with the same name, you'll be asked first if you really want to overwrite -- meaning replace -- the file that's already there.
Now that we have the file sneakers.txt in the tigger directory, let's use cp -i to copy the file again to the same location.
To overwrite the file that's already there, press Y and then Enter . Don't want to overwrite the file? Now's the time to press N and Enter . Moving FilesTo move files, use the mv command ( man mv ), which is similar to the cp command, except that with mv the file is physically moved from one place to another, instead of being duplicated, as with cp . Common options available with mv include:
If you want to move a file out of your home directory and into another directory, you would type:
or, mv sneakers.txt /home/billy /home/billy/tigger using absolute pathnames. Renaming FilesActually, we've already covered half of renaming, because when you copy or move files, you can also rename. To copy the file sneakers.txt from our login directory to our tigger subdirectory, just type:
To copy and rename that file from sneakers.txt to piglet.txt , type:
To move and rename the file, just substitute mv for cp in the above example. If you cd to tigger and use ls , you'll see the file piglet.txt . If you just want to rename the file and keep its location, just mv in your current directory:
Deleting Files and DirectoriesWe talked about creating files with the touch command and by using redirection in Chapter 3 . And we created the directory tigger using mkdir . But we haven't discussed how to delete files and directories. Deleting files and directories with the rm command ( man rm ) is a straightforward process. Let's take our new file piglet.txt , and delete it from the tigger directory with the rm command:
What happens if we didn't really want to get rid of it? Too late! Again, that's where the -i (interactive) option comes in handy, because it gives a second chance to think about whether we really want to toss the file.
You can also delete files using the wildcard * , but be careful, because you can easily delete files you didn't intend to throw away. To remove a file using a wildcard, you would type:
You can also remove more than one file in one command, as in:
Options for removing files -- and directories -- include:
To remove directories with rm , you must specify the -r option. For example, if you want to recursively remove the directory tigger you would type:
And if you want to combine options, such as forcing a recursive deletion, you can type:
A safer alternative to using rm for removing directories is the rmdir command. With this command, you won't be allowed to use recursive deletions, so a directory which has files in it won't be deleted. Read the rmdir man page by typing man rmdir to find out more about the command. |
|||||||||||||||||||||