0:简介
1:下载和安装
2:使用

简介
Cygwin是一个运行于Windows下的免费的UNIX的子系统,使用一个Dll(动态链接库)来

实现,这样,我们可以开发出Cygwin下的UNIX工具,使用这个DLL运行在Windows下,大家可以想

一下,你在运行Windows的同时,也可以使用VI,BASH,TAR,SED等UNIX下的工具,不是很好吗?这个VM

虚拟机有很相同的原理,但是VM是虚拟多个,而Cygwin是同时使用Windows和UNIX,很爽吧,这样

对于那些在Windows和Unix下移植的程序来说是比较简单的事情了.

一:下载和安装

其下载安装程序在Http://www.cygwin.com,下载安装程序以后,运行,然后会要你选择是通过什么方

式进行下载安装所需要的文件,有三种方式,Http.Ftp.本地,我建议你首先通过Http和Ftp把安装所需要的

文件全部下回来以后选择本地安装比较好,在线安装比较慢,会是一个很长的等待,虽然所需要的文件

不大,但是全部安装的话会是4G大小,还是有选择性的安装吧,在安装界面,有Prev(老版本),Curr(当前版本)
Exp(最新版本测试版本),苹果这里建议你选择Curr,然后你单击View按钮,这样你可以在可以使用的安装

文件之间进行选择性的安装,如果你真的想全部安装的话,那么左键点击一下最上面的All,然后看到

INSTALL,这样选择了全部,进行全部安装便可以了,安装完以后,会在桌面产生一个图标,双击这个图标,

呵呵,你便可以使用Cygwin了.关于安装的具体参数方法,网络上有比较详细的介绍,我就不罗嗦了.

PS:下载方面我建议如下:你可以下载以下几个版本的Cygwin:

原始站: http://sources.redhat.com/cygwin/;
印地安那大学的免安裝光盘cygwin, 叫做 XLiveCD:http://xlivecd.indiana.edu/ ,
USA, Indiana ftp://ftp.ussg.indiana.edu/pub/xlivecd/xlivecd-20041201.iso
Mirrors:
Belgium, Geel ftp://sin.khk.be/mirror/xlivecd/xlivecd-20041201.iso
Germany, Bochum ftp://linux.rz.ruhr-uni-bochum.de/xlivecd/xlivecd-20041201.iso
Germany, Bochum http://linux.rz.ruhr-uni-bochum.de/download/xlivecd/xlivecd-20041201.iso
Sweden, Ume? http://ftp.acc.umu.se/mirror/xlivecd/xlivecd-20041201.iso
USA, Wisconsin ftp://xlivecd.mirrors.tds.net/pub/xlivecd/xlivecd-20041201.iso
USA, Georgia ftp://ftp.gtlib.cc.gatech.edu/pub/XLiveCD/xlivecd-20041201.iso
USA, Georgia http://ftp.gtlib.cc.gatech.edu/pub/XLiveCD/xlivecd-20041201.iso
苹果提示:USA, Wisconsin ftp://xlivecd.mirrors.tds.net/pub/xlivecd/xlivecd-20041201.iso
这个下载速度快
Shelley Yen 的cygnuwin : ftp://ftp.tceb.edu.tw/pub/free_software/cygnuwin/
ftp://ftp.tcc.edu.tw/iso/cygwin/cyg+gnu.iso(cygwin 与 gnuwin 的合成版本)
老古开发网:ftp://ic.laogu.com/down/cygwin.rar
http://soft.laogu.com/down/cygwin.rar (均为05年3月版本)

苹果提示:这个站点是高人站点,比较NB,呵呵,喜欢单片机的朋友有福气,超级多 的下载资料等着你,包含*NIX下的东西...

其他的镜像站点:http://cygwin.com/mirrors.html

苹果自己也下载了最新版本的Cygwin,但是偶没有空间,真的需要的话,请哪位好心人提供空间

偶可以上传上去,联系请加偶的QQ:4791821,或者给偶发邮件:Taynni@gmail.com注明一下就可以了.

二:使用

使用上的方便性很是不错,启动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
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-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,这样你想运行什么程序都可以了

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

在Cygwin下还可以进行编译程序,比如C和perl,当然,你也可以借助ActivePy,这个东西也很不错

也是一个仿真器,在Windows下模拟perl的解释器.

对于一个系统而言,没有相应的系统工具是不可能的,在Cygwin下拥有的UNIX工具基本上够你使用

了。当然,这需要你安装完整的Cygwin包,我的机子上就安装了完整的,比较大,如果硬盘允许,苹果建

议你完整安装!像grep,cut,sed,strings,strace,md5sum,diff,patch,ssh,xxd,等等工具

你都可以进行安装和使用,如果你真的不知道应该怎么用这些工具,其实苹果很多也不会,只要去接触

你就会了!!!没有不会使用的东西,只有你愿意不愿意去使用而已!说笑了,言归正传,请使用

所要使用的命令 --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 ~
$
基本使用上应该没有多大的问题了,文章因为我偷懒,也是不知道该怎么写才可以帮助大家

我很苦恼的是,并没有人给我意见,所以先写这么点吧,如果你有问题的话,请加我的qq或者

给我邮件,大家可以讨论,不是么?

下面给出一些关于Cygwin的资料:
1:http://www.isi.edu/nsnam/ns/ns-cygwin.html
2:http://pigtail.net/LRP/printsrv/cygwin-sshd.html
3:http://kde-cygwin.sourceforge.net/
4:http://x.cygwin.com/
5:http://chinyi.ncit.edu.tw/~peterju/cygwin.html
6:http://cygnome.sourceforge.net/
http://xlivecd.indiana.edu/

根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。

1 引言
        cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。

---------------------------------------------------------------------

根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。

1 引言
        cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。

2 机理
        cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。
        关于cygwin实现的更详细描述,请参考http://cygwin.com/cygwin-ug-net/highlights.html.

3 安装设置cygwin
3.1 安装
        要安装网络版的cygwin,可以到http://cygwin.com,点击"Install Cygwin Now!"。这样会先下载一个叫做setup.exe的GUI安装程序,用它能下载一个完整的cygwin。按照每一屏的指示可以方便的进行安装。
3.2 环境变量
        开始运行bash之前,应该设置一些环境变量。cygwin提供了一个.bat文件,里面已经设置好了最重要的环境变量。通过它来启动bash是最安全的办法。这个.bat文件安装在cygwin所在的根目录下。 可以随意编辑该文件。
        CYGWIN变量用来针对cygwin运行时系统进行多种全局设置。开始时,可以不设置CYGWIN或者在执行bash前用类似下面的格式在dos框下把它设为tty
C:/> set CYGWIN=tty notitle glob

PATH变量被cygwin应用程序作为搜索可知性文件的路径列表。当一个cygwin进程启动时,该变量被从windows格式(e.g. C:/WinNT/system32;C:/WinNT)转换成unix格式(e.g., /WinNT/system32:/WinNT)。如果想在不运行bash的时候也能够使用cygwin工具集,PATH起码应该包含x:/cygwin/bin,其中x:/cygwin 是你的系统中的cygwin目录。
        HOME变量用来指定主目录,推荐在执行bash前定义该变量。当cygwin进程启动时,该变量也被从windows格式转换成unix格式,例如,作者的机器上HOME的值为C:/(dos命令set HOME就可以看到他的值,set HOME=XXX可以进行设置),在bash中用echo $HOME看,其值为/cygdrive/c.
        TERM变量指定终端型态。如果美对它进行设置,它将自动设为cygwin。
        LD_LIBRARY_PATH被cygwin函数dlopen()作为搜索.dll文件的路径列表,该变量也被从windows格式转换成unix格式。多数Cygwin应用程序不使用dlopen,因而不需要该变量。
3.3 改变cygwin的最大存储容量
        Cygwin程序缺省可以分配的内存不超过384 MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下:
regtool -i set /HKLM/Software/Cygnus/ Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus/ Solutions/Cygwin

4 使用cygwin
        这一段讲一下cygwin和传统unix系统的不同之处。
4.1 映射路径名
4.1.1 引言
        cygwin同时支持win32和posix风格的路径,路径分隔符可以是正斜杠也可以是反斜杠。还支持UNC路径名。(在网络中,UNC是一种确定文件位置的方法,使用这种方法用户可以不关心存储设备的物理位置,方便了用户使用。在Windows操作系统,Novell Netware和其它操作系统中,都已经使用了这种规范以取代本地命名系统。在UNC中,我们不用关心文件在什么盘(或卷)上,不用关心这个盘(或卷)所在服务器在什么地方。我们只要以下面格式就可以访问文件:
//服务器名/共享名/路径/文件名
        共享名有时也被称为文件所在卷或存储设备的逻辑标识,但使用它的目的是让用户不必关心这些卷或存储设备所在的物理位置。)
        符合posix标准的操作系统(如linux)没有盘符的概念。所有的绝对路径都以一个斜杠开始,而不是盘符(如c:)。所有的文件系统都是其中的子目录。例如,两个硬盘,其中之一为根,另一个可能是在/disk2路径下。
        因为许多unix系统上的程序假定存在单一的posix文件系统结构,所以cygwin专门维护了一个针对win32文件系统的内部posix视图,使这些程序可以在windows下正确运行。在某些必要的情况下,cygwin会使用这种映射来进行win32和posix路径之间的转换。
4.1.2 cygwin mount表
        cygwin中的mount程序用来把win32盘符和网络共享路径映射到cygwin的内部posix目录树。这是与典型unix mount程序相似的概念。对于那些对unix不熟悉而具有windows背景的的人来说,mount程序和早期的dos命令join非常相似,就是把一个盘符作为其他路径的子目录。
        路径映射信息存放在当前用户的cygwin mount表中,这个mount table 又在windows的注册表中。这样,当该用户下一次登录进来时,这些信息又从注册表中取出。mount 表分为两种,除了每个用户特定的表,还有系统范围的mount表,每个cygwin用户的安装表都继承自系统表。系统表只能由拥有合适权限的用户(windows nt的管理员)修改。
        当前用户的mount表可以在注册表"HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系统表存在HKEY_LOCAL_MACHINE下。
        posix根路径/缺省指向系统分区,但是可以使用mount命令重新指向到windows文件系统中的任何路径。cygwin从win32路径生成posix路径时,总是使用mount表中最长的前缀。例如如果c:被同时安装在/c和/,cygwin将把C:/foo/bar转换成/c/foo/bar.
        如果不加任何参数地调用mount命令,会把Cygwin当前安装点集合全部列出。在下面的例子中,c盘是POSIX根,而d盘被映射到/d。本例中,根是一个系统范围的安装点,它对所有用户都是可见的,而/d仅对当前用户可见。
c:/> mount
f:/cygwin/bin on /usr/bin type system (binmode)
f:/cygwin/lib on /usr/lib type system (binmode)
f:/cygwin on / type system (binmode)
e:/src on /usr/src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
        还可以使用mount命令增加新的安装点,用umount删除安装点。
        当Cygwin不能根据已有的安装点把某个win32路径转化为posix路径时,cygwin会自动把它转化到一个处于缺省posix路径/cygdrive下的的一个安装点. 例如,如果Cygwin 访问Z:/foo,而Z盘当前不在安装表内,那么Z:/将被自动转化成/cygdrive/Z.
        可以给每个安装点赋予特殊的属性。自动安装的分区显示为“auto”安装。安装点还可以选择是"textmode"还是 "binmode",这个属性决定了文本文件和二进制文件是否按同样的方式处理。
4.1.3 其他路径相关信息
        cygpath工具提供了在shell脚本中进行win32-posix路径格式转换的能力。
        HOME, PATH,和LD_LIBRARY_PATH环境变量会在cygwin进程启动时自动被从Win32格式转换成了POSIX格式(例如,如果存在从该win32路径到posix路径的安装,会把c:/cygwin/bin转为/bin)。

cygwin的命令

基本操作命令:
----------------------------------------------------------------------
----------------------------------------------------------------------
ls #以默认方式显示当前目录文件列表
ls –a #显示所有文件包括隐藏文件
ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls --color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中

----------------------------------------------------------------------
cd dir #切换到当前目录下的dir目录
cd / #切换到根目录
cd .. #切换到到上一级目录
cd ../.. #切换到上二级目录
cd ~ #切换到用户目录,比如是root用户,则切换到/root下

----------------------------------------------------------------------
rm file #删除某一个文件
rm -fr dir #删除当前目录下叫dir的整个目录

----------------------------------------------------------------------
cp source target #将文件source 复制为 target
cp /root/source . #将/root下的文件source复制到当前目录
cp –av soure_dir target_dir #将整个目录复制,两目录完全一样
cp –fr source_dir target_dir #将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同

----------------------------------------------------------------------
mv source target #将文件source更名为target

----------------------------------------------------------------------
diff dir1 dir2 #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2 #比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 #比较文件,显示两个文件不相同的内容

----------------------------------------------------------------------
echo message #显示一串字符
echo "message message2" #显示不连续的字符串
cat:
cat file #显示文件的内容,和DOS的type相同
cat file | more #显示文件的内容并传输到more程序实现分页显示,使用命令less file可实现相同的功能
more #分页命令,一般通过管道将内容传给它,如ls | more

----------------------------------------------------------------------
export LC_ALL=zh_CN.GB2312 #将环境变量LC_ALL的值设为zh_CN.GB2312
export DISPLAY=0:0 #通过该设置,当前字符终端下运行的图形程序可直接运行于Xserver
date #显示当前日期时间
date -s 20:30:30 #设置系统时间为20:30:30
date -s 2002-3-5 #设置系统时期为2003-3-5
clock –r #对系统Bios中读取时间参数
clock –w #将系统时间(如由date设置的时间)写入Bios

----------------------------------------------------------------------
eject #umout掉CDROM并将光碟弹出,但cdrom不能处于busy的状态,否则无效

----------------------------------------------------------------------
du #计算当前目录的容量
du -sm /root #计算/root目录的容量并以M为单位
find -name /path file #在/path目录下查找看是否有文件file
grep -ir “chars” #在当前目录的所有文件查找字串chars,并忽略大小写,-i为大小写,-r为下一级目录

----------------------------------------------------------------------
vi file #编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按ctrl+c, 然后输入:x(退出),:x!(退出并保存) :w(写入文件),:w!(不询问方式写入文件), :r file(读文件file) ,:%s/oldchars/newchars/g(将所有字串oldchars换成newchars) 这一类的命令进行操作

----------------------------------------------------------------------
man ls #读取关于ls命令的帮助
man ls | grep color #读取关于ls命令的帮助并通过grep程序在其中查找color字串

----------------------------------------------------------------------
startx #运行Linux图形有环境
Xfree86 #只运行X图形server

----------------------------------------------------------------------
reboot #重新启动计算机
halt #关闭计算机
init 0 #关闭所有应用程序和服务,进入纯净的操作环境
init 1 #重新启动应用及服务
init 6 #重新启动计算机

----------------------------------------------------------------------
扩展命令
----------------------------------------------------------------------
----------------------------------------------------------------------
tar xfzv file.tgz #将文件file.tgz解压
tar xfzv file.tgz -C target_path #将文件file.tgz解压到target_path目录下
tar cfzv file.tgz source_path #将文件source_path压缩为file.tgz
tar c directory > directory.tar #将目录directory打包成不压缩的directory.tar
gzip directory.tar #将覆盖原文件生成压缩的 directory.tar.gz
gunzip directory.tar.gz #覆盖原文件解压生成不压缩的 directory.tar。
tar xf directory.tar #可将不压缩的文件解包

----------------------------------------------------------------------
dmesg #显示kernle启动及驱动装载信息
uname #显示操作系统的类型
uname -R #显示操作系统内核的version

----------------------------------------------------------------------
strings file 显示file文件中的ASCII字符内容

----------------------------------------------------------------------
rpm -ihv program.rpm #安装程序program并显示安装进程
rpm2targz program.rpm program.tgz #将rpm格式的文件转换成tarball格式

----------------------------------------------------------------------
su root #切换到超级用户
sulogin /dev/tty4 #在tty4即alt+F4终端等待用户登陆或直接登陆开启一个shell
chmod a+x file #将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file #将文件file设置为可读写
chown user /dir #将/dir目录设置为user所有

----------------------------------------------------------------------
mknod /dev/hda1 b 3 1 #创建块设备hda1,主设备号为3,从设备号为1,即master硬盘的的第一个分区
mknod /dev/tty1 c 4 1 #创建字符设备tty1,主设备号为4,众设备号为1,即第一个tty终端

----------------------------------------------------------------------
touch /tmp/running #在/tmp下创建一个临时文件running,重新启动后消失

----------------------------------------------------------------------
sleep 9 #系统挂起9秒钟的时间

----------------------------------------------------------------------
lpd stop 或 cups stop #停止打印服务程序
lpd start 或 cups start #启动打印服务程序
lpd restart 或 cups restart #重新启动打印服务程序
lpr file.txt #打印文件file.txt

----------------------------------------------------------------------
fdisk /dev/hda #就像执行了dos的fdisk一样
cfdisk /dev/hda #比fdisk界面稍为友好些
mount -t ext2 /dev/hda1 /mnt #把/dev/hda1装载到 /mnt目录
df #显示文件系统装载的相关信息
mount -t iso9660 /dev/cdrom /mnt/cdrom #将光驱加载到/mnt/cdrom目录
mount-t smb //192.168.1.5/sharedir /mnt -o username=tomlinux,password=tomlinux #将windows的的共享目录加载到/mnt/smb目录,用户名及密码均为tomlinux
mount -t nfs 192.168.1.1:/sharedir /mnt #将nfs服务的共享目录sharedir加载到/mnt/nfs目录
umount /mnt #将/mnt目录卸载,/mnt目录必须处于空闲状态
umount /dev/hda1 #将/dev/hda1设备卸载,设备必须处于空亲状态
sync #将cache中的内容与磁盘同步,在Linux中复制文件,一般要系统空闲才去写文件
e2fsck /dev/hda1 #检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1#检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1#检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1#检查磁盘是否有坏区
mkfs /dev/hda1 #格式化/dev/hda1为ext2格式
mkfs.minix /dev/hda1 #格式化/dev/hda1为minix格式文件系统
mfks /dev/hda9 #格工化/dev/hda9为Linux swap格式
swapon /dev/hda9 #将swap分区装载当作内存来用
swapoff /dev/hda9 #将swap分区卸载

----------------------------------------------------------------------
lilo #运行lilo程序,程序自动查找/etc/lilo.conf并按该配置生效
lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效
grub #在Linux shell状态下运行boot loader设置程序
grub-install #安装grub磁盘引导程序,成功后升级内核无须像lilo一样要重新启动系统,只需修改/etc/grub.conf即可实现新引导配置
rdev bzImage #显示kernel的根分区信息
rdev bzImage /dev/hda1 #将kernel的根分区设置为/dev/hda1,这在没有lilo等引导程序的系统中非常重要.

----------------------------------------------------------------------
dd if=/dev/fd0 of=floppy.fd #将软盘的内容复制成一个镜像,功能与旧石器时代常用的hd-copy相同
dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一个大小为1M的块设备,可以把它当作硬盘的一个分区来用
mkfs root.ram #将块设备格式化为ext2格式
dd if=root.ram of=/dev/ram0 #将init.rd格式的root.ram的内容导入内存
mount /dev/ram0 /mnt #ramdisk /dev/ram0装载到/mnt 目录

----------------------------------------------------------------------
gcc hello.c #将hello.c编译成名为a.out二进制执行文件
gcc hello.c -o hello #将hello.c编译成名为hello的二进制执行文件
gcc -static -o hello hello.c #将hello.c编译成名为hello的二进制静态执行文件
ldd program #显示程序所使用了哪些库
objcopy -S program #将程序中的符号表及无用的调试信息去掉,可以小很多

----------------------------------------------------------------------
strace netscape #跟踪程序netscape的执行,看调用的库,环境变量设置,配置文件,使用的设备,调用的其它应用程序等,在strace下,程序干了什么东东一目了然。
ps #显示当前系统进程信息
ps –ef #显示系统所有进程信息
kill -9 500 #将进程编号为500的程序干掉
killall -9 netscape #将所有名字为netscape的程序杀死,kill不是万能的,对僵死的程序则无效。
top #显示系统进程的活动情况,按占CPU资源百分比来分
free #显示系统内存及swap使用情况
time program #在program程序结束后,将计算出program运行所使用的时间

----------------------------------------------------------------------
chroot . #将根目录切换至当前目录,调试新系统时使用
chroot /tomlinux #将根目录切换至/tomlinux目录
chroot /tomlinux sbin/init #将根目录切换至/tomlinux并执行sbin/init
adduser id #增加一个叫id的用户
userdel id #增除叫id的用户
userlist #显示已登陆的用户列表
passwd id #修改用户id的密码
passwd -d root #将root用户的密码删除
chown id /work #指定/work目录为id用户所拥有

----------------------------------------------------------------------
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 #设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0
ifconfig eth0:1 192.168.1.2 #捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.x #捆绑网卡1的第二个地址为192.168.1.x
ifconfig down eth1 #关闭第二块网卡,使其停止工作
hostname -F tomlinux.com #将主机名设置为tomlinux.com
route #显示当前路由设置情况
route add default gw 192.168.1.1 metric 1 #设置192.168.1.1为默认的路由
route del default #将默认的路由删除
dhcp #启动dhcp服务
dhclient #启动dhcp终端并自动获取IP地址
ping 163.com #测试与163.com的连接
ping 202.96.128.68 #测试与IP 202。96.128.68的连接

----------------------------------------------------------------------
probe rtl8139 #检查驱动程序rtl8139.o是否正常工作
lsmod #显示已装载的驱动程序
insmod rtl8139.o #装载驱动程序rtl8139.o
insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #装载驱动程序并设置相关的irq,dma参数
rmmod rtl8139 #删除名为rtl8139的驱动模块
gpm -k #停止字符状态下的mouse服务
gpm -t ps2 #在字符状态下以ps2类型启动mouse的服务

----------------------------------------------------------------------
telnet 192.168.1.1 #登陆IP为192.168.1.1的telnet服务器
telnet iserver.com #登陆域名为iserver.com的telnet服务器
ftp 192.168.1.1 或 ftp iserver.com #登陆到ftp服务

Linux开发中的常用命令(cygwin环境也同样适用)

cygwin使用心得
1.在cygwin里访问Windows盘
cd /cygdrive/c
cd c:
2.整合cygwin命令到Windows中
假设cygwin安装在d:/develop/cygwin,则将d:/develop/cygwin/bin添加到系统变量PATH中(最好加在windows前面,这样的话,有些相同的命令的话,是先执行cygwin的命令,而不是windows命令,比如find)
就可以直接在cmd.exe下面执行tar czvf xxx.tgz ./
基本上所有的命令都可以用了,包括ls,more,less,find,grep等。
3.使用TGZ备份
将cygwin的BIN加入到PATH
建一个BAT文件:
@echo off
d:
cd d:/website/8thmanage
tar czvf 8thmanage.tgz 8thmanage
4.Windows使用SHELL脚本
将cygwin的BIN加入到PATH
在$CYGWIN的目录/var/下面建一脚本t.sh,注意,t.sh里面的路径,都是相对于$CYGWIN的,里面需要访问C盘的,请用/cygdrive/c/
在Windows下执行:
d:/cygwin/bin/bash d:/cygwin/var/t.sh
(可以定期执行)
5.同步Windows系统用户
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
如果有Domain的话,需要加上-d domainname
6.安装系统服务
cygrunsrv
7.cygwing下使用rsync
a.安装rsync组件
b.进入cygwin,配置服务器
vi /etc/rsyncd.conf
...screts file=/etc/tom.ipaddr.pas
配置文件,参考我写的另外一篇rsync的文章,注意:密码文件权限必须是0400
chmod 0400 /etc/tom.ipaddr.pas
c.启动服务端
rsync --daemon
d.客户端同步
在客户端的cygwin下面,运行rsync同步,具体命令,请参考另外一篇rsync的文章。
8.cygwin下使用SSHD
a.需要安装了cygrunsrc,openssh
b.运行ssh-host-config -y
一路回车,直到出现CYGWIN=时,输入tty ntsec,再回车,
(或者,增加一系统环境变量CUGWIN=nesec tty)
c.已经安装好SSHD服务到你的Windows服务中,可以直接在服务中启动,关闭。
(cygrunsrc -S sshd或者net start sshd)
9.中文显示
vi ~/.bashrc
# 让ls和dir命令显示中文和颜色
alias ls='ls --show-control-chars --color'
alias dir='dir -N --color'
# 设置为中文环境,使提示成为中文
export LANG="zh_CN.GBK"
# 输出为中文编码
export OUTPUT_CHARSET="GBK"
~/.inputrc为
set completion-ignore-case on
set meta-flag on
set output-meta on
set convert-meta off
cygwin.bat脚本为:
@echo off
set MAKE_MODE=UNIX

--------------------------------
安装
可以直接到http://www.cygwin.com下载一个安装程序,setup.exe,这个程序只是一个安装程序,所有的模块将从网络下载安装。或者,你可以下载一个cygwin.iso的镜像,直接映象成光盘,再从光盘本地安装,这样会快很多,而且不用考虑断线的问题。

X下的中文支持
locale支持
Cygwin的locale支持一直都有问题,好在X程序还可以使用XLOCALE。
建议还是使用zh_CN.gbk, 不要使用zh_CN.GB2312
在移植程序时需要注意不要让程序连接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。方法是:检查被移植程序的全部源代码,发现
#include
就修改为
#define X_LOCALE
#include
同时注意程序的连接库要添加-lX11.
如果对于结果没有把握,可以找个Dependency Walker查看程序是否连接到了cygwin1.dll里面的setlocale,如果是,就说明有遗漏。
中文字体
PCF点阵字体
GTK1.x 和其他一些老的X程序都是用X字体,
注意必须要有编码与locale一致的字体,比如用zh_CN.gbk就必须要由GBK编码的字体,用zh_CN.GB2312就必须要有GB2312编码的字体
如果使用zh_CN.GB2312,这里有一个RedOffice面带的点阵字体包
可以采用ttf2bdf从TTF抽取得到bdf格式,然后再用bdf2pcf得到pcf格式的字体文件。
(这里有一个Windows版本的TTF2BDF,可以将Windows TTF字体转换出BDF字体, 注意得到bdf后要手工编辑一下文件头,将编码声明修改正确)

到字体之后,放到某个目录下,执行mkfontdir生成fonts.dir,然后用xset +fp
/path/to/your/fonts将字体路径加入即可(注意与fontconfig的配置不同,这里路径是不递归的,如果有的字体放在子目录里面,
子目录也需要添加进去才行)。

TTF字体
很多新的应用程序(比如GTK2)都使用fontconfig/libxft2来显示字体,它对TTF字体的支持比较好(X以前通过freetype, xft模块也支持TTF字体,但对中日韩字体的支持不是太好,而且也在Cygwin下似乎也没有这些模块)
完全可以使用Linux下的arphic字体包. 如果没有安装Linux,可以到http://packages.debian.org下载相应的包,然后用7zip解压提取出ttf文件。
得到字体文件之后,放到某个目录之下,编辑/etc/fonts/local.conf,将字体路径加入:
/path/to/my/ttf/fonts如果只是自己使用,可以将字体文件放到~/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能够发现这些字体了。

中文输入法
老黄(hzhr)移植了miniChinput到Cygwin,我也移植了fcitx-1.8.5和3.0,均可以从我的网站上找到 http://www.oliwen.com/bama...
一般设置了LC_CTYPE和XMODIFIERS就可以在程序中激活输入输入法了(除非这个程序没有XIM支持):
LC_CTYPE=zh_CN.gbk
XMODIFIERS="@im=Chinput"
export LC_CTYPE XMODIFIERS
对于fcitx而言,XMODIFIERS设置为什么都可以(但必须要设置),所以设置为"@im=Chinput"的话chinput和fcitx都可以正常使用
VI中的 Backspace 與 Delete 按鍵異常
首先確定 $TERM的設定為cygwin

echo $TERM

若不是,請設定為

TERM = cygwin
export TERM

Backspace 與 Delete這兩個鍵正常狀況下只有一個有用。可在 $HOME/.bash_profile 任選一個來使用

stty erase '^H' //ctrl+v, ctrl+h

stty erase '^?'

本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/6236.htm

2008-04-14 22:17

1. 资源

1.1. 网址链接

  • 主页:
http://www.cygwin.com/
  • 同步:
ftp://ftp.sunsite.utk.edu/pub/cygwin/release/
ftp://anonymous:cygwin@ftp.gnupilgrims.org/pub/cygwin/release/

1.2. WIKI 关键字

2. 版本

  • 最新版本:

    • 2004/01/31 : [Cygwin DLL 1.5.7-1 release]
    • 2004/01/19 : [Cygwin DLL 1.5.6-1 release]
    • 2003/09/20 : [Cygwin DLL 1.5.5-1 release]
    • 2003/09/13 : [Cygwin DLL 1.5.4-1 release]

3. FAQ

3.1. Q Howto get version info?

          bash$ cygcheck -c cygwin

3.2. Q 安装注意事项

  • gzip
gzip 版本 1.3.3-4 可用。高版本如: 1.3.5-1 使 tar -z 命令运行不正常。

3.3. Q Howto setup default text format, CRLF(dos) or LF(unix)?

  • 修改注册表项:HKEY_LOCAL_MACHINE/SOFTWARE/Cygnus Solutions/Cygwin/mounts v2/.../cygdrive flags。 cygdrive flags是一个DWORD值,&0x2 == 0x2 为 Unix Style,否则为 Dos like style。
  • 设置环境变量 CYGWIN, 使得在 pipe 等模式下的处理方式:export CYGWIN=nobinmode

3.4. Q 为什么在 Cygwin 下创建的文件,其他管理员不可写?

这是所谓的 ntsec 在起作用。通过 NTFS 的权限设置,模拟 UNIX 的权限。可以通过 CYGWIN 环境变量修改。如:

          bash$ export CYGWIN="nontsec nosmbntsec"

3.5. Q 如何让 ls 能够显示中文文件名?

因为 ls 不使用 readline 来显示, 因而不能用 .inputrc 控制。即 less 和 ls 需要特别设置。在 .bashrc 中加入如下 alias:

 alias less='/bin/less -r' alias ls='/bin/ls -F --color=tty --show-control-chars'

3.6. Q 如何在按 TAB 键进行文件名扩展时忽略大小写,这样在 Windows 下才方便噢?

参见: [Cygwin User's Guide]

Customizing bash

Three initialization files that control the behavior of bash: .profile, .bashrc and .inputrc.

.profile

It is executed when bash is started as login shell, e.g. from the command bash --login.

建议

  • 在 PATH 后加上 ":.",这样可以象在 DOS 下,执行本目录下程序;

.bashrc

.bashrc is similar to .profile but is executed each time an interactive bash shell is launched.

.inputrc

.inputrc controls how programs using the readline library (including bash) behave.

# Ignore case while completingset completion-ignore-case on# Make Bash 8bit cleanset meta-flag onset output-meta on # to show 8-bit charactersset convert-meta off # to show it as character, not the octal representation

但是并不能保证 ls 显示中文。因为这些工具不使用 readline 来显示。象 less 和 ls 需要特别设置。在 .bashrc 中加入如下 alias:

 alias less='/bin/less -r' alias ls='/bin/ls -F --color=tty --show-control-chars'

3.7. Q 如何在 Cygwin 中运行 crontab?

如下:

  • 在Windows上安装系统服务 cron,开机即运行。
          bash$ cygrunsrv -I cron -p /usr/sbin/cron -a -D
  • 启动服务
          bash$ cygrunsrv -S cron

3.8. Q 配置 SSH client?

  • 为了能够通过公钥验证进行SSH登陆其他服务器,先要在本地建立 SSH 公钥私钥对:
          bash$ ssh-keygen -t rsa1          bash$ ssh-keygen -t rsa          bash$ ssh-keygen -t dsa
  • 建立无口令登录
需要将本机的 *.pub 拷贝(cat>>)到服务器中 $HOME/.ssh/ 下的 authorized_keys (ssh1) 和 authorized_keys2 (ssh2) 文件中去。

3.9. Q 如何在 cygwin 中运行 sshd (SSH Server)?

如下:

  • 设置 Windows 环境变量,添加“CYGWIN = ntsec tty”
  • Config SSHD, running:
          bash$ ssh-host-config -y
根据提示,输入 CYGWIN=ntsec tty
  • Change permissions and ownership on some files:
          bash$ cd /; chmod -R og-w .           bash$ chmod og+w /tmp           bash$ touch /var/log/sshd.log           bash$ chown system:system /var/log/sshd.log /var/empty /etc/ssh_h*           bash$ chmod 755 /var/empty 
  • start the service:
          bash$ cygrunsrv -S sshd

3.10. Q 如何在 cygwin 中配置 Email?

As follows:

  • ssmtp & mutt

    • ssmtp
              bash$ /usr/bin/ssmtp-config
    When using mutt as the mail client, add the following line to your $HOME/.muttrc file:
              set sendmail="/usr/sbin/ssmtp"
    • mutt

      • Make sure you have the Cygwin ssmtp package installed
      check file /etc/ssmtp/ssmtp.conf
      • vi .bashrc and/or .bash_profile
                export MAIL=~/Mail/inbox          export EDITOR=nano
      If you have nano installed (and I stongly recommend that you do)
      • Create the following directory structure in your HOME directory:
                ~/Mail             |             -- inbox (EMPTY FILE, NOT DIRECTORY)             |             -- sent (EMPTY FILE, NOT DIRECTORY)             |             -- received (EMPTY FILE, NOT DIRECTORY)             |             -- postponed (EMPTY FILE, NOT DIRECTORY)
      • Create a ~/.muttrc file that looks like this:
                # The file/directory where your incoming mail will be spooled to          # (same as 'set spoolfile' below)          mailboxes ~/Mail/inbox                  # Mail account setup.    I know nothing about IMAP, so you're          # on your own there.          set sendmail="/usr/sbin/ssmtp"          #set pop_host="your.pop3.mail.server.com"          #set pop_last=yes          #set pop_user="your_email_username"          #set pop_pass="your_email_password"          set from="your_complete@email_address.com"                  # Mail folder setup.          set folder=~/Mail          set mbox_type=mbox          set spoolfile=+inbox          set mbox=+received          set postponed=+postponed          set record=+sent
      • mutt command line
    •           mutt [...] address          参数:              -a file : attach a file to message              -b address: BCC              -c address: CC              -F muttrc              -H draft: draft contain both header and body              -s subject: subject of the message              -x : emulate the mailx compose mode                  环境变量:              EMAIL : user's email address              MAIL    : user's spool mailbox          示例:              bash$ echo "contents" | mutt -x -s "subject" mail@address              bash$ echo    | mutt -x -s "subject" -i filename mail@address
  • exim & minires

    • exim
          Exim is a fully featured mail transfer agent, a drop-in replacement for sendmail.          bash$ /usr/bin/exim-config          bash$ view /etc/exim.conf           bash$ vi /etc/aliases                    postmaster: your_login_name          bash$ vi /etc/reslov.conf                    nameserver 10.0.0.7                    search your.domain          bash$ cygrunsrv -I exim -p /usr/bin/exim -e CYGWIN=nontsec                       -a "-bdf -q15m" -d "Exim Mail Transfer Agent"                     -1 /var/log/exim/cygrunsrv_out.log -2 /var/log/exim/cygrunsrv_err.log          bash$ cygrunsrv -S exim

3.11. Q 如何得到 Dos/Windows? 格式的路径名?

bash$ cygpath -d -m "`pwd`"

3.12. Q Setup Xinetd

  • start init service
          bash$ /usr/bin/init-config
  • chkconfig 工具用来维护 /etc/rc.d 下的脚本

    • 若要启动 sshd 执行 "/sbin/chkconfig --add sshd"
  • xinetd config
          bash$ /usr/bin/xinetd-config

3.13. Q other command?

ttcp, netsnoop

3.14. Q XFree86 under Cygwin?

  • add /usr/X11R6/bin to PATH;
  • start Xwindow using startxwin.bat(dos/windows), or startxwin.sh(cygwin);
  • if has a firewall installed, open port "6000" of local server;
  • run xclient in local machine, just set environment: export DISPLAY=127.0.0.1:0.0
  • if run xclient in remote machine, give authorize to remote host:
bash$ /usr/X11R6/bin/xhost remote_hostname_or_ip_address
  • telnet/ssh to remote host;
  • set environment DISPLAY, like: export DISPLAY=<IP_of_Cygwin_XFree86>:0.0
  • xterm

3.15. Q 安装后的设置综述?

  • binmode or textmode?

执行 mount 命令,如果不是 textmode,修改注册表 HKEY_LOCAL_MACHINE/SOFTWARE/Cygnus Solutions/Cygwin/mounts v2/.../cygdrive flags。 cygdrive flags是一个DWORD值,&0x2 == 0x2 为 Unix Style,否则为 Dos like style。

  • 修改 ~/.inputrc 文件,加入如下内容
# Ignore case while completingset completion-ignore-case on# Make Bash 8bit cleanset meta-flag onset output-meta on # to show 8-bit charactersset convert-meta off # to show it as character, not the octal representation
  • 修改 /etc/profile, 加入如下内容:
set -o vialias less='/bin/less -r'alias ls='/bin/ls -F --color=tty --show-control-chars'# glob filenames in a case-insensitive mannershopt -s nocaseglobexport SGML_CATALOG_FILES=/share/catalog.sgmlexport XML_CATALOG_FILES=/share/catalog.xmlexport CYGWIN="nobinmode nontsec nosmbntsec"export PATH=$PATH:.
  • 修改登录用户的主要组:
          bash$ vi /etc/passwd
默认属于 513 组(对于域控制器是Domain Users,非域控制器为 NONE),个人偏好设置为 544(Administrator)
  • 建立 symbol link:

    • 因为一些脚本默认的 md5 摘要程序是 md5, 而非 md5sum;
              bash$ ln -s /usr/bin/md5sum /usr/bin/md5
    • 设置 DOCBOOK DTD/DSSSL 路径
              bash$ ln -sf /cygdrive/e/HOME/WORK/johnson_homepage/worldhello/share /share
    • 设置 usemodwiki 路径映射
  • mkdir /reposcd /repos/ln -s /cygdrive/d /dln -s /d/HOME/WORK/johnson_homepage/worldhello/usemod JohnsonUseModWikiln -s /d/HOME/WORK/johnson_homepage/worldhello/wiki .
    • 设置建立工作路径
  •           bash$ ln -sf /cygdrive/e/HOME/WORK/ ~/work
    在cygwin中输入中文和显示中文
    2008-07-31 15:45

    cygwin的缺省环境是不支持中文输入和显示的,通过google找到了能人介绍的解决方法。

    中文输入需要修改“.inputrc”文件,只要包括以下语句即可:

    set meta-flag on

    set convert-meta off

    set output-meta on

    set input-meta on

    set completion-ignore-case on

    在我使用的cygwin环境中的“.inputrc”文件中已经包括这些指令了,只是被置成注释语句了,只要删掉行首的“#”就可。

    显示中文需要修改“.bashrc”文件,加入一行:

    alias ls='ls --show-control-chars --color=auto'

    文件修改完毕后,重新启动cygwin就可以看到效果了。

Cygwin的简介以及使用方法相关推荐

  1. Windows平台上iPhone基于cygwin开发环境的搭建方法

    cygwin 開發平台(windows版 iPhone SDK) http://www.iphonetw.net/books/unofficialdev/cygwintoolchain Windows ...

  2. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略

    Database之SQL:SQL之over partition by开窗函数的简介.使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略 目录 over part ...

  3. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

  4. ML之ME/LF:机器学习之风控业务中常用模型评估指标PSI(人群偏移度指标)的的简介、使用方法、案例应用之详细攻略

    ML之ME/LF:机器学习之风控业务中常用模型评估指标PSI(人群偏移度指标)的的简介.使用方法.案例应用之详细攻略 目录 PSI(稳定度指标)的简介 1.如何计算PSI? (1).PSI计算过程

  5. Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略

    Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介.使用方法.经典案例之详细攻略 目录 *args和**kwargs(设计不同数量的参数函数)的简介 1 ...

  6. Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...

  7. Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)

    Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化.箱型图/散点图.小提琴图/散点图组合可视化的简介.使用方法之最强攻略(建议收藏) 目录 二.组合图可视 ...

  8. Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略

    Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介.使用方法之详细攻略 目录 matplotlib.pyplot的plt.legend函数的简 ...

  9. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

最新文章

  1. [k8s] 第四章 kubectl 命令行 实战入门
  2. Mysql之删除表中数据_DELETE FROM
  3. #、%和$符号在OGNL表达式中的作用
  4. 对数据库连接池的理解
  5. 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server
  6. ssm 跨库查询_SSM使用AbstractRoutingDataSource后究竟如何解决跨库事务
  7. WIN10安装和使用MySql5.6中遇到的一些问题与解决
  8. flash 音乐 html代码,用html为flash页面添加音乐
  9. #openstack centos6 centos7 kvm镜像制作
  10. Live2D在Unity中的使用
  11. 解决织梦CMS后台验证码不正确的四种方法
  12. 解决linux kernel 提交gerrit时,运行checkpatch.pl产生的xxxx64_defconfig not generated by savedefconfig问题
  13. 我的后台Java面经(阿里、腾讯、头条、京东、IBM等)
  14. 【Python 项目】02 微信定时发送消息
  15. Android Studio 配置 Http Proxy
  16. JavaScript---网络编程(9-1)--DHTML技术演示(2-1)-表格创建的几种方式
  17. DNSPod十问顺丰科技唐恺:为什么顺丰快递那么快?
  18. XYOj2113:找点(区间选点问题)
  19. 1.markdown基础语法
  20. 【ICC】icc基本使用步骤(转载)(初稿)

热门文章

  1. 生日悖论 python程序
  2. LaTeX使用CJK支持中文排版
  3. 模式识别技术漫谈(4)
  4. 【捡肥皂】Microsoft SQL Server 2000 MSSQL2000下载中文企业版个人版免费下载
  5. R语言之基本统计分析
  6. input按钮onclick事件大全
  7. matlab 2016a
  8. 为啥VUE和React都选择hooks
  9. key 、primary key 、unique key 与index区别
  10. 汇编语言入门--调试工具debug的使用(史上最全,11种常见命令)