cygwin

摘要:
cygwin192.168.1.102:3389RootDirectory——Cygwin环境根目录LocalPackageDirectory——软件包下载存放位置安装的时候,python也要去掉,后续用apt-cyg安装python2.7下载地址:http://cygwin.com在UseURL处,输入:http://mirrors.163.com/cygwin/“Cygwin1.dll”文件的

cygwin

192.168.1.102:3389

Root Directory —— Cygwin环境根目录
Local Package Directory —— 软件包下载存放位置

安装的时候,python也要去掉,后续用apt-cyg安装python2.7

下载地址:http://cygwin.com
在Use URL处,输入:http://mirrors.163.com/cygwin/

“Cygwin1.dll”文件的地址,就在“CCygwinin“里
原因是缺少了一个“Cygwin1.dll”的环境变量,我们只要把这个“Cygwin1.dll”的文件跟要执行的程序放在同一目录即可。

我们首先在列表中寻找Cygwin中国镜像的地 址:http://www.cygwin.cn,如果找到就选中这个地址;如果找不到这个地址,就在下面手动输入中国镜像的地址:http: //www.cygwin.cn/pub/,再点击“Add”,然后再在列表中选中

安装cygwin中只需要注意两点:

1)、安装文件的路径中不能有中文名

2)、要选中cygwin支持NDK的几个包(为了不遗漏把devel下的全部选中安装

测试cygwin是否安装成功:

运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了

http://www.51testing.com/html/82/547282-854339.html
http://www.51testing.com/html/82/547282-854340.html
http://www.cnblogs.com/astwish/articles/3700459.html

http://www.cnblogs.com/clarkchen/archive/2011/02/21/1960217.html
http://www.cnblogs.com/starstroll/archive/2009/01/15/1376624.html

http://bbs.chinaunix.net/thread-3676471-1-1.html hbmhalley
http://www.cnblogs.com/zuroc/archive/2005/02/09/103469.html

http://blog.csdn.net/w405722907/article/details/77967718

http://blog.csdn.net/lionwoo/article/details/446964

http://blog.csdn.net/shenshouer/article/details/7244358

https://jingyan.baidu.com/article/08b6a591a5048b14a809220b.html

http://www.360doc.com/content/13/0123/09/9780582_261890818.shtml
http://www.cnblogs.com/YHM07/p/4116713.html
http://blog.sina.com.cn/s/blog_4dbe69550100e7an.html

https://segmentfault.com/a/1190000002789600
http://www.codeweblog.com/cygwin%E7%9A%84%E5%AE%89%E8%A3%85-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E6%95%B4/
http://blog.csdn.net/Mary_Jane/article/details/50769631

下载地址:http://cygwin.com
在Use URL处,输入:http://mirrors.163.com/cygwin/
最新版本:2.9.0
下载地址:http://cygwin.com
在Use URL处,输入:http://mirrors.163.com/cygwin/
安装cygwin中只需要注意:
1、安装文件的路径中不能有中文名
2、测试cygwin是否安装成功:运行cygwin terminal,输入:cygcheck -c cygwin命令
会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
安装流程:从163镜像源下载包,然后解压安装,跟Linux安装流程类似

ps -W :查看windows的所有进程

mintty只有pty,没有tty,只有虚拟终端,没有本地终端

ncurses
ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面
下面这几个软件都曾经用过ncurses库
vim
emacs
lynx
screen
ncurses貌似没有提供Windows平台的支持


http://www.codeweblog.com/cygwin%E7%9A%84%E5%AE%89%E8%A3%85-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E6%95%B4/

自动安装脚本

安装脚本
也可基于 command-line 进行安装,比如写个批处理文件放到安装目录中:

@echo off
echo Cygwin installer.
echo Copyright (c) 2014 Chen Zhiqiang. Released under the MIT license.
echo The script used to install cygwin in quiet mode. Maybe you should adjust this script first.
echo It's a good idea that set CYGWIN_ROOT and CYGWIN_CACHE before call this script.

::CYGWIN_ROOT: Cygwin will be installed to this path
if not defined CYGWIN_ROOT set CYGWIN_ROOT=%~dp0
if "%CYGWIN_ROOT:~-1%"=="" set CYGWIN_ROOT=%CYGWIN_ROOT:~0,-1%

::CYGWIN_CACHE: Local package directory
if not defined CYGWIN_CACHE set CYGWIN_CACHE=%CYGWIN_ROOT%packages

::CYGWIN_MIRROR: Download site
if not defined CYGWIN_MIRROR set CYGWIN_MIRROR=http://mirrors.kernel.org/sourceware/cygwin/

::CYGWIN_SETUP: Cygwin setup program
if defined CYGWIN_SETUP if exist %CYGWIN_SETUP% goto PRE
set CYGWIN_SETUP=
for %%i in (setup*.exe) do (
set CYGWIN_SETUP=%%~fi
)
if not defined CYGWIN_SETUP set /P CYGWIN_SETUP=Input the path of cygwin setup program:

:PRE
::CATEGORIES: Specify entire categories to install
set CATEGORIES=Base,Admin,System

::PACKAGES: Specify packages to install
::Audio packages
set PACKAGES=sox,sox-fmt-flac,sox-fmt-wavpack
::DB
set PACKAGES=%PACKAGES%,postgresql,postgresql-client
::Devel packages
set PACKAGES=%PACKAGES%,autobuild,autoconf,automake,binutils,make,cmake,gcc-g++,gdb
set PACKAGES=%PACKAGES%,mingw-gcc,mingw64-i686-gcc,mingw64-x86_64-gcc,clang,llvm
set PACKAGES=%PACKAGES%,gendef,git,git-svn,cvs2svn,bzr,cygport,cygwin64,doxygen,indent
set PACKAGES=%PACKAGES%,patch,pkg-config,swig,tcl,tcl-tk,gawk,lua,perl,python,ruby
::Graphics
set PACKAGES=%PACKAGES%,gnuplot,gd,ImageMagick,optipng,pngcrush,popper,popper-data,exif
::Net
set PACKAGES=%PACKAGES%,aria2,curl,openssh,rsync,wget,tftp,tftp-server
::Utils
set PACKAGES=%PACKAGES%,bzip2,cpio,genisoimage,gnupg,mkisofs,upx,vim,hexedit
::X11
set PACKAGES=%PACKAGES%,xorg-server,xinit,XtoW,xauth,xhost

echo Installing Cygwin using these settings: (Press CTRL+C to abord)
echo CYGWIN_ROOT=%CYGWIN_ROOT%
echo CYGWIN_CACHE=%CYGWIN_CACHE%
echo CYGWIN_MIRROR=%CYGWIN_MIRROR%
echo CATEGORIES=%CATEGORIES%
echo PACKAGES=%PACKAGES%
echo --

choice /T 8 /D Y /M "Confirm (continue after 8 seconds)"

if ERRORLEVEL 2 goto :EOF
if ERRORLEVEL 1 goto Install
goto :EOF

:Install
%CYGWIN_SETUP% -q -B -N -n -d ^
-R %CYGWIN_ROOT% ^
-l %CYGWIN_CACHE% ^
-s %CYGWIN_MIRROR% ^
-C %CATEGORIES% ^
-P %PACKAGES%
根据自己的情况进行些调整,即可全自动安装Cygwin了,如想进行一些交互,或者仅以普通用户运行时遇到权限问题,应从命令参数中去掉 -q,这样可以在安装过程中进行交互和干涉。另外,如果用的是从 redhat.com 下载的安装文件,那么不需要加 -s 参数,因为 redhat.com 提供的那个安装文件默认只有一个镜像源,而且我在批处理中所用的那个镜像源也不适用于它。
为了便携化的目的,在上面的批处理中我使用了 -N -n -d 这些参数,这使得Cygwin不会自动生成菜单和快捷方式。如果不考虑便携,那么应该将这几个参数去掉

自动安装程序

我写了一个批处理文件 cyg-setup.bat,它可以将命令行参数传递给 Cygwin 的 setup 程序,但它会自动补上 -R, -l, -s 参数。将这个批处理及 Cygwin 的 setup 程序一起放到 Cygwin 的安装目录下,可以在CMD里这样使用它:

:: 安装软件包
cyg-setup -q -P wget,ocaml-llvm,guile

::删除软件包
cyg-setup -q -x guile,tcl-tk
下面是这个批处理的源码:

@echo off && goto main
:Info
echo cyg-setup - Cygwin setup wrapper.
echo Copyright (c) 2014 Chen Zhiqiang. Released under the MIT license.
echo Usage is same to the cygwin setup program, but it will try to resolve these options if they omited: -R, -l, -s.
echo -R, use %%CYGWIN_ROOT%%, or, use the directory path of this program.
echo -l, use %%CYGWIN_CACHE%%, or, use %%CYGWIN_ROOT%%packages.
echo -s, use %%CYGWIN_MIRROR%%, or, pass a default mirror site to the setup.
echo And, you can use the "acl" option (%0 acl) to reset ACL.
goto :EOF

:main
set P= %*
::CYGWIN_ROOT: Cygwin will be installed to this path
if not defined CYGWIN_ROOT set CYGWIN_ROOT=%~dp0
if "%CYGWIN_ROOT:~-1%"=="" set CYGWIN_ROOT=%CYGWIN_ROOT:~0,-1%
::CYGWIN_CACHE: Local package directory
if not defined CYGWIN_CACHE set CYGWIN_CACHE=%CYGWIN_ROOT%packages
::CYGWIN_MIRROR: Download site
if not defined CYGWIN_MIRROR set CYGWIN_MIRROR=http://mirrors.kernel.org/sourceware/cygwin/

if /i "%1"=="info" goto Info
if /i "%1"=="acl" goto ACL

::CYGWIN_SETUP: Cygwin setup program
if defined CYGWIN_SETUP if exist %CYGWIN_SETUP% goto PRE
set CYGWIN_SETUP=
for %%i in (setup*.exe) do (
set CYGWIN_SETUP=%%~fi
)
if not defined CYGWIN_SETUP set /P CYGWIN_SETUP=Input the path of cygwin setup program:

:PRE
(echo %P% | findstr /C:" -R " >nul) || (echo %P% | findstr /C:" --root ">nul) || set P=%P% -R %CYGWIN_ROOT%
(echo %P% | findstr /C:" -l " >nul) || (echo %P% | findstr /C:" --local-package-dir " >nul) || set P=%P% -l %CYGWIN_CACHE%
(echo %P% | findstr /C:" -s " >nul) || (echo %P% | findstr /C:" --site " >nul) || set P=%P% -s %CYGWIN_MIRROR%

:Setup
%CYGWIN_SETUP% %P%
goto :EOF

:ACL
takeown /F %CYGWIN_ROOT% /A
icacls %CYGWIN_ROOT% /reset
takeown /F cygdrive /A
icacls cygdrive /reset
set CHOWN=%CYGWIN_ROOT%inchown.exe
%CHOWN% Administrators:Administrators home
%CHOWN% -R Administrators:Administrators usr lib bin sbin etc var tmp dev
goto :EOF
这个脚本使用了几个变量:

CYGWIN_ROOT,Cygwin的安装目录,默认值为该脚本所在的目录;
CYGWIN_CACHE,Cygwin的软件包下载路径,默认值为 %CYGWIN_ROOT%packages;
CYGWIN_MIRROR,Cygwin的安装镜像源,默认使用 mirrors.kernel.org。
这三个变量都可以通过设置环境变量来改变它们的位置。


免责声明:文章转载自《cygwin》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇npm和package.json那些不为常人所知的小秘密如何学习ios(摘自知乎https://www.zhihu.com/question/20016551)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubunt下开启ROOT帐户

首先,为glp登陆, 新安装的ubuntu默认不能使用root,需要我们手动开启。 在终端中输入:#sudo   passwd   root [sudo] password for gaavv: 123456 Enter new UNIX password: (在这输入你的密码)123456 Retype new UNIX password: (确定你输入...

设置root密码,su与sudo的区别

sudo passwd root 可以修改root密码,但首先会要求你输入当前用户的密码 sudo的意思是switch user do,默认切换到root,要求当前用户的密码,会自动调用exit返回到原用户 su没有参数的话就默认切换到root,要求root密码。可以通过调用exit返回到原用户。 在权限上,sudo的权限可以被配置从而对每个用户,sudo...

(转)Linux网络接口配置文件ifcfg-eth0解析

原文:http://blog.51cto.com/xtbao/1671739 https://www.cnblogs.com/arvintang/p/5990599.html http://blog.csdn.net/jmyue/article/details/17288467 在一个计算机系统中,可以有多个网络接口,分别对应多个网络接口配置文件,在/et...

linux时间同步,ntpd、ntpdate

在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。而且设置后,重启,关机都没关系。系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系统会自动在Bios里面取硬件时间,以保证时间的不间断。 但在Linux下,默认情况下,系统时间和硬件时间,并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运...

关于Linux下conio头文件的实现

在windows下,c语言有库conio.h,实现了不少函数,但是Linux c没有这个库,内部的函数需要自己实现。 //clrsrc清屏函数的一种实现:void clrscr(void) {   system("clear");//需要头文件stdlib.h }//调用system("clear") //getch()函数的一种实现方法#include&...

Linux shell获取时间和时间间隔(ms级别)

说明:在进行一些性能测试的时候,有时候我们希望能计算一个程序运行的时间,有时候可能会自己写一个shell脚本方便进行一些性能测试的控制(比如希望能运行N次取平均值等),总之,这其中有一个需求可能就是获取一个时间戳或时间差。 1. Linux shell获取时间的相关命令 time命令:获取一个程序的执行时间,可以获取到实际运行时间以及程序在用户态和内核态...