cygwin-使用介绍

cygwin使用:

  使用上的方便性很是不错,启动Cygwin以后,会在Windows下得到一个Bash Shell,由于Cygwin是以Windows下的服务运行的,所以很多情况下和在Linux下有很大的不同

开始使用Cygwin:

比如PS,相当于Windows下的TM(任务管理器),直接Ps的话 那么得到的会是Cygwin下的Shell的进程如下

[email protected] ~
$ 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[email protected] ~
$ 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[email protected] ~
$ cd /cygdrive/d
Taynni[email protected] /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
drwxr-xr-x 8 Taynni-4 None 0 Jan 3 2005 Local Settings
dr-xr-xr-x 24 Taynni-4 None 0 Oct 16 2004 My Documents
drwxr-xr-x 12 Taynni-4 None 0 May 14 16:48 Mywww
drwxr-xr-x 2 Taynni-4 None 0 Jun 29 2004 Recycled
drwxr-xr-x 3 Taynni-4 None 0 Aug 22 04:44 SECBOOK
drwxr-xr-x 6 Taynni-4 None 0 Feb 28 2005 TaynniCHX
drwxr-xr-x 15 Taynni-4 None 0 Mar 30 01:04 TaynniGZ
drwxr-xr-x 12 Taynni-4 None 0 May 11 01:30 TaynniH
drwxr-xr-x 15 Taynni-4 None 0 Mar 12 04:27 TaynniYM
drwxr-xr-x 6 Taynni-4 None 0 Dec 13 2004 Taynniwww
drwxr-xr-x 8 Taynni-4 None 0 Aug 31 20:55 Word
Taynni[email protected] /cygdrive/d
$

在Cygwin下还可以运行Windows下的程序,如下:

[email protected] ~
$ 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[email protected] ~
$

  很明显的,直接输入CMD.EXE便可以得到一个本机CMDSHELL,这样你想运行什么程序都可以了

退出到Cygwin的Bash shell需要使用exit命令,很方便

  在Cygwin下还可以进行编译程序,比如C和perl,当然,你也可以借助ActivePy,这个东西也很不错,也是一个仿真器,在Windows下模拟perl的解释器.

  对于一个系统而言,没有相应的系统工具是不可能的,在Cygwin下拥有的UNIX工具基本上够你使用了。当然,这需要你安装完整的Cygwin包

  一般像grep,cut,sed,strings,strace,md5sum,diff,patch,ssh,xxd,等等工具你都可以进行安装和使用

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

Quote
Taynni[email protected] ~
$ 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[email protected] ~
$

来写一个hello world程序。

# cd

进入了/home/administrator目录,我当前的登陆帐号是administrator

# mkdir source

建立一个叫做source的子目录

# cd source

进入 /home/administrator/source

# vim hello.c

我们编辑hello.c文件,输入:

#include
int main(void) {
printf( "Hello World!");
}

然后,输入wq命令退到命令行。
输入编译指令:

# gcc hello.c -o hello

编译成功后可以看一下

# ls

看到hello.exe了吧,嘿嘿。
好,让我们运行看看。

# ./hello

效果如何?不错吧? :)
okey,现在玩一个C++的hello world,

# vim world.cpp

输入:

#include
using namespace std;
void main() {
cout << "Hello World!";
}

编译C++程序要用g++

# g++ world.cpp -o world

运行一下哈,

# ./world

如何,效果不错吧?诸位都是高手,走到这步应该编些简单程序都不成问题了吧:p
好了,关于如何编写makefile文件,如何用gdb下次再说了。

Linux开发一路过来 cygwin->make->gcc

常用命令
       在Bash shell的命令行交互中可以输入很多命令运行。例如:
命令 说明   命令 说明

touch 新建文件   cmd 切换到windows控制台,可以运行windows程序
rm 删除文件   --help 参数,显示命令帮助
mkdir 新建目录   man 显示命令帮助
rmdir 删除目录   info 显示命令更详细帮助
ls 显示文件和目录   ps 显示进程
cd 改当前目录 cd /   echo 输出变量值,echo $PATH
cp 复制文件   find 查找文件
mv 移动文件   diff 比较文件差异
查看命令帮助文档时,按 Ctrl+Z 或 Ctrl+C 退出命令

这些命令之所以可用,是因为对应的exe都放在 /bin目录下。如果追加扩展的exe放于此目录,也是可以运行的。
此外,bash也可以看作一个脚本语言,其比批处理更灵活,内部通过正则表达式可以最大发挥文本的功能;流程控制也具备了顺序编程语言的特点;熟悉其变量、方法和脚本文件的组织和使用,可以做很多日常的操作维护。

http://itlab.idcquan.com/linux/special/linuxcom/Index.html

时间: 2024-12-18 17:11:41

cygwin-使用介绍的相关文章

STLport-5.2.1 STL port配置; cl.exe 编译cpp:ms和cygwin两种模式;cygwin环境配置和使用、GCC编译入门

1.在ms中要使用windows sdk和相关的lib设置实在太麻烦啦,以及dll等文件缺失是在严重.所以我简单地利用了vs安装目录下的批处理文件,在命令窗口中进入: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC ,直接运行vcvarsall.bat加载vs中以及配置好的环境,就可以使用命令行: cl -GX hello.cpp去实现编译并运行.2012版本的vs中-GX换成-EHsc.同理我也可以使用vs2013.目前vs2013

【转】 Android 开发 之 JNI入门 - NDK从入门到精通

原文网址:http://blog.csdn.net/shulianghan/article/details/18964835 NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub - https://github.com/han1202012/NDKHelloworld.git -- Java传递参数给C语言实例程序 : GitHub - https://github.com/han1202012/NDKParameterPassing.git --C语言回调Java方法示例

jni入门

NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub - https://github.com/han1202012/NDKHelloworld.git -- Java传递参数给C语言实例程序 : GitHub - https://github.com/han1202012/NDKParameterPassing.git --C语言回调Java方法示例程序 : GitHub - https://github.com/han1202012/NDK_Callback.git --

编译原理简单介绍

编译原理学习导论 大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容.编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂.我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了.在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第

在Eclipse中搭建cocos2d-x的Android开发环境(免cygwin)

在突击几天学习Android开发之后,我开始转向cocos2d-x的Android开发了.由于自己以前有了解过cocos2d-x的开发,当时自己也学过不少游戏引擎,觉得cocos2d-x作为一个游戏引擎实在是比较简陋,没想到cocos2d-x现在红得发紫,这是我远远没有想到的.于是也赶赶潮流的末班车,查资料顺利地在Eclipse上搭建cocos2d-x的Androd开发环境. 原创文章,反对未声明的引用.原博客地址:http://blog.csdn.net/gamesdev/article/de

Hadoop本地库介绍及相关问题解决方法汇总

1.hadoop本地库的作用是什么?2.哪两个压缩编码器必须使用hadoop本地库才能运行?3.hadoop的使用方法?4.hadoop本地库与系统版本不一致会引起什么错误?5.$ export HADOOP_ROOT_LOGGER=DEBUG,console有什么作 本帖最后由 pig2 于 2014-3-20 20:46 编辑目的 鉴于性能问题以及某些Java类库的缺失,对于某些组件,Hadoop提供了自己的本地实现. 这些组件保存在Hadoop的一个独立的动态链接的库里.这个库在*nix平

MobaXterm 加装cygwin软件包

上次在<MobaXterm: SSH/X远程客户端, Xmanager的最佳免费替代品>里面介绍了MobaXterm这个Windows上的便携 多合一unix工具箱,它基于Cygwin,集成了ftp/telnet/ssh/rdp/vnc等多种远程连接能力,还有X server以支持连 接X桌面或者运行X程序. 虽然MobaXterm自身集成了很多工具,并且还提供了20多个大大小小的插件,但眼看了Cygwin官方仓库里面那么多软 件 而不能用,还是会很心痒,尤其是一些必备工具. MobaXter

Cygwin编译自定义OpenCV库报错:opencv_contrib: LOCAL_SRC_FILES points to a missing file

今天受命帮师弟调个OpenCV4Android 识别银行卡的程序,版本为OpenCV4Android2.4.9,使用方式为前文介绍的第一种方式,即通过jni调用opencv.如杂家前文所述,配套的NDK应使用较高版本的android-ndk-r9d.它的安装很简单,解压缩后设置环境变量到Path就ok:D:\ProgramFile\android-ndk-r9d; 但遗憾的是,同样的程序同样的配置在一台PC上通过Cygwin编译一切ok.但在新的一台电脑上却出现如下错误: Android NDK

cygwin的安装使用

Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 Bash shell 的改写版本和许多 UNIX 实用程序,它们提供大家熟悉的 UNIX 命令行界面.前一个组件是一个 Windows 动态链接库 (DLL).后一个组件是一组基于 Cygwin DLL 的程序,其中许多是用未经修改的 UNIX 源代码编译的.它们合在一起提供大家熟悉的 UNIX 环境. 这篇文章我们要安装 C

Cygwin中vi编辑器方向键和Backspace键不好使的解决方法

修改.virc文件(如果没有就创建)vi .virc 添加以下内容set nocpset backspace=start,indent,eol 保存退出:wq 如果是vim就修改.vimrc文件. Cygwin我想不用多介绍了,我就想说下用Cygwin来编写*nix下的程序.由于Cygwin默认安装(就是推荐的安装)后,没有安装文本编辑器,我今天的主要目的就是先给它装上文本编辑器vim.由于已经装上了Cygwin,所以不必卸载(其实在windows下卸载Cygwin比较麻烦,没有研究过),将你的