Linux-Ubuntu/C2/The-Linux-Environment/English
Title of the Script: The Linux Environment.
Author: EduPyramids
Keywords: Environment variables, local variables, PATH,HOME, profile, history, alias, edupyramids, video tutorial.
| Visual Cue | Narration |
| Slide 1
Title Slide |
Welcome to this spoken tutorial on The Linux Environment. |
| Slide 2
Learning Objectives |
In this tutorial, we will learn about:
|
| Slide 3
System Requirements |
To record this tutorial, I am using,
|
| Slide 4
Pre-requisites |
To follow this tutorial,
Learners should have Ubuntu version 24 point 04 For the prerequisite of Linux tutorials please visit this website. |
| Slide 5
Code Files The following code file is required to practice this tutorial. le-commands.txt This file is provided in the Code Files link of this tutorial page. |
The following code file is required to practice this tutorial.
This file is provided in the Code Files link of this tutorial page. |
| Slide 6
Linux Environment env-image.png |
* The Linux environment controls how the operating system behaves.
|
| Slide 7
Shell Variables image |
The behaviour of the shell is controlled by shell variables
Shell variables influence how commands execute and display results There are two main types of shell variables:
|
| Slide 8
Environment Variables |
|
| Slide 9
Local Variables |
|
| This tutorial will mainly focus on environment variables.
We will begin by exploring how to display the values of these variables. | |
| Press Ctrl, alt and T keys together.
Type set | more press enter |
Let us open the terminal.
To see all the variables available in the current shell, we use the set command. Type: set space vertical bar space more and press Enter. |
| Point to the output. | We can see all the current shell variables, |
| Press Enter and locate the HOME environment. | For example, Take a look at the HOME environment variable and notice the value assigned to it. |
| Press Enter
Press q |
Press Enter to move through the list.
Press q to come out. |
| Highlight set | more | Here, the output of the set command is piped to more.
This allows the list of variables to be displayed in a systematic, multi-page format. |
| To see only the environment variables, we will run the e n v command. | |
| Type
env | more and press Enter |
Type e n v space vertical bar space more and press Enter |
| Highlight SHELL=/bin/bash | Notice the SHELL variable whose value is slash bin slash bash. |
| Press q to exit the list | Again, you may press q to come out of the list. |
| Type clear and press Enter. | Let’s clear the screen. |
| Now let us discuss some important environment variables in linux. | |
| We will use the bash shell for all our demonstrations. | |
| Different shells are customized in slightly different ways. | |
| Add $ before name | To see a variable’s value, add a dollar sign before its name. |
| The first environment variable that we will see is the SHELL variable.
It stores the name of the current shell. | |
| Type: echo $SHELL
Press Enter |
Type echo space dollar SHELL in capital and press Enter.
The value of the SHELL variable is as shown. |
| Highlight /bin/bash | Here slash bin slash bash is the shell where we are currently operating. |
| The next variable is HOME. | |
| When we log in to Linux, we are placed in a directory named after our username.
This directory is called the home directory, and its path is stored in the HOME variable. | |
| Type at the command prompt
echo $HOME and press Enter |
To see the value, type echo space dollar HOME in capital and press Enter
We see the output as slash home slash spoken |
| The Path Variable | The next environment variable is the PATH. |
| The PATH variable contains the absolute paths of the directories.
The shell searches them to find executable commands. | |
| Type: echo $PATH
press Enter Highlight the directories. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin (This path might differ so while recording please copy the path and paste it here in the script.) |
Let us now see the value of the PATH variable.
type echo space dollar PATH in capital letters and press Enter. The output shows the directories present on the system. This list may vary slightly from one system to another. |
| Point to the colon (:). | It is a list of directories separated by a colon (:).
The shell searches these directories in order to find an executable command. |
| We can configure the shell to look for commands in our own directory. | |
| Type PATH=$PATH:/home/spoken Highlight spoken from above command
and press Enter. |
Type this command and press Enter.
Users can type their home directory's name. Now, any executable scripts you place in slash home slash spoken can be run without typing the full path. |
| Type echo $PATH and press Enter. | Now, let’s echo the value of PATH.
To see its current contents, type echo space dollar PATH in capital and press Enter. |
| Highlight to the added directory | Our added directory will also be a part of the PATH variable. |
| select and hover over the change in value of path variable | The directory is now available here.
Note that this change is temporary and applies only to this terminal session. |
| Type clear | let us clear the terminal. |
| Another interesting variable is the LOG NAME.
It stores the username of the currently active user. | |
| Type echo $LOGNAME
press Enter Highlight spoken |
In order to see the value type echo space dollar LOG NAME
and press Enter. Observe that, in the output spoken is displayed. |
| Type PS1="@"
and press Enter. Highlight the @ sign. |
Now, let us change the shell prompt.
Type the following command and press Enter. After pressing Enter, the terminal prompt will change to the at the rate symbol. This is the primary prompt string represented by the environment variable P S 1 . |
| Press Enter a few times to highlight the change displaying @ | Press Enter a few times to see the at the rate prompt. |
| Type bash
and press Enter Highlight the prompt |
To get back to the original prompt type
bash and press Enter. |
| Type echo $PS2 and press Enter.
Highlight greater than prompt |
To see the secondary command prompt, type echo space dollar P S 2 in capital.
and press Enter. Greater than sign is the secondary prompt string represented by the environment variable P S 2. The greater than sign is seen only once and the original prompt appears. |
| Now let’s try something more interesting.
Let’s display our username as the shell prompt. | |
| Type at the command prompt
PS1=$LOGNAME press Enter Highlight the new prompt |
Type P S 1 in capital equals dollar LOGNAME and press Enter.
We can see the username spoken is visible as my prompt. |
| Type: PS1="$"
and press Enter |
To just show a dollar prompt type,
Type this command and press Enter. |
| We have assigned values of several environment variables. | |
| Click the + icon on the top left corner.
These changes apply only to the current session. |
Open a new tab.
Observe that these changes apply only to the current session. That is why a new tab shows the original prompt. Let us close the new terminal tab. |
| Type bash
and press Enter Highlight the prompt |
To get back to the original prompt type
bash and press Enter. |
| Type: echo $PATH
Press Enter. |
For example, we just added our directory to the PATH variable. |
| Press + to open new terminal tab.
type echo $PATH and press Enter Highlight the output |
Open a new terminal tab and type echo DOLLAR PATH and press Enter.
The same path variable will not be seen. let us go back to the previous terminal. |
| Press up direction key | Press the Up arrow key to see the last command we used. |
| Keep pressing it to move through earlier commands. | |
| Press down direction key | Press the Down arrow key to move forward again. |
| Type at the command prompt
history and press Enter. |
However, scrolling through many commands may be clumsy and tedious.
A better way is to use the history command. Type history and press Enter to see a list of previously executed commands. |
| Type at the command prompt
history 10 and press Enter |
If you want to see only the last ten commands instead of the full list,
type history space 10 and press Enter |
| Point to the assigned numbers. | Notice, in this list, there is a number assigned to each of the previously executed commands. |
| Type at the command prompt
!1348 press Enter. Highlight the output numbers |
To repeat a command, type an exclamation mark followed by its number.
For example 1348 in my case would execute echo space dollar path. Please note the number may not be the same for you. Type the number that is seen on your terminal and press Enter to execute the command. |
| Type !! Press Enter. | To execute the last command, type exclamation mark twice and press Enter. |
| Type clear and press Enter. | let me clear the terminal |
| Tilde character Substitution type cd ~ press Enter. | Next, we will learn about tilde substitution.
The tildecharacter is a shortcut for the home directory. type c d space tilde press Enter. |
| Type mkdir testtree and press Enter
Type cd ~/testtree, Press Enter. Type: pwd, Press Enter. |
Let us create a directory named testtree in the home directory.
Type: m k d i r space test tree and press Enter. Now type cd space tilde slash test tree, press Enter. Type p w d, press Enter to see the directory path. |
| (Before the video create such a long directory hierarchy) | The alias command in Linux is used to create shortcuts for longer commands. |
| Type
mkdir songs and press Enter cd songs and press Enter mkdir music and press Enter cd music and press Enter Type pwd highlight the long path: /home/spoken/testtree/songs/music |
Let us create a few directories to show a long path in the test tree directory.
Type m k d i r space songs and press Enter to make the directory. Type c d space songs and press Enter to go to the songs directory. Now type m k d i r space music to create the music directory. Type c d space music and press Enter to go the music directory. Let us clear the screen. Now type p w d to see the directory path. This shows that we are now in the music directory. |
| Type alias music='cd /home/spoken/testtree/songs/music' press Enter
type cd and press Enter |
Now type the alias command and press Enter.
Let us now go to the home directory. Type c d and press Enter. |
| Type: music press Enter.
Run pwd to illustrate the effect of the previous command |
To switch to the music directory, type music and press Enter.
You can see that we are now in the music directory. |
| Type at the command prompt
cd - |
Now, type c d space hyphen to go back to the previous working directory. |
| Type unalias music
press enter Type cd and press Enter |
To remove this alias, type unalias space music
and press Enter. Type c d and press Enter to go to the home directory. |
| Type music
press Enter Highlight the error |
Now again type music and press Enter.
We get an error stating that the command was not found. |
| Type: cd /home/spoken/testtree/songs/music
press Enter |
Let's go back to the music directory. |
| run touch test1 test2
run ls Highlight test1 and test2. |
To create test 1 and test 2 files in the current directory, type touch test 1 test 2 and Press Enter.
Command touch is used to create files in the current directory. Then run l s. This reflects the change on screen. |
| Type alias rm="rm -i" alias space rm equal to within double quotes rm space hyphen i.
press Enter |
The hyphen i option of the r m command makes deletion interactive.
So, we can create an alias for the r m command. Type this command and press Enter. |
| Type rm test1
Press Enter |
When we run r m test 1, the file is deleted without showing any output. |
| The system asks to remove regular empty file test 1.Type y and press Enter to confirm deletion.
Now, if we run r m test 1 and press Enter. The file is no longer present and as it is already deleted. | |
| Slide 10
Summary In this tutorial, we have learnt about:
|
With this we come to the end of this tutorial.
Let us summarise. |
| Slide 11
Assignment As an assignment
|
As an assignment, please do the following. |
| Slide 12
Thank you |
This Spoken Tutorial is brought to you by EduPyramids Educational Services Private Limited, SINE IIT Bombay.
Thank you. |