Skill Level: Beginner
Skill Level: Beginner

This short course is your first encounter to Linux and its command line interface (CLI). In five weekly units of 3 hours of work each, this short course makes the novice navigate confidently in a text terminal and have fun with it. This is a foundation course for all other courses on Linux.

Part 1 of the course covers the history of Linux starting in the mid 1960s with an early predecessor and then moves on to UNIX, then to GNU and finally to Linux. The history helps the modern student to grasp the idea of a command language by knowing where it was invented and by whom. Part 2 consists of a series of practical exercises, in which the student learns the most basic commands needed to navigate in the command line and build confidence.

This course is instructor-led. Each weekly unit consists of a 90 min live-session. The remaining 90 min are homework. The students are expected to submit their work as the course progresses. They work will be continuously graded and commented. The student needs to collect 60% of the marks to pass the course.

Rationale

Starting from the pure text based early UNIX days Linux has evolved to be a full-fledged operating system with many user interfaces (GUI) to choose from. It is a free alternative to other operating systems, the well-known ones being proprietary. It is well-suited for small as well as large organizations. Linux became the first choice for big servers and surprisingly taken over the micro and embedded computers as well. Linux is also desktop-ready for some time now, although the numbers are still low.

Experienced system administrators maintain their machines from the command prompt. They compile code, install programs, troubleshoot their operation, automate routine tasks; all in this text environment. Unix relies heavily on text, whether in the form of configuration files or as scripts. Not surprisingly Unix came with an elaborate system of pattern matching in text called 'regular expressions'. The Unix command language is also a programming language. One can write interactive programs in this language or paste other specialized programs together in scripts or pack routine tasks into scripts and schedule them to run regularly.

Graphical User Interfaces (GUI) are convenient for the end user but they don't tell you exactly what they do behind the interface. Once something unexpected happens or if you have a task for which there is no option in the GUI, you are stuck. In addition to that the text terminal doesn't require the overhead a GUI needs which is a critical factor in remote administration.

Prerequisites

The students starting this short course are recommended to have the following skills:

  • good user-level experience with any computer system
  • a basic knowledge in programming in a procedural language like C, Python or Java

Objectives

After completing this course, students will be able to:

  • distinguish UNIX from Linux
  • explain the features and advantages of Linux
  • navigate in the file hierarchy in Linux
  • create and maintain directories and files using commands
  • interrogate key parameters of the operating system environment
  • edit text files using a Unix text editor
  • communicate with other users in the same system using command tools

License

Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) by Visvanath Ratnaweera on ED-MATRIX. The quoted materials have their individual licenses.

Course Duration in Hours: 12
Skill Level: Beginner
Skill Level: Beginner
Skill Level: Beginner
Skill Level: Beginner