Table of Contents

unix Keywords

The UNIX Programming Environment: Assembler

Definition

An assembler is a program used for converting instructions written in low-level code into machine level code.

Demonstration

Demonstration of the chosen keyword.

lab46:~$ touch file.asm
lab46:~$ nasm -f bin file.asm -o file.o
lab46:~$ ls
file.asm
file.o
lab46:~$ 

The UNIX Programming Environment: Linker

Definition

A linker is a program used with a compiler or assembler to provide links to the libraries needed for an executable program.

Demonstration

Demonstration of the chosen keyword.

lab46:~$ ld -o fileA hello.o
lab46:~$ ls
lab46:~$
fileA
hello.o

Filtering

Definition

A piece of software that processes text, for example to remove unwanted spaces or to format it for use in another application.

Demonstration

Demonstration of the chosen keyword.

lab46:~$ touch apple.txt
lab46:~$ vi apple.txt
core worm seed jewel
lab46:~$ cat apple.txt core worm seed jewel lab46:~$ cat apple.txt | sed -e "s/e/WWW/" corWWW worm sWWWed jWWWwel lab46:~$ cat apple.txt | sed -e "s/e/J/g" corJ worm sJJd jJwJl

The UNIX Programming Environment: Source Code

Definition

A source code is a text listing of commands to be compiled or assembled into an executable computer program.

Demonstration

Demonstration of the chosen keyword.

lab46:~$ cat helloC.c
/*
 * helloC.c - a simple "Hello, World!" in C.
 *
 * To compile: gcc -o helloC helloC.c
 */

// include standard I/O functions
//
#include <stdio.h>

// main() function
//
int main()
{
 puts("Hello, World!\n");
 return(0);
}

lab46:~$

Pattern Matching

Definition

Act of checking some sequence of tokens for the presence of the constituents of some pattern

Demonstration

. Match any character

* Match 0 or more of the preceding

^ Beginning of line or string

$ End of line or string

[ ] Character class - match any of the enclosed characters

[^ ] Negated character class - do not match any of the enclosed characters

\< Beginning of word

\> End of word

lab46:~$ grep ^[b-d][aeiou] /etc/passwd
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
lab46:~$

Security

Definition

Procedures followed or measures taken to ensure safety

Demonstration

lab46:~$ id tedmist1 (username)
uid=5763(tedmist1) gid=5000(lab46) groups=1730(unix),5763(tedmist1),5000(lab46)

The UNIX Programming Environment: Library

Definition

A library is a collection of subroutines or classes used to develop software.

Demonstration

ar(1) - Maintain portable archive or library.

lab46:~$ ar cq lib.a *.o
lab46:~$ ls
lib.a

Syntax

ar [arguments] [ posname ] archive file. - Arguments can be found in the man pages of ar. Use man ar.

Some arguments include:

- c: create a new library

- q: add the named file to the end of the archive

- r: replace a named archive/library member

- t: print a table of archive contents

Regular Expressions

Definition

Regular expressions, also referred to as regex or regexp, are search criteria for text pattern matching that provide more flexibility than simple wild-card characters.

Demonstration

These Regular Expressions are as follows:

  1. . Match any character
  2. * Match 0 or more of the preceding
  3. ^ Beginning of line or string
  4. $ End of line or string
  5. [ ] Character class - match any of the enclosed characters
  6. [^ ] Negated character class - do not match any of the enclosed characters
  7. \< Beginning of word
  8. \> End of word
lab46:~$ grep ^[b-d][aeiou] /etc/passwd
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
lab46:~$

unix Objective

Understanding And Use Of Pattern Matching

Definition

Pattern matching is making use of a pattern, usually a regular expression, and trying the pattern various ways on a string to see whether there's any way to make it fit.

Method

The method of measurement will be the understand and how to successfully incorporate pattern matching expressions, such as the ones below.

Measurement

Follow your method and obtain a measurement. Document the results here. . Match any character

* Match 0 or more of the preceding

^ Beginning of line or string

$ End of line or string

[ ] Character class - match any of the enclosed characters

[^ ] Negated character class - do not match any of the enclosed characters

\< Beginning of word

\> End of word

By understanding and incorporating these expressions, you can successfully search through a file with ease to get a desired result.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

* How did you do?

Work in progress, as of right now, I am still learning how to use these.

* Is there room for improvement?

Yes.

* Could the measurement process be enhanced to be more effective?

In time, and the usage of these will making the learning of pattern matching that much easier.

* Do you think this enhancement would be efficient to employ?

Yes it would be efficient to employ when searching through a file for a desired result.

* Could the course objective be altered to be more applicable? How would you alter it?

No the course object is applicable to a student, such as I, situation involved Unix.