Cygwin : Java Glossary



CygWin (Cygnus Systems Windows) [latin for swan]. Primarily Cygwin is a way to run Linux BASH (Bourne Again Shell) scripts under Windows so that you can use the same scripting in both Linux and Windows. It contains a ton of other stuff including: Aspell spell checker, Bison, C++, curses, CVS, EMACS (Extensible Macro System), Grep, OpenSSL, Python, TROFF (Typesetting Runoff), SSH

Cygwin is a Linux-like environment for Windows. It consists of two parts: A DLL (Dynamic Link Library) (cygwin1.dll) which acts as a Linux emulation layer providing substantial Linux API (Application Programming Interface) functionality. A collection of tools, which provide Linux look and feel.

The Cygwin DLL works with all production versions of Windows since Windows 95, with the exception of Windows CE.

What Isn’t Cygwin?

Cygwin is not a way to run native Linux apps on Windows. You have to rebuild your application from source if you want to get it running on Windows. Cygwin is not a way to magically make native Windows apps aware of UNIX functionality, like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.


The package is so huge it takes hours to install. You cannot install it into X:\Program Files (x86)\cygwin. The original setup.exe you download is tiny however. It downloads just the pieces you need. When you are done put C:\cygwin\bin\ on the Windows path (which will also put in on the Bash $PATH) and set up a Windows association between *.sh, *.bsh and C:\cygwin\bin\bash.exe.

Cygwin contains its own link.exe. Depending on the path, you will get the Cygwin link.exe or the Microsoft link.exe

Using Bash

Here is how you let up an environment variable in an ordinary Windows *.bat, *.btm or *.cmd script:

Rem Set and echo an environment variable pointing to drive W:
set SSD=W:
echo %SSD%
rem display the path
rem display the current directory
rem -30-

Here is how you do the same thing in a Bash *.bsh script:

# Set and echo an environment variable pointing to drive W:
export SSD=/cygdrive/w
echo $SSD
# display the path
echo $PATH
# display the current directory
# -30-

Cygwin prefers POSIX (Portable Operating System Interface for Unix) style file names in Bash Scripts, e.g. C:\temp\something.txt/cygdrive/c/temp/something.txt

Bash Scripts must use Unix (\n) line-ending conventions or you will get dozens of error message complaining about \r.
Cdrtools: burning CDs under Cygwin
Linux: to learn about Cygwin/Unix/Bash script commands

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number