Unix and C Program Development SEEM
|
|
- Horace Ferguson
- 7 years ago
- Views:
Transcription
1 Unix and C Program Development SEEM
2 Operating Systems A computer system cannot function without an operating system (OS). There are many different operating systems available for PCs, minicomputers, and mainframes. The most common ones being Windows and variations of UNIX (e.g. Linux) UNIX is available for many different hardware platforms Most other operating systems are tied to a specific hardware family. This is one of the first good things about UNIX. SEEM
3 Unix Overview UNIX allows more than one user to use the computer system at a time a desirable feature for business systems. Power and Flexibility Small number of basic elements that can be combined in an infinite variety of ways to suit the application Consistency in commands: ls A* means list files beginning with A rm A* means remove files beginning with A Majority of users are engaged in software development SEEM
4 Unix and Linux Late 1980s two version of UNIX 4.3BSD System V Release 3 Standardizing effort POSIX (Portable Operating System) POSIX committee produced standard by taking the intersection of System V and BSD Set of library procedures open, read, fork, Linux Unix clone originally running on PC Recent Version of Linux has features of a modern UNIX OS Unix and Linux have been adopted in industrialstrength business applications SEEM
5 Unix and Shell MAC and Windows - Graphical User Interface UNIX command line interface, called shell UNIX Graphical environment X Windows SEEM
6 Logging In To use a UNIX system, you first log in with a username a unique name that distinguishes you from the other users of the system. UNIX first asks you for your username by prompting you with the line login: and then asks for your password. Depending on how your system is set up, you should then see either a $ or a > prompt. UNIX is case sensitive, so make sure that the case of the letters is matched exactly. UNIX(r) System V Release 4.0 login: glass Password: what I typed here is secret and doesn t show Last login: Sun Feb 15 18:33:26 from dialin cuse93:> SEEM
7 Shells The > prompt that you see when you first log into UNIX is displayed by the shell Shell is a program that acts as a middleman between you and the raw UNIX operating system. A shell lets you run programs, builds pipelines of processes, saves output to files, and runs more than one program at the same time. SEEM
8 Running A Utility To run a utility, simply enter its name and press the Enter key One sample utility is date which displays the current date and time cuse93:> date... run the date utility Thu Mar 12 10:41:50 MST 1998 cuse93:> SEEM
9 Unix Utility Programs Large number of utility programs Divided into six categories File and directory manipulation commands Example: cp a b ls *.* Filters Example: grep (extracts lines containing patterns), cut, paste, Program development tools such as editors/compilers Example: cc (C compiler), make (maintain large programs whose source code consists of multiple files) Text editing and processing Example: pico, emacs, vim, vi System administration Example: mount (mount file system) Miscellaneous Example: kill 1325 (kill a process), chmod (change privileges of a file) SEEM
10 Unix Utility Programs SEEM
11 Logging Out To leave the UNIX system, type the keyboard sequence Control-D at your shell prompt. This tells your login shell that there is no more input for it to process, causing it to disconnect you from the UNIX system. Most systems then display a prompt and wait for another user to log in. Here s an example: cuse93:> ^D... I m done! UNIX(r) System V Release 4.0 login: wait for another user to log in. Note: The shell can be set to ignore ^D for logout, since you might type it by accident. In this case, you in, type the logout command instead. SEEM
12 Directory and File A hard disk in Unix is typically shared by different users Directory similar to folder in Windows The root directory is specified by a symbol / Under a directory Store files Contains sub-directories SEEM
13 Directories The directories are organized in a hierarchical structure (similar to Windows) / usr sac lec file1 glass file2 wlam SEEM
14 Pathname Pathname - A sequence of directory names that leads you through the hierarchy from a starting directory (e.g. root / ) to a target (directory or file) Some sample pathnames /sac/file1 a file /sac/lec a directory /sac/lec/file2 a file SEEM
15 Home Directory When you first login, you are automatically located at a certain location of a hard disk called home directory Every user has a different home directory The home directory is set by the system administrator For example, after login, the user is located at /sac/lec/glass UNIX(r) System V Release 4.0 login: glass Password: what I typed here is secret and doesn t show Last login: Sun Feb 15 18:33:26 from dialin cuse93:/sac/lec/glass> SEEM
16 Program Development The mechanics of developing a program include several activities writing the program in a specific programming language (such as C and Java) translating the program into a form that the computer can execute investigating and fixing various types of errors that can occur Software tools can be used to help with all parts of this process SEEM
17 Programming Languages Each type of CPU executes only a particular machine language A program must be translated into machine language before it can be executed A compiler is a software tool which translates source code into a specific target language Often, that target language is the machine language for a particular CPU type SEEM
18 Basic Program Development Edit and save program errors errors Compile program Execute program and evaluate results SEEM
19 Single-module Programs Let s examine a C program that performs a simple task: reversing a string. We will learn how to write, compile, link, and execute a program that solves the problem using a single source file. It s better to split the program up into several independent modules. (will be explained later) A source code listing of the first version of the reverse program is next presented. SEEM
20 1 /* reverse.c */ 2 #include <stdio.h> 3 4 /* Function prototype */ 5 void reverse (char* before, char* after); 6 7 /*******************************************/ 8 int main() 9 { 10 char str[100]; /* buffer to hold reversed string */ 11 reverse("cat",str); /* reverse the string "cat" */ 12 printf ("reverse("cat") = %s\n", str); 13 reverse("noon",str); 14 printf ("reverse("noon") = %s\n", str); 15 } /*******************************************/ 18 void reverse (char* before, char* after) 19 { 20 int i,j,len; len = strlen(before); 23 i=0; 24 for (j=len-1; j>=0; j--) 25 { 26 after[i] = before[j]; 27 i++; 28 } 29 after[len] = NULL; 30 } SEEM
21 C String - Revision In C, a string is represented as an array of characters For example: noon is represented as: n o o n NULL X (special char) (garbage) SEEM
22 C Program Development First we need to type the program source code into a file called source file (or source program file). Suppose that we call this file reverse.c The format of the source file should be a text file since it contains text characters A text file in Unix can be created using an Unix editor such as emacs, pico, vim. Suppose that we first create a directory (folder) called reverse under my home directory to prepare the development of the program. SEEM
23 Unix - Making A Directory : mkdir We can use the mkdir utility to create a new directory. An example of the mkdir utility: Utility: mkdir newdirectoryname cuse93:> mkdir reverse... create a directory called reverse cuse93:> SEEM
24 Unix - Moving To A Directory : cd In general, it s a good idea to move your shell into a directory if you intend to do a lot of work there. To do this, use the cd command. cuse93:> cd reverse go to the reverse directory cd isn t actually a UNIX utility, but instead is an example of a shell built-in command. Your shell recognizes cd as a special keyword and executes it directly. Shell Command: cd [directoryname] The cd (change directory) shell command changes a shell s current working directory to directoryname. If the directoryname argument is omitted, the shell is moved to its owner s home directory. SEEM
25 Editing Programs: Using an Editor pico Editor General Command Write editor contents to a file [Ctrl] o Save the file and exit pico [Ctrl] x Spell Check [Ctrl] t Justify the text [Ctrl] j Moving around in your file Move one character to the right [Ctrl] f or right arrow key Move one character to the left [Ctrl] b or left arrow key Move up one line [Ctrl] p or up arrow key Move down one line [Ctrl] n or down arrow key Other editors such as emacs and vim can be used SEEM
26 Unix - Listing The Contents Of A Directory: ls We can use the ls utility to list the name and other information about a file or a directory. Suppose that we have used an editor to edit the program reverse.c cuse93:> ls list all files in current directory reverse.c cuse93:> ls -l reverse.c long listing of reverse.c -rw-r--r-- 1 glass 106 Jan 30 19:46 reverse.c The -l is an option for the ls utility SEEM
27 Unix - Listing A File: cat We can use the cat utility to display the content of a text file. cuse93:> cat reverse.c /* reverse.c */ #include <stdio.h> /* Function prototype */ void reverse (char* before, char* after); display the contents of the reverse.c /*******************************************/ int main() { char str[100]; /* buffer to hold reversed string */ reverse("cat",str); /* reverse the string "cat" */ printf ("reverse("cat") = %s\n", str); : : SEEM
28 Unix - Listing A File: more cat is good for listing small files, but doesn t pause between full screens of output. The more utility is better suited for larger files and contains advanced facilities such as the ability to scroll backward through a file. cuse93:> more reverse.c /* reverse.c */ #include <stdio.h> /* Function prototype */ void reverse (char* before, char* after); display the contents of the reverse.c /*******************************************/ int main() : : SEEM
29 C Compilers Until recently, a C compiler was a standard component in UNIX, especially UNIX versions that came with source code. Depending on your needs, you should check on this in any version of UNIX you are considering using. Even if your version of UNIX no longer ships a C compiler, you have an alternative, thanks to the GNU Project: GNU C (gcc) and GNU C++ (g++) are freely available C and C++ compilers, respectively GNU Compiler Collection web site, SEEM
30 Compiling a C program Compile the C program with the gcc utility. By default, gcc creates an executable file called a.out in the current directory. The format of executable file is called binary file which contains binary bits. Therefore, we cannot use the Unix utilities cat or more to display the content on the screen. To run the program, type./a.out. Any errors that are encountered are sent to the standard error channel, which is connected by default to your terminal s screen. SEEM
31 Compiling a C program (con t) Here s what happened when I compiled my program: cuse93:> mkdir reverse create subdirectory for source code cuse93:> cd reverse cuse93:> pico reverse.c... create the file reverse.c using pico cuse93:> gcc reverse.c... compile source. reverse.c: In function main : reverse.c:12: parse error before cat reverse.c:14: parse error before noon cuse93:> As you can see, gcc found a number of compile-time errors, listed together with their causes as follows: The errors on lines 12 and 14 were due to an inappropriate use of double quotes within double quotes. SEEM
32 Compiling a C program (con t) If there are so many compilation errors that it cannot fit into one screen. One way is to compile by the following command: gcc reverse.c & more which means that the compilation errors will be displayed screen by screen. It will display the first screen of errors and wait. After the user examines the errors, he/she can choose to display the next screen of errors by hitting RETURN or quit by hitting Control-C. The corrected version of the reverse program is given in the next page. SEEM
33 1 /* reverse.c */ 2 #include <stdio.h> 3 4 /* Function prototype */ 5 void reverse (char* before, char* after); 6 7 /*******************************************/ 8 int main() 9 { 10 char str[100]; /* buffer to hold reversed string */ 11 reverse("cat",str); /* reverse the string "cat" */ 12 printf ("reverse(\"cat\") = %s\n", str); 13 reverse("noon",str); 14 printf ("reverse(\"noon\") = %s\n", str); 15 } /*******************************************/ 18 void reverse (char* before, char* after) 19 { 20 int i,j,len; len = strlen(before); 23 i=0; 24 for (j=len-1; j>=0; j--) 25 { 26 after[i] = before[j]; 27 i++; 28 } 29 after[len] = NULL; 30 } SEEM
34 Compiling a C program (con t) If there are many compilation errors, it is a good strategy to debug the first few errors since some remaining compilation errors may not be actual errors. They exist due to the limitations of the compiler. Hence, fixing earlier errors will usually result in fewer errors encountered in the debugging process. e.g. a semicolon is mistakenly added after the function heading line of reverse would produce a lot of compilation errors. SEEM
35 Compiling a C program (con t) Running a C Program After compiling the second version of reverse.c, I ran it by typing the name of the executable file, a.out. As you can see, the answers were correct: cuse93:> gcc reverse.c compile source. cuse93:> ls l reverse.c a.out list file information. -rwxr-xr-x 1 glass Jan5 16:16 a.out* -rw----r-- 1 glass 439 Jan 5 16:15 reverse.c cuse93:>./a.out run program reverse ( cat ) = tac reverse ( noon ) = noon cuse93:> SEEM
36 Compiling a C program (con t) Overriding the Default Executable Name The name of the default executable file, a.out, is rather cryptic, and an a.out file produced by a subsequent compilation would overwrite the one that I just produced. To avoid both problems, it s best to use the -o option with gcc, which allows you to specify the name of the executable file that you wish to create: cuse93:> gcc -o reverse reverse.c name the executable reverse cuse93:> ls -l reverse -rwxr-xr-x 1 glass Jan 5 16:19 reverse* cuse93:>./reverse run the executable reverse reverse ( cat ) = tac reverse ( noon ) = noon cuse93:> SEEM
37 Summary of gcc utility gcc reverse.c source file: reverse.c compilation via gcc executable file: a.out gcc o reverse reverse.c source file: reverse.c compilation via gcc executable file: reverse 37
38 Syntax and Semantics The syntax rules of a language define how we can put together symbols, reserved words, and identifiers to make a valid program The semantics of a program statement define what that statement means (its purpose or role in a program) A program that is syntactically correct is not necessarily logically (semantically) correct A program will always do what we tell it to do, not only what we intend to tell it to do 38
39 Program Errors A program can have three types of errors The compiler will find syntax errors and other basic problems (compile-time errors) If compile-time errors exist, an executable version of the program is not created A problem can occur during program execution, such as trying to divide by zero, which causes a program to terminate abnormally (run-time errors) A program may run, but produce incorrect results, perhaps using an incorrect formula (logical errors) 39
40 Program Errors In Unix, many runtime errors and logical errors only provide the following error messages: Segmentation fault Bus error The above messages do not provide good hints for the causes of the error In other words, it is almost not useful to rely on this message for debugging Therefore, debugging techniques or tools are needed Inserting printing statements to display the content of variables Use a debugger utility SEEM
41 Debugging by Inserting printing Statements A good way for debugging is to insert printing statements in the program. The purpose is to print the content of some important variables to see if the execution follows our design. Suppose we inserted the following line after the statement i++ in the reverse function: printf( i=%d j=%d\n,i,j) The execution would look like: cuse93:>./reverse run the executable reverse i = 1 j = 2 i = 2 j = 1 i = 3 j = 0 reverse ( cat ) = tac i = 1 j = 3 : SEEM
42 Debugging by Inserting printing Statements (cont) When the output text to the screen is very long, we can re-direct the output text to a file instead of the screen so that we can examine the content in a more convenient way. To re-direct in Unix the output from the screen to a text file, we can use the character > meaning that the text output is re-directed from the system output (screen) to a specified text file. In the following example, it is re-directed to a text file called debug.txt cuse93:>./reverse > debug.txt cuse93:> more debug.txt i = 1 j = 2 i = 2 j = 1 i = 3 j = 0 reverse ( cat ) = tac i = 1 j = 3 : run the executable reverse SEEM
43 The Unix Debugger : gdb Preparing a Program for Debugging To debug a program, it must have been compiled using the -g option to gcc, which places debugging information into the object module. cuse93:> gcc g o reverse reverse.c The UNIX debugger, gdb, allows you to debug a program symbolically. It includes the following facilities: single stepping breakpoints editing from within the debugger accessing and modifying variables searching for functions tracing SEEM
44 The Unix Debugger : gdb (con t) Utility: gdb executablefilename gdb is a UNIX debugger. The named executable file is loaded into the debugger and a user prompt is displayed. To obtain information on the various gdb commands, enter help at the prompt. Entering the Debugger Once a program has been compiled correctly, you may invoke gdb, with the name of the executable file as the first argument. gdb presents you with a prompt. You enter help at the prompt to see a list of all the gdb commands: cuse93:> gdb reverse (gdb) help SEEM
45 The Unix Debugger : gdb (con t) (gdb) break reverse Breakpoint 1 at 0x1077c: file reverse.c, line 22 (gdb) run Starting program: reverse Breakpoint 1, reverse(before=0x11360 ) at reverse.c:22 22 len = strlen(before) (gdb) display i 1: i=0 (gdb) display j 2: j = (gdb) step 23 i = 0; 2: j = : i = 0 (gdb) step 24 for (j=len-1; j>=0; j--) 2: j = : i = 0 (gdb) step 26 after [i] = before [j] 2: j = 2 1: i = 0 SEEM
46 The Unix Debugger : gdb (con t) (gdb) continue Continuing. reverse( cat ) = tac Breakpoint 1, reverse (before = 0x11380.) at reverse.c:22 22 len = strlen(before); 2: j = -1 1: i = 3 (gdb) step 23 i = 0; 2: j = -1 1: i = 3 (gdb) step 24 for (j=len-1; j>=0; j--) 2: j = -1 1: i = 0 (gdb) continue Continuing. Reverse( noon ) = noon Program exited with code 01 SEEM
Tutorial 0A Programming on the command line
Tutorial 0A Programming on the command line Operating systems User Software Program 1 Program 2 Program n Operating System Hardware CPU Memory Disk Screen Keyboard Mouse 2 Operating systems Microsoft Apple
More informationCS 103 Lab Linux and Virtual Machines
1 Introduction In this lab you will login to your Linux VM and write your first C/C++ program, compile it, and then execute it. 2 What you will learn In this lab you will learn the basic commands and navigation
More informationPHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
More informationCommand Line - Part 1
Command Line - Part 1 STAT 133 Gaston Sanchez Department of Statistics, UC Berkeley gastonsanchez.com github.com/gastonstat Course web: gastonsanchez.com/teaching/stat133 GUIs 2 Graphical User Interfaces
More informationThirty Useful Unix Commands
Leaflet U5 Thirty Useful Unix Commands Last revised April 1997 This leaflet contains basic information on thirty of the most frequently used Unix Commands. It is intended for Unix beginners who need a
More informationCMSC 216 UNIX tutorial Fall 2010
CMSC 216 UNIX tutorial Fall 2010 Larry Herman Jandelyn Plane Gwen Kaye August 28, 2010 Contents 1 Introduction 2 2 Getting started 3 2.1 Logging in........................................... 3 2.2 Logging
More informationTNM093 Practical Data Visualization and Virtual Reality Laboratory Platform
October 6, 2015 1 Introduction The laboratory exercises in this course are to be conducted in an environment that might not be familiar to many of you. It is based on open source software. We use an open
More informationLab 1: Introduction to C, ASCII ART and the Linux Command Line Environment
.i.-' `-. i..' `/ \' _`.,-../ o o \.' ` ( / \ ) \\\ (_.'.'"`.`._) /// \\`._(..: :..)_.'// \`. \.:-:. /.'/ `-i-->..
More informationIntroduction to Mac OS X
Introduction to Mac OS X The Mac OS X operating system both a graphical user interface and a command line interface. We will see how to use both to our advantage. Using DOCK The dock on Mac OS X is the
More informationUniversity of Toronto
1 University of Toronto APS 105 Computer Fundamentals A Tutorial about UNIX Basics Fall 2011 I. INTRODUCTION This document serves as your introduction to the computers we will be using in this course.
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove (amislove@ccs.neu.edu) Operating System Services Operating systems provide an environment for
More informationRunning your first Linux Program
Running your first Linux Program This document describes how edit, compile, link, and run your first linux program using: - Gnome a nice graphical user interface desktop that runs on top of X- Windows
More informationIntroduction to Unix Tutorial
Topics covered in this Tutorial Introduction to Unix Tutorial 1. CSIF Computer Network 2. Local Logging in. 3. Remote computer access: ssh 4. Navigating the UNIX file structure: cd, ls, and pwd 5. Making
More informationSoftware Requirement Specification for Web Based Integrated Development Environment. DEVCLOUD Web Based Integrated Development Environment.
Software Requirement Specification for Web Based Integrated Development Environment DEVCLOUD Web Based Integrated Development Environment TinTin Alican Güçlükol Anıl Paçacı Meriç Taze Serbay Arslanhan
More informationIntroduction to the UNIX Operating System and Open Windows Desktop Environment
Introduction to the UNIX Operating System and Open Windows Desktop Environment Welcome to the Unix world! And welcome to the Unity300. As you may have already noticed, there are three Sun Microsystems
More informationSetting up PostgreSQL
Setting up PostgreSQL 1 Introduction to PostgreSQL PostgreSQL is an object-relational database management system based on POSTGRES, which was developed at the University of California at Berkeley. PostgreSQL
More informationHow to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
More informationUnix Guide. Logo Reproduction. School of Computing & Information Systems. Colours red and black on white backgroun
Logo Reproduction Colours red and black on white backgroun School of Computing & Information Systems Unix Guide Mono positive black on white background 2013 Mono negative white only out of any colou 2
More informationCisco Networking Academy Program Curriculum Scope & Sequence. Fundamentals of UNIX version 2.0 (July, 2002)
Cisco Networking Academy Program Curriculum Scope & Sequence Fundamentals of UNIX version 2.0 (July, 2002) Course Description: Fundamentals of UNIX teaches you how to use the UNIX operating system and
More informationObjectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
More informationOperating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
More informationLECTURE-7. Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. Topics:
Topics: LECTURE-7 Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. BASIC INTRODUCTION TO DOS OPERATING SYSTEM DISK OPERATING SYSTEM (DOS) In the 1980s or early 1990s, the operating
More informationCPSC 2800 Linux Hands-on Lab #7 on Linux Utilities. Project 7-1
CPSC 2800 Linux Hands-on Lab #7 on Linux Utilities Project 7-1 In this project you use the df command to determine usage of the file systems on your hard drive. Log into user account for this and the following
More informationOPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
More informationHOW TO USE THIS DOCUMENT READ OBEY
Exercise: Learning Batch Computing on OSCER s Linux Cluster Supercomputer This exercise will help you learn to use Boomer, the Linux cluster supercomputer administered by the OU Supercomputing Center for
More informationINTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
More informationCS420: Operating Systems OS Services & System Calls
NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,
More informationName: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
More informationCSIL MiniCourses. Introduction To Unix (I) John Lekberg Sean Hogan Cannon Matthews Graham Smith. Updated on: 2015-10-14
CSIL MiniCourses Introduction To Unix (I) John Lekberg Sean Hogan Cannon Matthews Graham Smith Updated on: 2015-10-14 What s a Unix? 2 Now what? 2 Your Home Directory and Other Things 2 Making a New Directory
More informationKernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems
Module 9: Operating Systems Objective What is an operating system (OS)? OS kernel, and basic functions OS Examples: MS-DOS, MS Windows, Mac OS Unix/Linux Features of modern OS Graphical operating system
More informationUnix Sampler. PEOPLE whoami id who
Unix Sampler PEOPLE whoami id who finger username hostname grep pattern /etc/passwd Learn about yourself. See who is logged on Find out about the person who has an account called username on this host
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationUnix the Bare Minimum
Unix the Bare Minimum Norman Matloff September 27, 2005 c 2001-2005, N.S. Matloff Contents 1 Purpose 2 2 Shells 2 3 Files and Directories 4 3.1 Creating Directories.......................................
More informationThe programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
More informationProgramming with the Dev C++ IDE
Programming with the Dev C++ IDE 1 Introduction to the IDE Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. As similar IDEs, it offers to the programmer
More informationGetting Started with UNIX From Kaua i, Maui, Moloka i, Lāna i, and Hawai i
UNIX004 November 2003 Getting Started with UNIX From Kaua i, Maui, Moloka i, Lāna i, and Hawai i Introduction...1 Applying for a UH Username and Password...1 UNIX Environment...2 Software...2 Getting Connected
More informationHands-On UNIX Exercise:
Hands-On UNIX Exercise: This exercise takes you around some of the features of the shell. Even if you don't need to use them all straight away, it's very useful to be aware of them and to know how to deal
More informationCP Lab 2: Writing programs for simple arithmetic problems
Computer Programming (CP) Lab 2, 2015/16 1 CP Lab 2: Writing programs for simple arithmetic problems Instructions The purpose of this Lab is to guide you through a series of simple programming problems,
More informationUSEFUL UNIX COMMANDS
cancel cat file USEFUL UNIX COMMANDS cancel print requested with lp Display the file cat file1 file2 > files Combine file1 and file2 into files cat file1 >> file2 chgrp [options] newgroup files Append
More information1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment.
FrontBase 7 for ios and Mac OS X 1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment. On Mac OS X FrontBase can
More informationCPSC 226 Lab Nine Fall 2015
CPSC 226 Lab Nine Fall 2015 Directions. Our overall lab goal is to learn how to use BBB/Debian as a typical Linux/ARM embedded environment, program in a traditional Linux C programming environment, and
More informationAn Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories Mac OS by bertram lyons senior consultant avpreserve AVPreserve Media Archiving & Data Management Consultants
More informationGDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
More informationLab 1 Beginning C Program
Lab 1 Beginning C Program Overview This lab covers the basics of compiling a basic C application program from a command line. Basic functions including printf() and scanf() are used. Simple command line
More informationIUCLID 5 Guidance and support. Installation Guide Distributed Version. Linux - Apache Tomcat - PostgreSQL
IUCLID 5 Guidance and support Installation Guide Distributed Version Linux - Apache Tomcat - PostgreSQL June 2009 Legal Notice Neither the European Chemicals Agency nor any person acting on behalf of the
More informationLecture 25 Systems Programming Process Control
Lecture 25 Systems Programming Process Control A process is defined as an instance of a program that is currently running. A uni processor system or single core system can still execute multiple processes
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationAgenda. Using HPC Wales 2
Using HPC Wales Agenda Infrastructure : An Overview of our Infrastructure Logging in : Command Line Interface and File Transfer Linux Basics : Commands and Text Editors Using Modules : Managing Software
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111
More informationRepetition Using the End of File Condition
Repetition Using the End of File Condition Quick Start Compile step once always g++ -o Scan4 Scan4.cpp mkdir labs cd labs Execute step mkdir 4 Scan4 cd 4 cp /samples/csc/155/labs/4/*. Submit step emacs
More informationFred Hantelmann LINUX. Start-up Guide. A self-contained introduction. With 57 Figures. Springer
Fred Hantelmann LINUX Start-up Guide A self-contained introduction With 57 Figures Springer Contents Contents Introduction 1 1.1 Linux Versus Unix 2 1.2 Kernel Architecture 3 1.3 Guide 5 1.4 Typographical
More information1 Basic commands. 2 Terminology. CS61B, Fall 2009 Simple UNIX Commands P. N. Hilfinger
CS61B, Fall 2009 Simple UNIX Commands P. N. Hilfinger 1 Basic commands This section describes a list of commonly used commands that are available on the EECS UNIX systems. Most commands are executed by
More informationTEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control
TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control Version 3.4, Last Edited 9/10/2011 Students Name: Date of Experiment: Read the following guidelines before working in
More informationUnix Scripts and Job Scheduling
Unix Scripts and Job Scheduling Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview Shell Scripts
More informationVim, Emacs, and JUnit Testing. Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor
Vim, Emacs, and JUnit Testing Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor Overview Vim and Emacs are the two code editors available within the Dijkstra environment. While both
More informationIntroduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
More informationIntroduction to Linux and Cluster Basics for the CCR General Computing Cluster
Introduction to Linux and Cluster Basics for the CCR General Computing Cluster Cynthia Cornelius Center for Computational Research University at Buffalo, SUNY 701 Ellicott St Buffalo, NY 14203 Phone: 716-881-8959
More informationEmbedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
More informationHow to use the VMware Workstation / Player to create an ISaGRAF (Ver. 3.55) development environment?
Author Janice Hong Version 1.0.0 Date Mar. 2014 Page 1/56 How to use the VMware Workstation / Player to create an ISaGRAF (Ver. 3.55) development environment? Application Note The 32-bit operating system
More informationUnix Shell Scripts. Contents. 1 Introduction. Norman Matloff. July 30, 2008. 1 Introduction 1. 2 Invoking Shell Scripts 2
Unix Shell Scripts Norman Matloff July 30, 2008 Contents 1 Introduction 1 2 Invoking Shell Scripts 2 2.1 Direct Interpretation....................................... 2 2.2 Indirect Interpretation......................................
More informationDalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11
Dalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11 In this lab, you will first learn how to use pointers to print memory addresses of variables. After that, you will learn
More informationDigital Forensics Tutorials Acquiring an Image with Kali dcfldd
Digital Forensics Tutorials Acquiring an Image with Kali dcfldd Explanation Section Disk Imaging Definition Disk images are used to transfer a hard drive s contents for various reasons. A disk image can
More informationIntroduction to MIPS Programming with Mars
Introduction to MIPS Programming with Mars This week s lab will parallel last week s lab. During the lab period, we want you to follow the instructions in this handout that lead you through the process
More informationOperating Systems and Networks
recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls
More informationLinux Overview. Local facilities. Linux commands. The vi (gvim) editor
Linux Overview Local facilities Linux commands The vi (gvim) editor MobiLan This system consists of a number of laptop computers (Windows) connected to a wireless Local Area Network. You need to be careful
More informationTutorial Guide to the IS Unix Service
Tutorial Guide to the IS Unix Service The aim of this guide is to help people to start using the facilities available on the Unix and Linux servers managed by Information Services. It refers in particular
More informationBuilding Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
More informationCSCE 665: Lab Basics. Virtual Machine. Guofei Gu
CSCE 665: Lab Basics Guofei Gu Virtual Machine Virtual Machine: a so?ware implementacon of a programmable machine(client), where the so?ware implementacon is constrained within another computer(host) at
More informationEditing Files on Remote File Systems
Terminal Intro (Vol 2) Paul E. Johnson 1 2 1 Department of Political Science 2 Center for Research Methods and Data Analysis, University of Kansas 2015 Outline 1 Editing Without a Mouse! Emacs nano vi
More informationCLC Server Command Line Tools USER MANUAL
CLC Server Command Line Tools USER MANUAL Manual for CLC Server Command Line Tools 2.5 Windows, Mac OS X and Linux September 4, 2015 This software is for research purposes only. QIAGEN Aarhus A/S Silkeborgvej
More informationFuture Technology Devices International Ltd. Mac OS X Installation Guide
Future Technology Devices International Ltd. Mac OS X Installation Guide I Mac OS X Installation Guide Table of Contents Part I Welcome to the Mac OS X Installation Guide 2 Part II VCP Drivers 3 1 Installing
More informationBachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
More informationWitango Application Server 6. Installation Guide for OS X
Witango Application Server 6 Installation Guide for OS X January 2011 Tronics Software LLC 503 Mountain Ave. Gillette, NJ 07933 USA Telephone: (570) 647 4370 Email: support@witango.com Web: www.witango.com
More informationSequential Program Execution
Sequential Program Execution Quick Start Compile step once always g++ -o Realtor1 Realtor1.cpp mkdir labs cd labs Execute step mkdir 1 Realtor1 cd 1 cp../0/realtor.cpp Realtor1.cpp Submit step cp /samples/csc/155/labs/1/*.
More informationHadoop Basics with InfoSphere BigInsights
An IBM Proof of Technology Hadoop Basics with InfoSphere BigInsights Part: 1 Exploring Hadoop Distributed File System An IBM Proof of Technology Catalog Number Copyright IBM Corporation, 2013 US Government
More informationEmbedded Software Development
Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) TDDI11, Embedded Software 2010-04-22 Embedded Software Development Host and Target Machine Typical embedded
More informationComputer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
More informationSources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
More informationOperating System Structure
Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural
More informationSSH Connections MACs the MAC XTerm application can be used to create an ssh connection, no utility is needed.
Overview of MSU Compute Servers The DECS Linux based compute servers are well suited for programs that are too slow to run on typical desktop computers but do not require the power of supercomputers. The
More informationgrep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print In the simplest terms, grep (global regular expression print) will search input
More informationWelcome to GAMS 1. Jesper Jensen TECA TRAINING ApS jensen@tecatraining.dk. This version: September 2006
Welcome to GAMS 1 Jesper Jensen TECA TRAINING ApS jensen@tecatraining.dk This version: September 2006 1 This material is the copyrighted intellectual property of Jesper Jensen. Written permission must
More informationChapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
More informationUnix Primer - Basic Commands In the Unix Shell
Unix Primer - Basic Commands In the Unix Shell If you have no experience with the Unix command shell, it will be best to work through this primer. The last section summarizes the basic file manipulation
More informationODBC Driver User s Guide. Objectivity/SQL++ ODBC Driver User s Guide. Release 10.2
ODBC Driver User s Guide Objectivity/SQL++ ODBC Driver User s Guide Release 10.2 Objectivity/SQL++ ODBC Driver User s Guide Part Number: 10.2-ODBC-0 Release 10.2, October 13, 2011 The information in this
More informationPMOD Installation on Linux Systems
User's Guide PMOD Installation on Linux Systems Version 3.7 PMOD Technologies Linux Installation The installation for all types of PMOD systems starts with the software extraction from the installation
More informationOperating Systems. Study this screen display and answer these questions.
UNIT 6 Operating Systems STARTER Study this screen display and answer these questions. 1 How do you enter Unix commands? 2 Which Unix commands does it show? 3 What is the output of each command? 4 What
More informationCommandCenter Secure Gateway
CommandCenter Secure Gateway Quick Setup Guide for CC-SG Virtual Appliance and lmadmin License Server Management This Quick Setup Guide explains how to install and configure the CommandCenter Secure Gateway.
More informationLecture 4: Writing shell scripts
Handout 5 06/03/03 1 Your rst shell script Lecture 4: Writing shell scripts Shell scripts are nothing other than les that contain shell commands that are run when you type the le at the command line. That
More informationThe Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09
The Advanced JTAG Bridge Nathan Yawn nathan.yawn@opencores.org 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the
More informationCS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
More informationFor Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
More informationOpening a Command Shell
Opening a Command Shell Win Cmd Line 1 In WinXP, go to the Programs Menu, select Accessories and then Command Prompt. In Win7, go to the All Programs, select Accessories and then Command Prompt. Note you
More informationXcode User Default Reference. (Legacy)
Xcode User Default Reference (Legacy) Contents Introduction 5 Organization of This Document 5 Software Version 5 See Also 5 Xcode User Defaults 7 Xcode User Default Overview 7 General User Defaults 8 NSDragAndDropTextDelay
More informationFigure 1: Graphical example of a mergesort 1.
CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your
More informationQ N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
More informationDataTraveler Vault - Privacy User Manual
DataTraveler Vault - Privacy User Manual Document No. 48000012-001.A02 DataTraveler Vault - Privacy Page 1 of 29 Table of Contents About This Manual... 3 System Requirements... 3 Recommendations... 4 Setup
More informationRunning Hadoop on Windows CCNP Server
Running Hadoop at Stirling Kevin Swingler Summary The Hadoopserver in CS @ Stirling A quick intoduction to Unix commands Getting files in and out Compliing your Java Submit a HadoopJob Monitor your jobs
More informationGetting Started with Command Prompts
Getting Started with Command Prompts Updated March, 2013 Some courses such as TeenCoder : Java Programming will ask the student to perform tasks from a command prompt (Windows) or Terminal window (Mac
More informationGeBro-BACKUP. Die Online-Datensicherung. Manual Pro Backup Client on a NAS
GeBro-BACKUP Die Online-Datensicherung. Manual Pro Backup Client on a NAS Created and tested on a QNAP TS-559 Pro Firmware 4.0.2 Intel x86 Architecture Default hardware configuration OBM v6.15.0.0 Last
More information