Linux shell or the terminal is the lifeline of developers to manage their computer systems and data. Things which can be done on the GUI can be done much efficiently on the terminal by using commands. One can not remember all the commands, but with regular usage, one will be familiar with them. The following guide will introduce you to some basic Linux Shell Commands required to use your Linux system efficiently.
Below, you can see a screenshot of the Gnome terminal application. As you can see the command prompt contains the following information:
In our case the username is root, hostname is monitor and directory is /root(~).
A terminal and a shell:
Read the articles on Wikipedia to learn about computer terminals and the shell.
The date command shows the current date and time.
Tue Jan 22 10:13:44 IST 2019
If you want to see the current date and time in UTC you can run the command as follows:
$ date -u
The cal command will display
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
$cal Feb 2019
Su Mo Tu We Th Fr Sa
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28
The whoami command:
This command will let you know the user account to which you are logged in on the
The id command:
This command returns user id, group id and groups of the current user.
uid=0(root) gid=0(root) groups=0(root)
The pwd command:
The pwd command displays absolute path of current directory.
The cd command:
This command will help you change directory on the shell. In the following example we will move to /etc/ directory.
root@monitor:~# cd /etc/
The . directory and .. directory:
. and .. has special meaning in the Linux. i.e . means current directory and .. means parent directory.
root@monitor:/etc# cd ..
This command will move us to the parent directory.
The ls command:
The ls command will display the files and directories inside the given directory. If you use the ls command without any argument, then it will return the output for the current directory. Here is the example:
bin etc key.txt lost+found opt run srv usr
boot home lib media proc sbin sys var
dev initrd.img lib64 mnt root scripts tmp vmlinuz
root@monitor:/# ls home
ansible ssbackup.log ssbackup.py-bak
ec2-automate-backup.sh ssbackup.py ubuntu
In last command, we provided a path as the argument to the ls command.
The mkdir command:
root@monitor:/home# mkdir test
ansible ssbackup.log ssbackup.py-bak ubuntu
ec2-automate-backup.sh ssbackup.py test
We can also create directories in a recursive way using -p option:
root@monitor:/home# mkdir -p dir1/dir2/dir3
ansible ec2-automate-backup.sh ssbackup.py test
dir1 ssbackup.log ssbackup.py-bak ubuntu
root@monitor:/home# ls dir1
root@monitor:/home# ls dir1 dir1/dir2/
We will learn further basic commands in Part II.