Skip to main content

A Brief History of the UNIX and Linux Operating Systems

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
Operating System Concepts
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
Getting Connected, Logging in, and Logging out
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
Operating System Commands
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 correctly.
- 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
Working with Directories
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
Working with Files
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
I/O Redirection, Pipes, and Filters
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
Getting Help
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
Processes and Jobs
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 complicated task.

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
The Shell - A Closer Look
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.
- Variables
- Login and shell initialization files
- Related commands
- What shell am I using?
- Running a different shell
Introduction to the vi Text Editor
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
Introduction to Shell Scripting/Programming
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
Tools and Utilities
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)
Interacting with Other Users
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.

Comments

Popular posts from this blog

Files creation

In LINUX files can be created by using any of the three methods given below:        1.  Cat command (cat - CONCATENATION)        2. Touch command        3. Vi editor 1. cat command: cat stands for CONCATENATE. This is the basic command when we start learning LINUX/UNIX, as the name suggest it is used to create new file, concatenate files and display the content of the files on the standard output.     Different examples of cat command which will be useful for the beginners. 1. Creating new file 2. View the contents of the file 3. View the contents of  multiple files 4. Display the output of a file using page wise 5. cat command without filename arguments 6. Display the content of a file with line numbers 7. Copy the contents of a one file to another file 8. Appending the contents of one file to another file 9. Redirecting the output of multiple files into a single file. 10. Getting input using standard input operator 11. Storing the output of multiple files into

grep Word Count Command

How do I count words using grep command under Linux / Unix like operating systems? You can pass the -c option to grep command to suppress normal output and display a count of matching lines for each input file. The syntax is follows: grep -c "string" file In this example, search for a word called ‘var’ and display a count of matching lines: grep -c 'var' /etc/passwd You can pass the -v option to count non-matching lines: grep -v 'var' /etc/passwd However, this will not count words. To count exact matched words, enter: grep -o -w 'word' /path/to/file/ | wc -w The grep -o command will only display matched words and the wc -c command will display the word counts.