LiveFire Labs' UNIX and Linux Operating System Fundamentals course begins with a brief history and overview of both UNIX and Linux, and then proceeds to teach you the skills required for working on a server running either operating system.
Hands-on lab exercises are used to reinforce key concepts, and are completed by logging in on a real server in our Internet Lab from your work or home computer.
- A Brief History of the UNIX and Linux Operating Systems
- Operating System Concepts
- Getting Connected, Logging In, and Logging Out
- Operating System Commands
- Working with Directories
- Working with Files
- I/O Redirection, Pipes, and Filters
- Getting Help
- Processes and Jobs
- The Shell - A Closer Look
- Introduction to the vi Text Editor
- Introduction to Shell Scripting/Programming
- Tools and Utilities
- Interacting with Other Users
Understanding the origin and evolution of a particular technology often helps when learning how to use it. Like many new technologies, the development of these two operating systems did not start as a conscious effort to develop a commercial product. This makes their current level of popularity and utilization even more remarkable.
- The UNIX Operating System
- The Linux Operating System
Most operating systems have certain traits that differentiate them from
each other. The UNIX and Linux operating systems are no exceptions to this
fact. Having a general understanding of a few of the design traits for
these operating systems will assist you in using them more effectively.
- The UNIX and Linux operating system environment
- The File system
- The superuser (root) account
Before using a computer system, you need to connect and in most cases be
authenticated as a valid system user. Methods for connecting and being
authenticated are dependent on the task to be performed. For this course,
all interaction between you and the lab system will be interactive and
will require you to be authenticated prior to using the system.
- Using SSH to connect
- Username and password
- The login and password prompts
- Password considerations
- Remember to logout
A computer's operating system is a layer of software that bridges the gap
between a computer 's user and the computer's hardware. The user instructs
the operating system of what he or she would like to do at a high-level,
and then the operating system will attempt to complete the task at a
low-level. To effectively instruct an operating system of what you would
like it to do, you need to become intimately familiar with the commands
that are understood by the operating system and how to use these commands
- Command options and arguments
- Case sensitivity
- Some useful commands
- Running multiple commands on a single line
- The recursive command option
- Command history
- Command aliases
- Locating commands
A directory is a container used for storing and tracking the location of
files and other directories on systems running the UNIX or Linux operating
system. If you are familiar with windows-based PC (personal computer)
operating systems, a directory serves the same purpose as a folder.
Directories are useful for organizing your files based on what the files are used for. You may have all of your executable program files in one directory, files for a specific project in another, and graphical images in another.
- Your home directory
- Your working (current) directory
- Special characters
- Changing directories
- Creating a directory
- Removing (deleting) a directory
It is fairly safe to say that everything in the UNIX or Linux operating
system is a file or is represented by a file. Because of this, you will
need to understand the different types of files found on a system, and how
to work with each type.
- File types
- Listing files located outside of your home directory
- Special characters (metacharacters)
- Hidden files
- Copying a file
- Moving/renaming a file
- Remove (delete) a file
- Displaying a file's contents
- Comparing the contents of two files
- Creating hard and symbolic links
- Finding files
- Counting characters, words and lines
- File access mode (permissions)
- Modifying a file's access mode
- File owners and groups
This module will discuss various methods for manipulating data and
controlling the flow of data. The data flow paths discussed is the path to
and from files, and the path between operating system commands.
- Standard file descriptors
- I/O Redirection - redirection of standard output
- I/O Redirection - redirection of standard input
- I/O Redirection - redirection of standard error
- The pipe mechanism
- Filters - cut
- Filters - paste
- Filters - sort
- Filters - grep
- Filters - awk
- Filters - tee
If you need help while working on a system running the UNIX or Linux
operating system, there is detailed information available on the system to
assist you if you have no books or manuals close by.
- System manual (man pages)
- The whatis command
Since the UNIX and Linux operating systems are multiuser and multitasking
operating systems, there are a large number of system activities for the
operating system to continuously track and manage. Processes are used by
the operating system to effectively and efficiently handle this seemingly
Because of the multitasking capabilities of these operating systems, each user also needs a method for tracking and managing the simultaneous tasks he or she is working on. Jobs and job control provide this method for the user.
- What is a process?
- Process monitoring and management - The ps command
- The kill command
- Process priorities
- Jobs and job control
By now you should have a basic understanding of what the shell is and
what purpose it serves. A deeper understanding of shells is needed to
effectively work with the UNIX or Linux operating system.
- Login and shell initialization files
- Related commands
- What shell am I using?
- Running a different shell
Regardless of what you use a UNIX or Linux system for, you will sooner or
later want or need to create a new text file, or edit the text in an
existing file. In order to accomplish this task you will need to know how
to use a text editor. This module will teach you the basics of using the
vi (visual) text editor.
The vi editor was selected for this course because it is available on most systems running the UNIX or Linux operating system (it's also commonly found on computers running other operating systems), it is widely used by UNIX and Linux users, and it is perfect for editing files over remote or low-speed connections. Since vi has a large number of features to support its extensive functionality, this module is designed to introduce you to the basics so that you can start using it immediately.
- Entering vi
- Exiting (quitting) vi
- Saving your work without exiting
- Switching to input mode to add text
- Diagram of vi editor modes
- Cursor movement
A shell program, or script, in its simplest form is a collection of UNIX
or Linux operating system commands that are executed as a group. Looking
at a shell script from a more advanced perspective, it is a complete
program written using a shell's programming language.
Shell scripts are used for executing frequently performed tasks, controlling operating system startup and shutdown, handling system administration duties, and for installing and configuring software products. This brief list shows how a shell script can be used for accomplishing many diverse activities.
Another advantage of a shell script is its portability. A shell script written on a particular version of the UNIX or Linux operating system can often be copied to and ran on other versions of these operating systems.
- Creating a shell script
- Accessing data from a shell script
- Test command
- Conditional/flow control statements
- Loop structures
- Checking return codes
There are many tools and utilities available with the UNIX or Linux
operating system that are used for completing a variety of tasks. This
module will introduce you to a few of the more commonly used ones.
- The tar utility
- The gzip utility
- FTP (File Transfer Protocol)
- Ping (Packet Internet Groper)
Sometimes you will need or want to know who else is logged in on the
system you are on, and you may also need to communicate with the other
users. There are multiple utilities for identifying who else is on the
system, and additional utilities for communicating with them. This module
will introduce you to these frequently used utilities.
There are no prerequisites for this course other than the desire and dedication to learn the basics of the UNIX and Linux operating systems, to include UNIX shell scripting.
You will have access to the online course content and Internet Lab system for 8 weeks (24/7). This initial access period can be extended (with NO additional fee) if you need more time to complete the course.
Course / Lab Support
Your "Getting Started" email will contain the name and email address of your assigned LiveFire Labs training specialist, who will check in with you shortly after you start the course to find out how things are going and to see if you have any questions. You can also email your training specialist, who is an experienced UNIX technologist, whenever you have questions about the course material or hands-on lab exercises.
Follow the registration steps below if you are ready to start learning the fundamentals of UNIX/Linux, or contact us with any questions you may have. You can optionally check our FAQ for answers to common questions or view our Testimonials page to read what previous students think about our online courses and Internet Lab.