What you will learn in this course

  • Linux commands to manage
    • Files and Directories, permissions
    • Users and group
    • Memory and Processes
    • Software Package management
    • Archiving
  • Piping and Redirection for advanced operations
  • Vi editor to manage file editing
  • Advanced utilities like grep and shell

Why you learn commands

You might have this question why to learn commands if you can manage everything using the graphical interface.

Following are some of the reasions why you must consider learning command line

  • Commands you give you better control over the system than just the GUI which is always limited

  • Command line is direct interface with the Linux system faster than GUI mode

  • You can automate repeated tasks, for example, converting image files to specific sizes or deleting temporary files from computer etc.

Ruslan Osipov in his blog titled Power of Command Line gives very nice example.

Using graphical interface to back up files you will follows steps as given below

1
2
3
4
5
6
7
8
Right click file.
Left click on “Copy”.
Right click on some empty space.
Left click on “Paste”.
Right click on a newly created copy.
Left click on “Rename”.
Switch to a keyboard.
Type file.bak.

If you do the same opration on command line then you have to just run following command

1
$ cp file{,.bak}

He has also given the the comparision table as follows

FactorCLIGUI
Ability to combine/chain toolsYesNo
Easy to learnNoYes
Efficient for a novice userNoYes
Efficient for an experienced userYesNo
Good for occasional useNoYes
Good for repetitive tasksYesNo
Presents visual information wellNoYes

Linux Distributions

You can install Linux on Virtual box or you can do the dual boot or single boot.

Before you decide to install Linux you need to know about the Linux distributions.

  • Linux distributons are nothing but flavers of the Linux
  • Distributions manage the outer layers of applications and packagment in the Operating System
  • You can choose any Linux distribution, usually the goals of these distros are usability, buid your own OS, stability, cutting edge softwares, low memory consumptions etc.

For this course we assume you have access to the Ubuntu 20.04 linux distribution

Brief History of UNIX

Following are the important facts from the history of the Unix

  • Started way back in 1960s at MIT, AT&T , GE and Bell Lab Early deveopers were Ken Thompson, Dennis Ritchie and others

  • Initially it was MULTICS but later on it was renamed to UNIX Licensed as Proprietary Written in C and Assembly language

  • Many companies had developed their own version of UNIX

  • To make Unix available freely Richard Stallman developed GNU project and built many utlities which are similar like Unix

  • Linus Torvals in 1991 worked on independant project and it was then called as Linux, it used GNU tools and was made availabe for free.

  • Linux and Unix are similar oprating system but not the same.

Free and Open Source Software

Linux OS is Free and Open Source which means that as per the defination by Richard Stallan we software must satisfy following four conditions

  • The freedom to run the program as you wish, for any purpose.
  • The freedom to study how the program works and change it so that it does your computing as you wish.
  • The freedom to redistribute copies so you can help others.
  • The freedom to distribute copies of your modified versions to others – giving the whole community a chance to benefit from your changes.

To help to choose the Linux distribution you can visit the https://distrochooser.de/.

More on History of Linux and Unix

Read about the FOSS and Open Source sotware

Linux Kernal and their documentation

Other Relavant Resources

Self Evaluation

  • What is the difference between Unix and Linux ?

  • What is the licence of the Linux ?

  • Why some people call it GNU/Linux ?

  • Explain the how the Kernel development is coordinated ?

  • Explain the history of microsoft in context with Linux ?

  • Discuss about FOSS and Open Source philosophy.

  • What are the functions of different layers in unix architecture

  • Explain different types of shells and their features

  • Install any Linux flaver using mannual partition mode on virtualbox or on you laptop and write down the process of installation

  • Explain the usage of partitions used in the Unix/Linux installation

  • Compare the Linux/Windows/MAC Os and Android Operating System