Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

getting started - Faculty and Staff Homepages by maclaren1


  Authors: Timothy Puffer and Carl Simonson
                           TABLE OF CONTENTS
TABLE OF CONTENTS                                  3

INTRODUCTION                                       5
  WHAT IS CYGWIN?                                  5
  WHO IS THIS DOCUMENT FOR?                        5
  DOCUMENT CONVENTIONS                             5
SETTING UP CYGWIN                                  7
  DOWNLOADING CYGWIN SETUP                          7
  INSTALLING CYGWIN                                 7
     Choosing Your First Set of Packages           11
     Finishing the Installation                    12
ADDING AND REMOVING PACKAGES                       15
  ADDING PACKAGES                                  15
  REMOVING PACKAGES                                15
  UPGRADING ALL PACKAGES                           16
USING VI                                           17
  CREATING A FILE IN VI                            17
    Starting Vi                                    17
    Entering text                                  17
    Saving a file                                  18
  EDITING A FILE WITHOUT SAVING                    19
    Opening and closing a file                     19
CREATING YOUR FIRST C++ PROGRAM                    21
    Creating a file Using Windows                  21
    Creating a file using the Cygwin environment   22
  COMPILING AND RUNNING C++ FILES                  23
APPENDIX A                                         25
  USING THE VI EDITOR                              25
    Vi Commands                                    26
                                    L E S S O N            1

What is Cygwin?
Cygwin is a Linux-like environment for Windows. It gives you programs and tools common on a
Linux environment without the cost of running a virtual machine. Because it runs natively on
Windows, you can use the Windows and Linux programs to modify the same file without having
to transfer them between the two systems.
You can find out more about Cygwin by visiting the website:

Who is this document for?
This document is meant for students in Computer Science wanting to learn about UNIX systems.
It is designed facilitate a smooth transition from Windows to UNIX by creating a UNIX
environment while still under Windows.

Document Conventions
Several formatting conventions are used throughout this document to facilitate understanding of
the material. The styles are described below with an example:
Formatting Style                       Example
Commands (typed verbatim)              vi test
File/Path Names                        hello.cpp
Literal text strings/Proper names      Click Next
Keystrokes                             Esc
                                  L E S S O N                 2

                         SETTING UP CYGWIN
Downloading Cygwin Setup
To begin using Cygwin, you must first install it. To download the installer, follow these
   1. Open your browser

   2. Navigate to

   3. Click on the Install Cygwin Now link on the right. The link is shown in Figure 1.

                               Figure 1: The download link for Cygwin
   4. Save the installer executable to your Desktop.

Your browser downloads the installer executable.

Installing Cygwin
Now that you have downloaded the installer, you must run it. The installer will prepare and set
up your computer with the Cygwin environment.
   1. Run setup.exe. The installer shows up as seen in Figure 2.
                       Figure 2: The Cygwin Setup welcome screen.
2. Click Next. The Choose Installation Type dialog show as in Figure 3.

                       Figure 3: The Choose Installation Type dialog.
3. Choose Install from Internet if not selected.

4. Click Next.

5. At the Choose Installation Directory dialog, accept the defaults by clicking Next.

                     Figure 4: The Choose Installation Directory dialog.
6. Click Next at the Select Local Package Directory dialog.

7. Click Next at the Select Connection Type dialog.

8. At the Chose Download Site(s) dialog, pick a mirror from the Available Download Sites

                           Figure 5: The Choose Download Site(s) dialog.
   9. Click Next.

   10. Wait while the package list is downloaded.

The Select Package” dialog appears containing a list of packages to download and install. In the
next section, you will pick a few packages to install.

Choosing Your First Set of Packages
The installer is now ready for you to choose the packages you want to install onto your system.
By default, Cygwin has chosen a minimal set of packages to install. You will now add a C
compiler (gcc) and a text editor (vi) to the list of packages to install.

Note: Don’t install all packages unless you want to! Cygwin comes with a variety of different
software. By choosing to install everything, you may have to wait a long time for all of the
packages to download and install.

Selecting GCC
To add GCC to the list of packages to install, do the following:
   1. Expand the Devel item by clicking on the plus sign next to it.

   2. Scroll down and look for the gcc package in the Package column.

    3. Click on the circular arrows on the leftmost side of the gcc row as shown in Figure 6.

                                 Figure 6: The Select Packages dialog.
The new column changes from Skip to 3.4.4-3. Note that the gcc-core and gcc-g++ packages
have been selected also since they are dependencies of gcc.

Selecting ViI
Adding Vi to the list is similar to the steps for gcc.
    1. Scroll down to the Editors category

    2. Expand the Editors category

    3. Click the circular arrows in the vim package row.

The New column changes from Skip to 7.0.223-1.

Finishing the Installation
Now that you have picked the packages to install, you must install them.
    1. At the Select Packages dialog, click Next.

  Figure 7: Cygwin Setup's helpful installation screen showing the progress of the installation.
2. Cygwin Setup starts downloading and installing the packages. Please be patient as the
   installation may take several minutes. After Cygwin Setup has finished installing, the
   Create Icons dialog will show up as seen in Figure 8.

                                Figure 8: The Create Icons dialog.
   3. Click Finish.

   4. Click OK when Cygwin Setup prompts you that the installation was complete.

You have successfully installed Cygwin on to your computer. Now go to the next lesson to learn
how to add, remove and upgrade packages in Cygwin.

                                  L E S S O N                 3

After you have installed Cygwin, you may need to install more programs later. To install more
programs, use the Cygwin Setup program that you used earlier to install Cygwin the first time. If
you have not done this procedure before, you should read Chapter 2.

Adding Packages
Adding a package is similar to selecting a package as done in the first install.
   1. Follow steps 1-10 in the Installing Cygwin section on page 7.

   2. Choose the package you want to install.

   3. To help find the package you are looking for, click the View button to cycle between

Note: Changing views can help you quickly find packages to install. Other useful views are the
Partial view, which shows changes you have made, and the Up To Date view, which shows the
installed packages.

   4. Click Next when you have finished making your changes.

Cygwin Setup installs the packages you selected.

Removing Packages
Removing a package is done in the Cygwin Setup program.
   1. Follow steps 1-10 in the Installing Cygwin section on page 7 to get to the Select
      Packages dialog.

   2. Find the package you wish to remove.

   3. Click the circular arrows in the package row until the text to the right reads Uninstall.
      Figure 9 shows what the screen looks like after the gcc package has been selected for
            Figure 9: The Select Packages dialog after gcc has been selected for removal.
   4. Repeat the process for all packages you wish to remove.

   5. Click Next when you have finished.

Cygwin Setup removes the package you selected.

Upgrading All Packages
When newer versions of software are released, you can upgrade the software using the Cygwin
Setup interface.
   1. Get to the Select Packages dialog by following the Installing Cygwin section starting on
      page 7.

   2. Click the Curr radio button, even if it is selected.

   3. Click Next to apply the changes.

Cygwin Setup upgrades older packages to the current version.

                                   L E S S O N                  4

                                        USING VI
In this chapter you will learn the basics of the Vi editor. Vi can seem like a hard-to-use editor at
first, but is essential to learn since it is on every UNIX system.

Creating a file in Vi
To begin learning VI, you will create a file using VI, edit it, and save it.

Starting Vi
The Vi editor is accessed though the vi command. In this section you will start Vi with a blank
file name.
   1. Open the Cygwin command prompt by double-clicking the Cygwin icon on your desktop.

   2. Type vi test to open Vi with a blank file named test. The screen should look like Figure
      10: The Vi screen..

                                       Figure 10: The Vi screen.
You have now opened Vi with a new file.

Entering text
You will now enter some text into the test file.
   1. With Vi still open, type i to enter insert mode. Unlike other editors, Vi has different
       modes. The default mode called command mode allows you to type commands to save
       files, perform operations on text, and other things. Insert mode allows you to enter text.

Note: If you ever get lost and don’t know what mode you are in, hit Esc to return to command

   2. Type Vi can be fun!.

   3. Hit Esc to finish typing and to enter command mode. Your screen should look like Figure
      11: The Vi editor after entering some text..

                          Figure 11: The Vi editor after entering some text.
   4. Move the text cursor using the arrow keys until the f in fun is highlighted.

   5. Hit i to enter insert mode or a to enter append mode.

   6. Type really to insert the word really before fun.

   7. Hit Esc to enter command mode.

You have now entered and modified text in Vi.

Saving a file
Now you will complete your changes by saving the file.
   1. Hit Esc to make sure you are in command mode.

   2. Type :wq or ZZ to save the file.

Vi saves the file and exits. You should be at the Cygwin command prompt.

Editing a file without saving
Sometimes you may make a mistake while editing your document. It then becomes important to
know how to exit without saving your changes. You will now learn how to exit Vi without
saving a file.

Opening and closing a file
To edit a file you must first open it. You will open the file you created in the last section.
   1. At the Cygwin command prompt, type vi test to open the test file. The first argument to
      vi is the name of the file to open.

   2. Close the file without saving by typing :q! in command mode.

Vi exits without saving the file. You have completed the Vi primer lesson.

                                   L E S S O N                 5

Creating a file for use in Cygwin
In this section you will learn to different ways to create files to use in Cygwin. One of the nice
things about Cygwin is that it uses the Windows file scheme for saving files. This file scheme
makes it much easier for novice users who want to use the functionality of Cygwin but are not
proficient with UNIX command line interface.

Creating a file Using Windows
In this section you will add a file to use in Cygwin without creating it in Cygwin.
   1. Open up My Computer.

   2. Open C:\cygwin\home. On DSU machines you must open up the DSU folder. On other
      machines you will not need to do this step.

            Figure 12: Windows Explorer with the Cygwin home directory in the address bar.
   3. Close My computer

   4. Open the file in your favorite text editor.

Note: One of the nice things about Cygwin is that it is a Unix/Linux Environment but it can read
Windows end lines. Windows and Unix/Linux store their end lines (i.e. the return character)

   5. Type the following text into your text editor.

       #include <iostream>

       int main ()
              std::cout << “Hello World!\n;
              return 0;
Note: To users that are used to using the Windows environment, that static main entry point must
return int in Unix/Linux.

   6. Save this file to the Cygwin home folder from step 1. Name the file hello1.cpp.

Note: You must manually enter the .cpp extension. If the file is .txt it will still work in fact not
change anything but it will cause confusion.

   7. Open Cygwin.

   8. In the command line type ls. The ls command is the command the will list all file within
      the current directory. At this point you should see the file the you made in the list of files
      that are in the folder. hello.cpp.

                          Figure 13: Directory listing of your home directory.
You have now created a file and added it to the Cygwin folder

Creating a file using the Cygwin environment
In this section you will make and save a file completely in the Cygwin environment.
   1. Open the Cygwin command prompt.

   2. Type in vi hello1.cpp. The vi command opens the Vi text editor. Since the file
      hello1.cpp file does not exist, Vi will create it when it is saved.

                           Figure 14: The command to open hello1.cpp in vi.
   3. Hit i to enter text mode.

   4. Type in the following text:

                    Figure 15: The vi text editor showing the Hello World program.
   5. Hit Esc to enter command mode.

   6. Type :wq to save and exit Vi.

   7. You should be back at the command prompt. Type ls to see if the file that you created is

                            Figure 16: Directory listing with your new files.
You have now created files in Cygwin.

Compiling and running C++ files
In this section you will learn how to compile and run the C++ files that you made earlier.
   1. Open Cygwin if not already open

   2. Type ls and locate the hello.cpp file

   3. Type in the following command: g++ hello.cpp. If all runs correctly you will not receive
      an error message. If it does not open up correctly refer back to the previous section a
      reenter the syntax.

                   Figure 17: The command to compile the "Hello World" program.

   4. Type ls and note the new file.

                            Figure 18: Directory listing after running g++.
   5. Type in the follow command. ./a. At this point you should see Hello World! on the

              Figure 19: Classic "Hello World" program after running compiled program.

Note: The ./ command tells Cygwin to look at the current working directory.

   6. Type ls and locate the hello1.cpp file

   7. Type in the following command: g++ hello1.cpp -o hello1. The –o hello1 argument will
      save the executable as hello1.exe. If you do not specify this option, you will overwrite
      the a.exe file.

                         Figure 20: The command to compile the program.
   8. Type in the following command: ./hello1. You should see Hello World Second edition!

                Figure 21: The successful run of the second "Hello World!" program.
Congratulations! You have just created, compiled and run a C++ program in Cygwin.

                                  APPENDIX A
Using the Vi Editor

The Vi editor is available on almost every Unix system including Sun SOLARIS.

The vi editor has two modes

   1. The command mode: In this mode the characters you type in are used as commands.
   2. The insert mode: In this mode the characters typed in are inserted into the file as text.

When you enter the editor you will be in command mode
              To Enter the insert mode type i
              To enter insert at the end of the line so you com append, type a
              To go from insert mode to command mode press the Esc key

You may see some lines starting with the ~ character. These are just placeholder lines that are
past the end of your file.

All commands must be types while in command mode.
Vi Commands
The following is not a complete list of commands. For help outside the editor (i.e. the command
line) type; man vi.

Screen Movement
Ctrl-U      Scroll Up
Ctrl-D      Scroll Down
Ctrl-F      Scroll Forward
Ctrl-B      Scroll Back

Line Movement
j           Move down one line
k           Move up one line
h           Move left one character
l           More right one character
kG          Go to line k
.           Repeat last edit (change, deletion) command

Deletion Commands
dd          Delete current line
ndd         Delete next n lines
nx          Delete next n character
D           Delete from current position to end of line

Saving and Inserting Files
:w          Save your file
: w file    Save as new file
:w! file    Save your file even if it already exists
:wq         Quit and Save
:q!         Quit but does not save (important command when you mess up)
ZZ          Quit and save same as :wq but you don’t need to hit the enter
:r file     Insert file at the cursor position

Cut and Paste
To move text you first type d followed by any movement command to delete the text. The last
thing you delete is save in a buffer. You can use p to paste this buffer back into the document.
To copy, first delete the text and paste it right back, then move and paste in again in the new


To top