How to create, move, and delete directories in Linux with the mkdir
, mv
, and rmdir
commands. You’ll also learn how to copy a directory recursively and how to remove a directory that is not empty.
This tuXfile teaches you how to manipulate directories in Linux. If you’d like to learn how to manipulate files, check out the Manipulating files in Linux tuXfile.
< Creating directories >
Creating a new, empty directory is very easy. You use the mkdir
command:
$ mkdir dir1
That’s it. It’s really that easy!
< Removing directories >
There are two commands you can use for removing directories. If the directory is empty, you can use rmdir
:
$ rmdir dir1
You can use rmdir
only if the directory is empty. If you want to remove a directory with all its contents, you can use rm
with the -r
option. The -r
option tells rm
to remove a directory recursively:
$ rm -r dir1
It goes without saying that you can cause a lot of trouble with rm -r
if you’re not careful! In some cases it might be a good thing to use the -i
option when deleting a directory with its contents so that you’d be prompted before each file in the directory gets deleted:
$ rm -ir dir1
< Copying and moving directories >
For copying and moving directories you can use the cp
and mv
commands just like you use them with files. Yeah, I know. If you’ve already tried to copy a directory with cp
, you’ve probably noticed that cp
just complains at you. Probably it says something like cp: omitting directory yadda yadda. You see, the cp
command wants you to use the -r
option if you want to copy a directory with its contents. The -r
means “copy recursively”:
$ cp -r dir1 dir2
The above creates a directory named dir2
whose contents will be identical to dir1
. However, if dir2
already exists, nothing will be overwritten: the directory dir1
will be copied into the dir2
directory under the name dir2/dir1
.
When renaming directories, you use the mv
command exactly the same way as with files:
$ mv dir1 dir2
When dealing with directories, mv
works a bit like cp
does. If dir2
doesn’t exist, the above will rename dir1
to dir2
, but if dir2
exists, the directory dir1
will be moved into the dir2
directory under the name dir2/dir1
.
<
>If you’ve been reading through the tutorials in the Linux command line basics section, congratulations! You now have the very basic, essential skills for using the Linux command line. However, although you can tolerate the command line at this point, you still haven’t learned the neat little tricks that actually make the Linux command line a lot better than MS-DOS.
Related tuXfiles
- Automatic file name completion
The next tutorial in the Linux command line basics series. Learn a great little trick that makes the command line a lot easier to use.