Introduction to Linux assignment



TUTORIAL #1: Introduction to Linux


● Learn the fundamentals of Linux

● Gain a better understanding of the terminal

● Simple programming using the shell (bash)

Important Notes

● Work in groups of three​ students

● All reports must be submitted as a PDF on blackboard, if source code is included

submit everything as an archive (e.g. zip, tar.gz)

● Save the file as <tutorial_name>_<first student’s id>.pdf (e.g.


● If you cannot submit the document on Blackboard then please contact the TA

(Jonathan Gillett) with your submission on slack at

or send him an email via​.

Conceptual Questions

1. Write a brief summary of Linux and why you believe it has become so popular in

the years since it's inception. Provide some examples where the Linux operating

system has been used.

2. What does it mean for software to be considered "Free" or Open Source, why is

this significant?

3. What are the benefits of Open Source software, what are the drawbacks?

4. Name an open source license.

5. Name the three standard streams, their numeric value, and the purpose.

Application Questions

If you do not have Linux configured on your system you can use the following online

terminal, you are able to write scripts by using the option “File → Create File” to open an

editor that you can use to create the script.

1. Write the terminal commands to do the following

- create a directory named tutorials

- create an empty file called tutorial1

- copy the file as a new file called tutorial_1

- delete the old file, tutorial1

2. Write the terminal commands to change to the home directory and create a

symbolic link named tutorial_1 to the file ~/work/tutorials/tutorial_1

3. Write the terminal commands to search recursively ​for the word “stdin” in all of

the files within the tutorials directory (~/work/tutorials/)

4. Write the terminal command to search for all files starting with “tutorial” (hint you

will need to look up bash wildcards) and redirect all of the errors (error stream) to

a file name “errors.log”.

5. Terminal commands can be written as scripts for later reuse, use the following

example as a starting point ​to create your own script that does the following.

- Accepts the first argument (this is $ARG1 in the template) and checks if it

is equal to “loop” and if so prints (hint use echo) the word “loop”

- Loops 5 times and each time it concatenates ​the current index (1 to 5) to

the file count.log

- Saves the list of processes (hint use ps) to a file named processes.log

You will need to consult online sources, the following are very helpful.



for i in {1..5}


echo $ARG1


To run this example script, open a new file in an editor (e.g. gedit, sublime text, vim,

etc.) and paste the example in and save the file as​, then in your terminal

navigate to the directory/location where you saved the file and execute the following

commands to make the file executable (so you can run it) and to run the file with an

argument, which it will then print out 5 times.

cd <directory where file is saved>

chmod +x

./ hello

Related Questions in business category