Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-1
The Command Line
At a Glance
Instructor’s Manual Table of Contents
• Teaching Tips
• Quick Quizzes
• Class Discussion Topics
• Additional Projects
• Additional Resources
• Key Terms
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-2
Before the advent of the graphical user interface (GUI), the only way to interact with
the operating system was through the command-line interface (CLI). Given the user-
friendly features of the GUI, use of the CLI has declined. However, the CLI should still
be learned for a number of very good reasons: task efficiency, resource efficiency,
emergency backup, refined commands, and programming skills.
• Use the command line
• Access Help files
• Display the contents of files
• Create script files to automate simple tasks
Using the Command Line
1. Use Figure 7-1 to illustrate the process of a command by the command console.
2. Identify three data streams: STDIN (standard input), STDERR (standard error), and
STDOUT (standard output).
3. Indicate that both input and output can be redirected; for example, by sending output to
a file instead of the standard output device (the monitor).
Using the Command Line with the Windows XP CLI
1. The following sections cover configuring the command environment and using the
Customizing the CLI Window
1. The CLI customization menu can be accessed by right-clicking the title bar of the
command prompt (see Figure 7-2).
2. Define the term taskbar.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-3
3. Review the various CLI menu options, such as Restore, Defaults, and Properties. Focus
on two dialog boxes: Console Windows Properties and "Command Prompt" Properties
(see Figure 7-3). Explore the Options tab of the first dialog box and the Font, Layout,
and Colors tabs of the second.
Teaching Inform students that Console Windows Properties and "Command Prompt"
Tip Properties have the same appearance, but serve different functions. The former is
used to set defaults for future command prompts; the latter is used to configure
the current command prompt.
Using the Command Prompt Edit Menu
1. To display the Edit menu of the command prompt (see Figure 7-4), right-click its title
bar and then click Edit.
2. Describe the Edit menu options: Mark, Copy, Paste, Select All, Scroll, and Find.
3. Reinforce the point that the mouse can be enabled for use with the command prompt by
4. Explain how to copy and paste using either the mouse or the Mark option.
Using the Command History
1. You may view past commands by using the up/down arrow keys at the command
2. You may also call the list of commands by pressing F7 (Figure 7-5). Move up and down
the list using, respectively, the up and down arrow keys. Pressing Enter causes the
highlighted item to execute. Press Esc to close the window.
Using Shortcut Keys
1. Remove the time-saving function keys listed in Table 7-1.
2. Provide examples demonstrating the convenience of shortcuts. For instance, F2 is useful
for copying part or all of the most recently entered command. Figure 7-6 shows the
results of using F2 to copy CD "\Program Files\TextPad 4" up to the character "T".
Completing Filenames and Directory Names
1. Enter CMD /F:ON to enable filename and directory name completion.
2. To use the completion feature, type a partial directory name or filename at the
command prompt and either Ctrl+D or Ctrl+F. Figure 7-7 shows the results of entering
CD \pro and then Ctrl+D.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-4
3. If multiple directory names or filenames match the characters you enter, press the key
combination again to move to the next instance. Press Enter to execute the command.
1. You may redirect output to a file or printer. Describe the appropriate syntax, including
the ">" operator. Indicate that printers are specified with the UNC (Universal Naming
Convention ) format.
2. Provide examples of redirecting output to a file and a printer.
3. Explain that input may also be redirected using the "<" operator. Provide an example of
Using Filter Commands
1. Describe filter commands.
2. Identify the three filter commands that will be discussed: FIND, MORE, and SORT.
Using the FIND Filter
1. Review the syntax of the FIND filter, which searches lines of input for a text string you
2. Using examples from the text, show how to redirect input from a file into the FIND
filter. Explain that you may also redirect output from FIND. In fact, input and output
may be redirected in the same command construct.
Using the SORT Filter
1. Review the syntax of the SORT filter, which arranges, or sorts, lines of input and sends
the sorted output to the standard output device unless you redirect it.
2. Referring to examples from the text, show how to construct commands using the SORT
filter and redirection operators.
Connecting Commands with a Pipe
1. You may route the output of one command into a filter command using a connection
pipe ("|"). One common example involves the use of DIR with MORE . Consider the
command DIR /s *.* | MORE. Explain that the output of DIR is filtered by MORE,
which displays one screen of information (24 lines) at a time followed by --More--.
2. Review the syntax of the MORE command. Indicate that pressing Enter advances the
display by one line, while pressing the Spacebar advances the display by 24 lines (a
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-5
3. Indicate that you can combine filter commands. Show the example in the text, which
combines FIND filters.
Quick Quiz 1
1. True or False: You must pass data into the command console from a keyboard (standard
2. To copy text when you have enabled ____________________ mode in the Windows
XP CLI, drag your mouse to select text and then press Enter to place it in the Windows
3. True or False: In the Windows XP CLI, the directory name and filename completion
feature is enabled by default.
4. Instead of displaying the output of a command on the screen, you can
____________________ the output to a file or printer.
5. You can route the output of one command to a filter command using the
Using the Command Line with Fedora Core 4
1. The CLI in Fedora Core 4 resembles the CLI in Windows XP, but has more features.
Using Command-Line Symbols
1. Review the list of common command-line symbols in Table 7-3. These will inform
scripts that will be written later in the chapter.
1. Learning to use reference material will help you complete tasks or discover new
2. Windows XP provides assistance in Help files. Fedora Core 4 provides assistance in the
man (manual) pages.
Accessing Help with the Windows XP CLI
1. To call a quick reference of available commands in Windows XP, type HELP (see
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-6
2. To obtain information and tips for a specific command, type the command followed by
/?. See information for the DATE command in Figure 7-9.
Accessing the Man Pages in Fedora Core 4
1. The man (manual) pages provide information about commands in Fedora Core 4.
2. Review the structure of the man pages, which includes up to seven information sections
for each command (Figure 7-10).
Displaying the Contents of Files
1. In Windows XP, the PRINT and TYPE commands can be used to display file contents.
2. In Fedora Core 4, you can use the less, cut, head, tail, and grep commands to display
Teaching Distinguish commands that display file contents, such as less and more, from
Tip commands that describe the type of content in files, such as file.
Displaying the Contents of Files in the Windows XP CLI
1. Review the syntax of the PRINT command, which enables you to output the contents of
a text file to a printer. Indicate that you can use local printer ports or a network printer
as the output device. Network printers should be specified in the UNC format.
2. Review the syntax of the TYPE command, which displays the contents of a text file on
the standard output device.
Displaying the Contents of Files in Fedora Core 4
1. The less command is like more, but has additional capabilities. It can move backward
through files and read just a portion of files. The latter feature enables you to access
larger files faster.
2. Review the syntax of the less command. Figure 7-11 illustrates the results of using the
less command to display the contents of a file starting at the first occurrence of a
3. Review the syntax of the cut command, which extracts fields from a file line (record).
Indicate that the -d and -f options are most frequently used. Additionally, the default
output device is the monitor, unless redirected.
4. Figure 7-12 shows the results of using the cut command to print the third field of the
lines in the /etc/passwd file. Figure 7-13 shows the results of using the cut command to
print the first 15 characters of the lines in the /etc/passwd file.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-7
5. Review the syntax of the head command, which prints the first 10 lines from a file to
standard output. For example, Figure 7-14 shows the results of using the head command
to print the first 15 lines from the /etc/passwd file.
6. Review the syntax of the tail command, which prints a specified number of lines or
bytes at the end of a file and allows you to move backward through the file. Figure 7-15
shows the results of using the tail command to print the last 20 lines of the /etc/passwd
7. Review the syntax of the grep command, which can be used to search a file and then
print all the lines that match your search. You may use wildcard characters such as *
and ? to refine a search. Figure 7-16 shows the results of a grep command that prints the
line numbers, count, and actual lines of text that contain the “root” pattern in the /etc/
passwd file. The results of piping grep to more (to control the display of information)
are shown in Figure 7-17.
Quick Quiz 2
1. In Fedora Core 4, Help files are called ____________________ pages.
2. To redirect the output to a network printer in the PRINT command, specify the printer
using the ____________________ format of \\servername\printername.
Answer: UNC (Universal Naming Convention)
3. True or False: The less command is required to read an entire file.
4. In Fedora Core 4, the ____________________ command prints a specified number of
lines or bytes at the end of a file and allows you to move backward through the file.
Creating Script Files
1. Define the term script files.
2. In the following sections, students will be shown how to build scripts. These scripts will
be enhanced with decision-making and repetition structures.
3. Analogize script writing to programming. Emphasize that before writing a single line of
code, students should apply the high-level six-step method to any programming
The Six-Step Problem-Solving Process
1. Explain the importance of developing a systematic approach to solving problems.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-8
2. Review the six-step problem solving process, which may be summarized as follows:
• Read the problem statement, name the project.
• Re-read the problem statement, write a summary.
• Use the summary to list the input elements.
• Use the summary to list the output elements.
• Use the summary to list the processing steps.
• Use the summary to define constants and variables.
3. Apply the six-step process to create a script program that lists all filenames with a .txt
extension and an “06” in the Accounting directory.
Teaching Before moving from Step 6 to writing code, it would be helpful to write an
Tip algorithm in pseudocode, a high-level condensation of all six steps. The high-
level algorithm solidifies the logic of the solution and moves you closer to the
syntax of the programming language.
Teaching Studies show that up to 85% of the time spent constructing a program is actually
Tip dedicated to high-level preparation, as represented by the six-step process. It is
important to emphasize this statistic with beginning programming students, who
tend to begin writing code without fully exploring the underlying problem.
Creating Batch Programs in Windows XP
1. Define the term batch program.
2. Indicate that any command used at the command prompt may also be used in a batch
program. List the commands specifically designed for batch programs: CALL, ECHO,
FOR, GOTO, IF, PAUSE, REM, SET, and SHIFT.
Using Batch Parameters
1. Define the term batch parameter. Describe the format of batch parameters.
2. Show the example using batch parameters with XCOPY.
3. Review the batch parameter modifiers in Table 7-6.
Teaching Remind students that they must save batch programs with a .bat or .cmd
Tip extension. The new batch file may be edited by right-clicking the file icon in
Windows Explorer and then clicking Edit.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-9
Displaying Text with the ECHO Command
1. Review the syntax of the ECHO command, which re-displays text that you have
2. Explain how to turn off echoing and how to echo a blank line. Review the pertinent
example in the text.
Teaching To speed up learning, students should run each of the batches specified in the
Tip latter portion of the text. Before entering a processing request, they should
navigate to the directory location containing the batch files.
Repeating Commands with the FOR Command
1. Review the syntax of the FOR command, which lets you repeat the execution of a
specific set of commands.
2. Explain that the set parameter in the FOR loop may be filled with string literals, files,
directories, or a range of values. Show the examples in the text; the output of the first is
represented in Figure 7-18.
Branching with the GOTO Command
1. Review the syntax of the GOTO command, which directs Windows XP to a labeled
line; the command on the next line below is then executed.
2. Emphasize that the label you specify must match a label in the program, which should
also be preceded by a colon (:).
Making Decisions with the IF Command
1. Review the three basic variants of the IF command, as well as the extended syntax. The
IF command performs conditional processing and makes decisions in batch programs.
2. Review the comparison operators used in the extended IF syntax (Table 7-8).
3. Cover the examples in the text using IF.
Calling Other Batch Programs
1. You can call a child batch program from a parent batch program, without stopping the
2. Review the syntax of the CALL command. Cover the examples in the text using CALL.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-10
Pausing for User Response
1. Review the syntax of the PAUSE command, which suspends processing of a batch
program and displays a message prompting the user to press any key to continue.
2. Show the example in the text, which uses PAUSE to create interactive I/O.
3. Define the term infinite loop. Indicate that pressing Ctrl+C will terminate a program
caught in an infinite loop.
Teaching Infinite loops are usually created by a failure to properly update a limitation
Tip (control) variable. The source of the error may be semantic (faulty logic) and/or
syntactic (a missing or improperly written symbol(s)).
Adding Comments to a Batch Program
1. Review the syntax of the REM command, which enables you to include comments or
remarks in a file.
2. Explain the importance of accurately and clearly commenting batch files.
Changing the Position of Batch Parameters
1. Review the syntax of the SHIFT command, which changes the positions of batch
parameters in a batch file.
2. Show the batch program example by using SHIFT to display the contents of the files
listed in the batch parameters.
Using Environment Variables
1. Define the term environment variables. Distinguish between system and local
2. Using Table 7-9, review the predefined environment variables that can be used in your
3. Review the syntax of the SET command, which is used to display, create, or remove
environment variables. SET can also be used to store numeric or text values in variables.
4. If you use the /A switch with the SET command, you can perform arithmetic. Table 7-10
lists the arithmetic operators for the SET command.
5. Review the examples in the text that use the SET command.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-11
Creating Scripts in Fedora Core 4
1. Discuss the similarities between Fedora Core 4 scripts and Windows XP batch
2. Indicate that the six-step problem solving process covered earlier applies to Fedora Core
1. Define the terms interpret and compile.
2. Indicate that Linux shell scripts are interpreted, they are not compiled. Additionally,
shell scripts provide both a script’s development and its run-time environment.
Different scripts require different environments.
3. Describe the Bourne Again (bash) shell. Review the Fedora Core 4 shell types in Table
1. Define the term header line.
2. Show the example of a header line for a bash script: #!/bin/bash
Exit Return Code
1. The statement exit 0 concludes all scripts. A script returning code 0 is a success.
1. Emphasize that when you are creating and running shell scripts, you must change the
permissions on the file before running it.
2. The three file permissions are read, write, and execute. These permissions are assigned
for the file owner, a group of users, and everyone else.
3. Review the Fedora Core 4 permissions in Table 7-12. Show how to calculate the
numerical permission value for each file entity (owner, group, and everyone else).
4. Show how to modify permissions with the chmod command.
1. The use of file extensions in Fedora Core 4 scripts is optional. For the sake of clarity,
some system administrators use a .sh extension on their scripts.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-12
1. Script parameters in Fedora Core 4 serve the same function as batch parameters in
2. Review the list of command-line reference parameters in Table 7-13.
1. Special structures are required to perform repetitive and conditional processing.
2. Review the two important properties of repetitive and conditional structures.
Teaching As you review the syntax of the repetition and decision-making structures,
Tip remind students that the interpreter is rigid with respect to format. For example,
the brackets surrounding a test expression must include the proper spacing.
1. The if command controls instruction execution based on the evaluation of a condition.
2. Review two constructs associated with if: if fi and if else fi. During program execution,
the former either adds or ignores an instructions, while the latter chooses between two
3. Illustrate the use of if else fi in Figure 7-19.
1. The while command executes a set of instructions while a condition is true.
2. Review the general syntax of the while command. Emphasize the need to update the
3. Using Figures 7-20 and 7-21, illustrate the use of the while command.
for in Command
1. The for in command executes a number of instructions based on a maximum count you
2. Review the general syntax of the for in command. Emphasize two ways the structure is
exited: a counter has been updated to a termination value or a list of items has been
3. Figure 7-22 illustrates a script using the for in loop; the results of the script are shown in
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-13
Quick Quiz 3
1. ____________________ files are lists of CLI instructions that are batched together in
one document or a small program to help you automate repetitive tasks.
2. Batch ____________________ can contain any information you need to pass to a batch
program when you execute the program.
3. You can define the behavior of the command processor or the entire operating system
environment by using two types of ____________________ variables—system and
4. True or False: Linux shell scripts are compiled, they are not interpreted.
5. The limit for the while loop comes from testing a changing ____________________.
Class Discussion Topics
1. What are the benefits of learning to interact with your PC via the CLI?
2. Compare Console Windows Properties and "Command Prompt" Properties, dialog
boxes opened from the Windows CLI menu.
3. Compare the output redirection operators (>, >>) with the pipe (|) operator. How do
both broaden your command processing capabilities?
4. What are the benefits of becoming acquainted with the Help files in Windows XP and
the man pages in Fedora Core 4?
5. Why is a script considered to be a kind of program?
6. What are the benefits of batch programming?
7. How does the use of repetition and decision-making structures enhance your scripts?
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-14
1. Practice using the command prompt shortcut keys shown in Table 7-1. First, enter the
following command at the CLI prompt: CD "\Program Files\TextPad 4". Next, use
shortcuts to perform the following tasks:
• Bring back the entire command just entered.
• Move the cursor to the beginning of the line.
• Delete the characters making up CD.
• Show the command history.
• Re-enter the original command from the historical list.
Identify the primary function key used for each task. Were the shortcuts used the most
efficient way to perform the given tasks? Explain in 1- 2 paragraphs.
2. Compare the search operations in the Vim editor (discussed in Chapter 6) to search
operations performed with the grep command. Is there any relationship between the
two? Are there significant functional differences? Which approach is more user-
friendly? Summarize your findings in 2-3 paragraphs.
3. Scripts are actually program segments. As such, they can be described in terms of
syntax and semantics. Research the meaning of the words "syntax" and "semantics" in
relation to programming. Refer to the code segment at the end of the section entitled,
"The Six-Step Problem-Solving Process". Describe the syntax and semantics of the
code segment. Summarize your results in 2-3 paragraphs.
4. Use the six-step problem-solving process to construct a shell script that performs the
• Adds the odd numbers from 1 – 100.
• Echoes each calculation performed.
Hint: You will need to define variables and create repetition and decision structures.
Record each of the six steps. Before coding the routine, write the algorithm in English
pseudocode. Ensure that your implementation is commented.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-15
1. General information about the CLI:
2. Windows XP CLI:
3. KDE Konsole:
4. Using filters in Windows XP:
5. Batch programming:
6. Linux Shell Scripting:
batch program: A program that executes without interacting with the user.
chmod command: A command in Fedora Core 4 that changes file permissions.
CompareOp: A three-letter comparison operator used by the IF command in Windows
cut command: A command in Fedora Core 4 that extracts fields from a line in a file or
extracts an entire record from a file.
ECHO command: A command that displays text to the standard output device.
environment variables: Named storage locations you can use to determine the
behavior of the command processor and the operating system. Two types are available:
system and local environment variables. You need administrative privileges to use
system variables; you can use local environment variables to control the operation of
FOR command: A command that executes a section of code a specified number of
times in Windows XP. Command syntax can vary depending on the task the loop needs
for in command: The Fedora Core 4 version of the for command. You can use the
command without the in and vary the syntax depending on the task the loop needs to
GOTO command: A command you use in Windows XP programs to transfer execution
to some other statement; the high-level equivalent of a branch or jump instruction.
grep (global regular expression print) command: A command in Fedora Core 4 that
searches a file or files by keyword.
head command: A command in Fedora Core 4 that prints the first 10 lines (by default)
from a file to standard output.
Guide to Parallel Operating Systems with Microsoft Windows XP and Linux 7-16
IF command: A Windows XP command that executes a block of statements if a
decision expression evaluates as true; when an ELSE clause is included, its statements
execute if the decision evaluates as false.
if else fi construct: A command in Fedora Core 4 that works like the IF command in
Windows XP when the ELSE clause is included.
if fi construct: A command in Fedora Core 4 that works like the IF command in
less command: A command that allows backward movement when you view file
man pages: The Help file documents in Fedora Core 4.
parameters: In programming, a value given to a variable, either at the beginning of an
operation or before a program evaluates an expression. The parameter can be a string, a
number, or another parameter name.
PAUSE command: A Windows XP command that temporarily stops the operation of a
program or command.
REM command: A Windows XP command to add comments (remarks) to a program
or batch file.
script: A program that consists of a set of instructions to control some function of an
application or utility program; these instructions typically use the rules and syntax of
the application or utility.
SET command: A Windows XP command that displays, creates, or removes
SHIFT command: A Windows XP command that changes the position of batch
parameters in a batch file.
synopsis: A term used in the Fedora Core 4 man pages to describe the syntax of
tail command: A command in Fedora Core 4 that typically prints the last 10 lines or
bytes of a file. For large files, this command can provide faster access to data within the
taskbar: A graphic toolbar used in Windows operating systems to select active
TYPE command: A Windows XP command that displays the contents of a text file on
the standard output device.
UNC (Universal Naming Convention) format: A system of naming files on a network
so that they have the same pathname when accessed from any of the networked
while command: A command that enables you to execute a group of statements a
specified number of times.