cygwin安装和使用

来源:互联网 发布:软件项目实施进度 编辑:程序博客网 时间:2024/06/07 06:35

安装 Cygwin

与这里介绍的其他软件不同,Cygwin 使用 Windows 安装程序。Cygwin setup.exe 文件可以重新安装软件,可以添加、修改或升级 Cygwin 配置的组件。

在 Windows 系统上打开浏览器,通过访问 http://cygwin.com/setup.exe 下载 Cygwin 安装程序。安装程序本身非常小(大约 600KB),因为大多数 Cygwin 软件是在安装过程中下载的。完成下载之后,按照以下步骤安装 Cygwin

1 运行安装程序。图 显示 Cygwin 欢迎屏幕。 

图 1. 在安装 Cygwin 期间出现的第一个对话框


2 单击 Next 进入下一个屏幕,选择要执行的安装类型。

3 单击 Install from Internet

4 单击 Next,然后选择一个安装目录。

配置安装的窗口见图 2

图 2. Cygwin 安装选项


在大多数情况下,推荐的安装选项是合适的,也可以进行定制,但是要注意几点:

· 不要在 Windows 系统的根目录(比如 C:)中安装 Cygwin。最好把 Cygwin 安装在它自己的子目录中,比如默认目录(C:\cygwin)或 C:\Program Files\cygwin。(您选择的目标目录将成为模拟的 UNIX 环境的根目录/。例如,如果在 C:\cygwin 中安装,那么虚拟的 /usr/bin 实际上是 C:\cygwin\usr\bin)。

· 对于 Install For 选项,不要选择 Just Me

· 把 Default Text File 类型设置为 Unix,从而尽可能提高与其他 UNIX 机器上存储的现有文件的兼容性。

5. 单击Next

在下一个窗口中,选择一个存储 Cygwin 所需的数据的目录。不要选择前一步中选择的 Cygwin 目录。 如果可能的话,应该在有至少 1GB 空闲空间的驱动器上创建或选择一个目录。

6. 再次单击 Next,选择使用的 Internet 连接类型。通常应该选择 Direct Connection

7. 再次单击 Next

稍等一会儿,Cygwin 会下载当前的镜像站点列表,让您选择一个镜像站点,见图 3。如果不确定应该选择哪个站点,就选择地理位置比较近的站点。

图 3. 选择您认为可靠的或地理位置比较近的安装站点


经过短暂的延迟之后,安装程序显示可用的类别和包的完整列表。图 4 显示一个类别的部分内容。单击加号 (+) 展开对应的类别;单击 循环” 标志在 Skip(忽略此包)和包的所有可用版本之间循环。如果 Cygwin 提供一个实用程序的多个版本,应该选择满足您的需求的实例。顺便说一下,如果选择 列,就会下载二进制包;选择 S,也会下载源代码。

图 4. 选择最适合需要的包和实例


在 Cygwin 中可用的包超过 1,000 个,所以应该只选择您需要的类别和包。(安装所有 Cygwin 包会占用超过 800MB 的磁盘空间)。以后随时可以添加整个类别或单独的包:只需重新运行 Cygwin 安装程序。(还可以在任何时候用相同的安装程序删除或更新包)。搜索 Cygwin 包列表(参见 参考资料),检查您喜欢的 UNIX 实用程序是否在 Cygwin 中可用。

8. 选择您需要的工具之后,单击 Next,下载过程开始!

进度条分别反映每个包的下载进度、总下载进度和磁盘使用量。图 是在我的测试计算机上在安装期间截取的屏幕图。

图 5. Cygwin 下载大量软件,所以请耐心等待


最后,安装程序安装软件并(可选地)在 Start 菜单和桌面中添加快捷方式。单击 Finish

9. 通过使用 Start 菜单或双击 Cygwin 图标(如果添加了这些快捷方式的话),启动 Cygwin;也可以执行 Cygwin 目录中的 Cygwin 脚本(比如 C:\cygwin\Cygwin.bat)。

图 显示第一次启动 Cygwin 时的情况:它创建您的主目录,执行 shell 启动文件,显示提示。现在可以运行 UNIX 命令了!

图 6. 现在可以在 Windows 中使用 UNIX 命令了!


例如,试一下 ls -a或 type touch。后一个命令表明 touch是可执行文件 /usr/bin/touch



二:使用

使用上的方便性很是不错,启动
Cygwin以后,会在Windows下得到一个Bash Shell,由于Cygwin是以

Windows
下的服务运行的,所以很多情况下和在Linux下有很大的不同,这点上,苹果建议你多理解下这个

工作环境。我们开始使用
Cygwin吧,比如PS,相当于Windows下的TM(任务管理器),呵呵,直接Ps的话

那么得到的会是
Cygwin下的Shell的进程如下
Taynni-417@ENTERBD-417 ~
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
2212 1 2212 2212 con 1003 01:54:29 /usr/bin/bas
3384 2212 3384 3232 con 1003 01:59:24 /usr/bin/ps

如果这个时候你需要在
Cygwin下显示Windows下的进程你可以在PS后面加上参数-aW

PS
的相关用法:

Quote
Usage ps [-aefl] [-u uid]
-f = show process uids, ppids
-l = show process uids, ppids, pgids, winpids
-u uid = list processes owned by uid
-a, -e = show processes of all users
-s = show process summary
-W = show windows as well as cygwin processes

很容易看懂吧,呵呵

有点不一样的地方,我想大家一定想知道在
Cygwin下怎么访问Windows下的内容了,

呵呵,首先使用
DF命令直接查看下本地驱动器,呵呵,很容易了吧,显示的内容

如下
:

Quote
Taynni-417@ENTERBD-417 ~
$ df
Filesystem 1k-blocks Used Available Use% Mounted on
e:\cygwin\bin 10231384 4844432 5386952 48% /usr/bin
e:\cygwin\lib 10231384 4844432 5386952 48% /usr/lib
e:\cygwin 10231384 4844432 5386952 48% /
c: 5106676 1240312 3866364 25% /cygdrive/c
d: 10239408 6560328 3679080 65% /cygdrive/d
e: 10231384 4844432 5386952 48% /cygdrive/e
f: 6333252 4065564 2267688 65% /cygdrive/f
g: 7150972 4672724 2478248 66% /cygdrive/g

如上便是我的硬盘的全部了,在后面的/cygdrive/c便是C盘了,然后/cygdrive/d便是D盘了

这样的话,想进
D盘便可以这样进,呵呵

Quote
Taynni-417@ENTERBD-417 ~
$ cd /cygdrive/d

Taynni-417@ENTERBD-417 /cygdrive/d
$ ls -l
ls: pagefile.sys: Permission denied
total 0
drwxr-xr-x 9 Taynni-4 None 0 Aug 31 20:56 Book
drwxr-xr-x 2 Taynni-4 None 0 Aug 23 05:24 Ftproot
drwxr-xr-x 30 Taynni-4 None 0 May 10 23:38 HACKER
drwxr-xr-x 11 Taynni-4 None 0 Feb 1 2005 JIAOXUE
Taynni-417@ENTERBD-417 /cygdrive/d
$

Cygwin下还可以运行Windows下的程序,如下:
Taynni-417@ENTERBD-417 ~
$ cmd.exe
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

e:\cygwin\home\Taynni-417>d:

D:\>cd hacker

D:\HACKER>cd tools

D:\HACKER\Tools>cd pstools

D:\HACKER\Tools\Pstools>ls
pdh.dll pskill.exe pspasswd.exe
Psinfo.exe psexec.exe pslist.exe psservice.exe
Pstools.chm psfile.exe psloggedon.exe psshutdown.exe
README.TXT psgetsid.exe psloglist.exe pssuspend.exe

D:\HACKER\Tools\Pstools>exit

Taynni-417@ENTERBD-417 ~
$

很明显的,直接输入CMD.EXE便可以得到一个本机CMDSHELL,这样你想运行什么程序都可以了退出到CygwinBash shell需要使用exit命令,很方便吧,呵呵
所要使用的命令 
--help获取帮助,如下所示:比如我不知道md5sum做什么用的

(这个命令是用于效验文件
md5值的,主要是为了文件的完整性和安全性)

Quote
Taynni-417@ENTERBD-417 ~
$ md5sum --help
Usage: md5sum [OPTION] [FILE]...
or: md5sum [OPTION] --check [FILE]
Print or check MD5 (128-bit) checksums.
With no FILE, or when FILE is -, read standard input.

-b, --binary read files in binary mode (default on DOS/Windows)
-c, --check check MD5 sums against given list
-t, --text read files in text mode (default)

The following two options are useful only when verifying checksums:
--status don't output anything, status code shows success
-w, --warn warn about improperly formated checksum lines

--help display this help and exit
--version output version information and exit

The sums are computed as described in RFC 1321. When checking, the input
should be a former output of this program. The default mode is to print
a line with checksum, a character indicating type (`*' for binary, ` ' for
text), and name for each FILE.

Taynni-417@ENTERBD-417 ~
$