Cygwin User's Guide

Cygwin User's Guide

Cygwin User's Guide

ii

Copyright ? Cygwin authors

Permission is granted to make and distribute verbatim copies of this documentation provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this documentation under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this documentation into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.

Cygwin User's Guide

iii

Contents

1 Cygwin Overview

1

1.1 What is it? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Quick Start Guide for those more experienced with Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Quick Start Guide for those more experienced with UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.4 Are the Cygwin tools free software? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 A brief history of the Cygwin project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.6 Highlights of Cygwin Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6.2 Permissions and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6.3 File Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6.4 Text Mode vs. Binary Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.6.5 ANSI C Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.6.6 Process Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6.6.1 Problems with process creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6.7 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6.8 Sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6.9 Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.7 What's new and what changed in Cygwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.7.1 What's new and what changed in 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.7.2 What's new and what changed in 3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.7.3 What's new and what changed in 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.7.4 What's new and what changed in 2.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.7.5 What's new and what changed in 2.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.7.6 What's new and what changed in 2.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.7.7 What's new and what changed in 2.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.7.8 What's new and what changed in 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.7.9 What's new and what changed in 2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.7.10 What's new and what changed in 2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.7.11 What's new and what changed in 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.7.12 What's new and what changed in 2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Cygwin User's Guide

iv

1.7.13 What's new and what changed in 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.7.14 What's new and what changed in 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7.15 What's new and what changed in 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7.16 What's new and what changed in 1.7.35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7.17 What's new and what changed in 1.7.34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7.18 What's new and what changed in 1.7.33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.7.19 What's new and what changed in 1.7.32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.7.20 What's new and what changed in 1.7.31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7.21 What's new and what changed in 1.7.29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7.22 What's new and what changed in 1.7.28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7.23 What's new and what changed in 1.7.27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7.24 What's new and what changed in 1.7.26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7.25 What's new and what changed in 1.7.25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7.26 What's new and what changed in 1.7.24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.27 What's new and what changed in 1.7.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.28 What's new and what changed in 1.7.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.29 What's new and what changed in 1.7.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.30 What's new and what changed in 1.7.19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.31 What's new and what changed in 1.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.32 What's new and what changed in 1.7.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.33 What's new and what changed in 1.7.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.34 What's new and what changed in 1.7.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.35 What's new and what changed in 1.7.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.36 What's new and what changed in 1.7.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.37 What's new and what changed in 1.7.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.38 What's new and what changed in 1.7.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.39 What's new and what changed in 1.7.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.7.40 What's new and what changed in 1.7.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.7.41 What's new and what changed in 1.7.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.7.42 What's new and what changed in 1.7.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.7.43 What's new and what changed in 1.7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.7.44 What's new and what changed in 1.7.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.7.45 What's new and what changed in 1.7.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.7.46 What's new and what changed in 1.7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.7.47 What's new and what changed from 1.5 to 1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.7.47.1 OS related changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7.47.2 File Access related changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7.47.3 Network related changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.7.47.4 Device related changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.7.47.5 Other POSIX related changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.7.47.6 Security related changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.7.47.7 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Cygwin User's Guide

v

2 Setting Up Cygwin

26

2.1 Internet Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.1.1 Download Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.1.2 Selecting an Install Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.3 Local Package Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.4 Connection Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.5 Choosing Mirrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.6 Choosing Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.7 Download and Installation Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.8 Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.9 Post-Install Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.10 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2 Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.2 Restricted Win32 environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.3 Changing Cygwin's Maximum Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4 Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.4.2 How to set the locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.3 The Windows Console character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.4 Potential Problems when using Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.4.5 List of supported character sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.5 Customizing bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3 Using Cygwin

36

3.1 Mapping path names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1.2 The Cygwin Mount Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1.3 UNC paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.1.4 The cygdrive path prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.1.5 The usertemp file system type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1.6 Symbolic links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1.7 Using native Win32 paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1.8 Using the Win32 file API in Cygwin applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1.9 Additional Path-related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2 Text and Binary modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2.1 The Issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2.2 The default Cygwin behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2.3 Binary or text? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download