The first in our student FAQ’s series; a number of students have asked for more information on navigating in the terminal. All students use the terminal for various tasks during the course, from installation scripts to docker commands. But what about the basics?
pwd – Print Working Directory
One of the most simple commands:
pwd, prints the current directory’s path. This can be incredibly useful when you open a terminal to give you your starting point.
mkdir – Make Directory
Creating a folder or directory on the Desktop is a simple as right-clicking and selecting ‘create a new folder’. In the terminal, it is even easier! With the command:
mkdir you can create a new directory. In the example below, we follow the
mkdir command with the text
newFolder to create a new directory on the Desktop called newFolder.
As you can see above there is no print out to show the directory has been created. So how can we check?
ls – List
ls command lists all files and folders within the current directory. (We can of course check our current directory using our
pwd command.) The list will appear in our terminal as demonstrated in the image below.
As you can see we only have one folder in the Desktop directory, which we created with our
mkdir command. So how can we access our new directory?
cd – Change Directory
Moving from a parent directory into a child is usually as simple as ‘double-clicking’ on the folder. We can do this in the terminal by using
cd and following it with the name of the child folder we want to access. In this case, we access the newFolder by using the command
You can now see in the terminal that the folder we are in has changed from Desktop to newFolder. We can also use
cd .. to move back into the parent folder of our current directory.
Tip: You can use the tab key to autocomplete names in the directory. For example we could have typed
cd newF and then used the tab key to autocomplete. This can be a useful tool when folders have long names or have complicated syntax.
touch – Create a file
The simplest way to create a file in the terminal is by using the
touch command. Similar to the
mkdir command it needs to be followed by a file name and file type suffix, for example:
Again, no printout is shown in the terminal so to check our
touch command has been successful, we can use our
We can now see that in our Desktop folder we have our newFolder directory and our index.html file. However, we have made a mistake! Our index.html file should be inside our newFolder. We can’t ‘drag and drop’ in the terminal so how would we move it?
mv – Move File/Folder
mv command we can move files and folders to different locations. In this case, we use
mv index.html newFolder. We follow the
mv with the name of the file or folder we wish to move, then succeed that with the destination folder.
You can see now that index.html resides within our newFolder. All we need now is a few extra files in our newFolder. Can we speed it up?
&& – And
We can chain together multiple commands. For example, we could say change directory to newFolder and create a new file inside it called styles.css.
cd newFolder && touch styles.css.
We can see we were able to create two new files in one command usig
&&. We then used
ls to check this.
We have covered some basic terminal commands to navigate around our folders, create new ones and move them around. Although this is sometimes easier to do in a graphical user interface (GUI) it is always good to be able to use the terminal, as our students know it is the best way to manage our containers in docker!