Duration
Introduction to Linux: Command Line Power
2 days
Overview
Linux is increasingly the operating system of choice from multiserver farms right down to embedded systems. The majority of Linux-based systems are now powering non-PC based hardware such routers, tablets and mobile phones, whereby fine control of the system is not always feasible through the graphical user interface.
This course is for those who are about, or just starting, to explore the Linux operating system. The focus of the course is biased towards the command-line interface, with occasional cross references to the graphical user interface (GUI) equivalent process.
What You Will Learn
This course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:
- Install Linux and have a general idea of the major Linux variants
- Navigate and customize the graphical environment
- Understand the filesystem, processes and networking features such as remote login, secure shell and file transfer
- Process text files with vi and Emacs
- Use the command line interface (CLI) to perform filesystem navigation, process control, networking, archiving and customization operations
Who Should Attend
This course is suited for anyone new to Linux, and in particular those who are going to work with Linux in a GUI-less environment, such as embedded Linux devices.
Prerequisites
Participants should be Windows and/or Mac OS users.
Course Methodology
This course is presented in a workshop style with lectures interlaced with demonstrations and hands-on practical. Participants would be performing tasks together with the instructors for maximum understanding.
Introduction
- History of Linux
- Comparison of Linux-based OS (SuSE, Redhat, Debian, and variants like Mac OS, Android)
- Installing Linux (CD, pendrive)
Interface
- Overview of desktop environments (GNOME, KDE Plasma, Unity)
- Windows Luna/Aero vs GNOME
- The command line interface (sh, bash, csh, ksh, clear)
Getting help
- Manual pages (man)
- Hands-on practical: Getting Help
Configuration and the Environment
- User (who, su, sudo, exit)
- Environmental variables
- Sleep, shutdown and reboot (sleep, shutdown)
- Date and time (date, time)
- Hands-on practical: System Configuration
Filesystem
- Organisation of directories and files (system/user directories)
- Navigating the filesystem (pwd, cd, ls)
- Exploring the filesystem (ls, file, less, more, tail, cat)
- Ownership and permission (chmod, chown)
- Manipulating files and directories (cp, mv, mkdir, rm)
- Links (symbolic, absolute, ln)
- Searching and comparing files (find, grep, cmp, diff)
- Hands-on practical: Filesystem Access and Control
Input/Output
- Streams (stdin, stdout, stderr, echo)
- I/O redirection
- Pipes
Programs and processes
- Foreground and background processing (fg, bg &)
- Control (top, ps, kill, at)
Networking
- Remote login (rlogin, ssh, ppp)
- Configuration (ifconfig, netstat)
- File transfer (ftp, scp)
- Hands-on practical: Networking
Common tasks and essential tools
- Package management (rpm, apt-get)
- Removable media (device structure, mount, umount)
- Archiving and backup (tar, gzip, zip)
- Hands-on practical: Package Management
- Text processing (vi, emacs)
- Hands-on practical: Text Processing
Programme scope, delivery arrangements and suitability are confirmed during enquiry.