0% found this document useful (0 votes)
24 views

Some Useful UNIX Files and Commands

This document discusses useful UNIX files and commands for writing PVM programs. It describes helpful system files like /etc/passwd and the UNIX dictionary in /usr/dict/words. Useful commands mentioned include wc for word counting, grep for searching files for strings, and system() in C for running commands. I/O redirection like > and < and pipes | are also covered for directing input/output between programs and commands.

Uploaded by

sivaabhilash
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Some Useful UNIX Files and Commands

This document discusses useful UNIX files and commands for writing PVM programs. It describes helpful system files like /etc/passwd and the UNIX dictionary in /usr/dict/words. Useful commands mentioned include wc for word counting, grep for searching files for strings, and system() in C for running commands. I/O redirection like > and < and pipes | are also covered for directing input/output between programs and commands.

Uploaded by

sivaabhilash
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Some Useful UNIX Files and Commands

by D.W. Hyatt

Helpful Files

The following files may be useful when trying to write your PVM programs in this class.

The online UNIX Dictionary of over 40,000 words:

/usr/dict/words The UNIX dictionary

Some useful system files in the directory /etc or /usr/games/lib/fortune:

/etc/passwd The password file


/etc/HOSTNAME The name of the computer
/etc/issue The logon banner
/usr/games/lib/fortunes/fortune The source for UNIX fortunes

Some Useful Commands

Word Count, or "wc"


A helpful UNIX command is the "word count" program that can count how many words
are in the file.

wc -w <filename> counts the number of words in a file


wc -l <filename> counts lines in a file.

Grab Regular Expression, or "grep"


Another helpful command is "grep" for grabbing lines from a file that contain a specific
string pattern, or regular expression. The command grep <string> <files> looks through
a list of files and finds lines that contain the specific word in the string argument.

grep pvm_pack *.cpp will look for occurrences of the string "pvm_pack" in all
files ending in ".cpp".
grep "My name is" * will look in all files in a directory trying to find the string
"My name is".
Input / Output Redirection

The UNIX operating system has a number of useful tools for allowing other programs to
work with one another. One of the ways to handle screen input and output with I/O
Redirection, and ways to link several programs together with "pipes".

With the use of the > for sending output to a file, a user can easily covert from screen
display programs to ones that save the output without major changes in rewriting code. It
is also very convenien for grabbing the output from various UNIX commands, too.

myprogram > myoutfile


This takes the output of "myprogram" and sends it a file called "myoutfile".

ls -alF > filelist


This runs the command "ls", but saves the directory listing to a file rather than displaying
it on the screen.

In order to convert a program that originally required lots of user input into one that runs
on its own, the input redirection symbol < can be used to say where to get the values.

program2 < myinput


This runs "program2" but takes any keyboard input from the file "myinput". It is
important the input values are in the proper sequence in the file "myinput" since there
will not be ways to reply to prompts at the console.

Pipes

The vertical bar "|" is called the pipe symbol, and it is designed for linking commands
together to make them more powerful. The way it works is that the output from one
command is sent as input to the next, thus creating a new command.

ls -alF | grep ".cpp"


This will list all files in a directory, and will then grab the names of only the ones that
contain the string ".cpp" in the name, or the C++ source files.

The system() command in C


The system() command is actually a C function that is very valuable for accessing UNIX
commands from within a C program. It can also be used to run other programs you have
already written. Be careful with extensive use of this command because according to the
online manual pages (man), there are a few bugs such as not being able to break out of
infinite loops because interrupts are not processed, and some other security issues. For
many of the things we will be doing in this class, though, this command will be quite
useful.
system( "ls - alF");
This will run the "ls" command from within a C program and display the results to the
screen.

system ( "ps -aux | grep dhyatt > outfile");


This will run the "ps" command, the will send that output to "grep" which will look for
occurrences of "dhyatt", and finally will print the results to a file called "outfile" rather
than displaying anything on the screen.

You might also like