In addition to knowing how to navigate the Linux operating system, file management is another thing you’ll do a lot when using Linux locally or while managing cloud servers.
For this lesson we’ll do everything in the home directory of the logged-in user. To get started make sure you are in the home directory by typing
When you have the terminal filed with the output of previous commands, you can type
clearto remove these from the terminal display.
mkdir first to create a directory named first. Then type
ls to view the contents of the current directory. You should be able to see the new directory you created name first. You can also use
ls -l to view extra information about files and directories.
One of the things that make Linux cool and fun is how much control it gives you as a user. For example, instead of typing
mkdir first and then typing
ls, Linux allows you execute these two commands and more at the same time. Let’s create another directory named second inside the first directory, move into the newly created directory and view its contents all in one command. While still in the home directory, type
mkdir first/second && cd first/second && ls
While still in the second directory, type
touch one to create a new file named one. You can also use
ls to view the contents of the second directory.
Just as with everything else in Linux, there are several ways to achieve the same thing. nano is one of the numerous file editors and we’ll be using it to edit the content of the newly create file named one.
nano one to open the file for editing in nano . You should have a screen similar to the one below.
With the nano editor open type “Hello world!”. You should have a screen similar to the one below.
ctrl + o to write the file (you may have to press enter to confirm), then type
ctrl + x to close the file. On Mac use control in place of ctrl .
Let’s copy one from the second directory (which we are currently in) to the first directory which is a level above.
cp is used to copy files in Linux. It requires 2 arguments, the source file path and the destination file path. To copy one from the second directory to the first directory type
cp one ..
.. in the command above specifies the directory that is a level above as the destination path. In this case the directory a level above is named first.
Move into the directory we just copied the file into by typing
cd .. . Once you’ve done that you should be in the directory named first. View the contents of the first directory by typing
Do you notice that since second is a directory it has a
d in the extra details section while one which is a regular file doesn’t.
While in the first directory, create a new file named two using the following command
touch two then view the contents of first with
Let’s move the two file into the second directory using the following command
mv two second . The
mv command takes 2 arguments, the source and the destination paths. Since both the source and the destination are within the same directory we are using a relative path by simply specifying their names.
Let’s view the contents of the second directory by typing
ls second . You’ll see that second now contains both files one and two. Type
ls (while still in the first directory) and you’ll see that the first directory no longer contains the file named two.
To rename a file we use the
mv command but instead of specifying the destination path as the second argument, we simply provide the name we want to rename the file to. While in the first directory type
mv one three . After that type
ls to view the contents of first. You’ll see that file named one is now named three.
To delete a file the
rm command is used. Please note that you will note be asked to confirm deletion of the file so be careful not to delete the wrong files. While in the first directory type
rm three to delete the file named three. View the contents of the directory to confirm the file has been deleted.
Copying a Directory
Copying directories is similar to how regular files are copied using the cp command. The only difference when copying directories is the inclusion of the
-r option which stands for recursive and that simply means include all directory content while copying to a new location. In the first
directory type cp -r second third . This command copies the second directory including all of its content to a new directory named third (if the directory doesn’t exist it creates it). To confirm the copy command type
ls third and you’ll notice that the new directory named third has the same content as second.
Moving a Directory
mv second third to move the second directory into the third directory. When you check the contents of the first directory you’ll see that it only contains third. Viewing the contents of third using
ls third shows that third now contains the directory second.
Renaming a Directory
Let’s move into the third directory using
cd third . Once in there, let’s rename the second directory to fourth using
mv second fourth then check the contents of third using
ls . You’ll notice that the directory named second has been renamed to fourth.
To delete a directory the
rm command is used. While in the third directory type
rm -r fourth to delete the fourth directory. Please note that Linux does not confirm deletion of files and directories.
File management is a critical part of using any operating system and this is no different for Linux. Whether you are makings of your local system or a connecting to and managing a remote server, file management commands will make up a lot of the commands you’ll be using.
The next lesson in this course is Summary: Working With Linux.