Cygwin�́AWindows���UNIX�̊������\�t�g�B
Windows�i���R�}���h�v�����v�g�j�ォ��UNIX�̃R�}���h�����s���邱�Ƃ��o����B
|
|
Cygwin�ł�Windows�Ŏg����iUNIX���́j�w�b�_�[�t�@�C����C�u�����[�t�@�C���ނ�����Ă���A
UNIX�̊����g�����R�[�f�B���O�����ăR���p�C�����邱�Ƃɂ��AWindows�p�̎��s�t�@�C���iexe�j������B
�܂��A�������č��ꂽ�R�}���h�i���s�t�@�C���j�����s����ׂ�DLL�i��\��cygwin1.dll�j������Ă���B
�����̋@�\��p����UNIX�̊e�\�t�g�̃R���p�C�����s����Windows�̎��s�t�@�C��������Ă��āA���ꂪCygwin�̈ꕔ�Ƃ��Ē���Ă���̂ŁACygwin���C���X�g�[�������UNIX�̃R�}���h���g����悤�ɂȂ�B
�ォ��lj��C���X�g�[���i��\�t�g���̃A���C���X�g�[���j�����邱�Ƃ��o����B
��setup-x86_64.exe�����s������������B
�ȉ��̂悤�ȃ\�t�g�̓f�t�H���g�ł͓����Ă��Ȃ��B
�\�t�g | Select Packages | �R�}���h�� | ���� | ���l | �X�V�� | |
---|---|---|---|---|---|---|
cron | Admin | cron | �@ | �@ | �@ | �@ |
C�R���p�C���[ | Devel | gcc-core | cc gcc |
gcc.exe | ��Linux����gcc | �@ |
C++ | Devel | gcc-g++ | �@ | �@ | ��Linux����g++ | �@ |
make | Devel | make | make | make.exe | �@ | 2011-08-08 |
vi | Editor | vim | vi view |
vim.exe | �@ | �@ |
OpenSSH | Net | openssh | ssh | ssh.exe | ���C���X�g�[����̐ݒ� | 2010-02-18 |
ksh | Shells | pdksh | ksh | pdksh.exe | �@ | �@ |
tcsh | Shells | tcsh | csh tcsh |
tcsh.exe | �@ | �@ |
logger | System Text Utils |
util-linux | logger | logger.exe | �f�t�H���g�ł́AWindows�̃C�x���g���O�ɏo�͂����B | 2008-11-23 |
�������̃J�e�S���[�ɂ���ꍇ�́A�ǂ̃J�e�S���[����I��ł������Ǝv����B
�~�����R�}���h���ǂ̃p�b�P�[�W�ɓ����Ă���̂��́Acygcheck -p���g���ĒT�����Ƃ��o����B[2008-11-23]
��U�C���X�g�[�������\�t�g���ǂ̃p�b�P�[�W�ɓ����Ă������̂Ȃ̂��́Acygcheck -f���g���Ċm�F�ł���B
Windows10����ꂽ�̂�OS�ăC���X�g�[���������B[2016-11-26]
Cygwin���C���X�g�[�����Ă���D�h���C�u�͖����������̂ŁACygwin�̃f�B���N�g���[�͂��̂܂g����c�Ǝv������ACygwin�̃C���X�g�[���i�A�b�v�f�[�g�j�͂���K�v���������i�łȂ���bash���N���ł��Ȃ��j�B
�ŁA�t�@�C���͎c���Ă��ēǂނ��Ƃ͏o�����̂����A�t�@�C����f�B���N�g���[�̃I�[�i�[���ςɂȂ��Ă��ď������݂��o���Ȃ��B
$ ls -la ���v 37 drwxr-xr-x+ 1 Unknown+User Unknown+Group 0 11�� 26 11:27 . drwxrwxrwt+ 1 Unknown+User Unknown+Group 0 4�� 27 2016 .. -rw------- 1 Unknown+User Unknown+Group 10967 11�� 26 11:26 .bash_history -rwxr-xr-x 1 Unknown+User Unknown+Group 1513 11�� 26 11:27 .bash_profile -rwxr-xr-x 1 Unknown+User Unknown+Group 6054 8�� 29 2015 .bashrc -rwxr-xr-x 1 Unknown+User Unknown+Group 1919 8�� 29 2015 .inputrc -rwxr-xr-x 1 Unknown+User Unknown+Group 1236 8�� 29 2015 .profile
Windows�̃A�J�E���g���͓����ɂ��Ă������̂����AID���ς���Ă��܂����̂��Ǝv����B
���̏�Ԃ��炽���P��chown���Ă�permission
denied�ɂȂ��Ă��܂�orz
bash�iCygwin�j���u�Ǘ��҂Ƃ��Ď��s�v�����chown���邱�Ƃ��o����B
id�R�}���h�Ŏ����̃A�J�E���g�����m�F���āA���̖��O�ɕς���悢�B
$ chown -R hishidama:None .* $ chown -R hishidama:None *
Cygwin�S�̂��A���C���X�g�[������ɂ́A���ڃf�B���N�g���[���폜�����背�W�X�g���[���������肷��K�v������炵���B
�C���X�g�[���̍Ō�Ɂg�f�X�N�g�b�v�ւ̃V���[�g�J�b�g�̍쐬�h���s���Ă���� �f�X�N�g�b�v�ɁuCygwin�v�Ƃ����V���[�g�J�b�g���o���Ă���̂ŁA��������s����悢�B
�������́AWindows�̃X�^�[�g���u�v���O����(P)�v���uCygwin�v���uCygwin Bash Shell�v�B
�����bash���N������̂ŁA���̒��Łi�C���X�g�[������Ă���jUNIX�R�}���h�����s�ł���B
�i�����A���[�U�[�p�̏����ݒ���s�����߂��Abash���N������̂ɂ�����Ƃ������Ԃ�������j
���̃V���[�g�J�b�g�́uC:\cygwin\Cygwin.bat�v�Ƃ����o�b�`�t�@�C�����w���Ă���A���̒��͂����P�ɁuC:\cygwin\bin\bash.exe�v�����s���Ă��邾���B
����bash��̃R�}���h�̓��o�͂ɂ�Windows���R�}���h�v�����v�g���g���Ă���͗l�B
�i���������āA�R�}���h�v�����v�g�̃R�s�[&�y�[�X�g�@�\���g����j
Cygwin��bash��ls���g���ƁA���{��t�@�C������������������B
.bashrc�Ɉȉ���alias�������Ă����ƕ����������Ȃ��Ȃ�B
alias ls='ls --show-control-chars'
Cygwin�icygwin1.dll�j�̃o�[�W������\������B
Cygwin�̃V�X�e������\������B[2008-11-23]
�C���X�g�[������Ă����p�b�P�[�W�̃o�[�W�������\�������i���A�����-c�̕����֗������j�B
$ cygcheck -s | grep util-linux util-linux 2.13.1-2
-r�I�v�V���������p����ƁACygwin�ɊW����Windows�̃��W�X�g���[�̓��e���\�������B
�C���X�g�[������Ă���e�p�b�P�[�W�̃o�[�W�����Ə�Ԃ�\������B[2008-11-23]
-d�I�v�V�����p����ƁA��ԁi�������C���X�g�[������Ă��邩�ǂ����j�̕\���͍s��Ȃ��B
�R�}���h���ǂ̃p�b�P�[�W�ɓ����Ă������̂Ȃ̂���\������B[2008-11-23]
$ cygcheck -f /usr/bin/logger util-linux-2.13.1-2
�C���X�g�[������Ă����p�b�P�[�W�Ɋ܂܂�Ă�����e�i�R�}���h���j�ꗗ��\������B[2008-11-23]
�R�}���h���ǂ̃p�b�P�[�W�ɓ����Ă��邩��\������B[2008-11-23]
�i�R�}���h���C���X�g�[�����Ă��Ȃ��Ă��g����B�Ƃ������C���X�g�[������ۂɂǂ��������Ă���������ׂ�ׂ̂��́H�j
�C���^�[�l�b�g�icygwin.com�̃p�b�P�[�W���|�W�g���[�j�ɐڑ����ĒT���̂ŁA���ʂ��o��܂ő������Ԃ�������B
$ cygcheck -p logger.exe Found 3 matches for logger.exe. inetutils/inetutils-1.3.2-37 Common networking clients and servers util-linux/util-linux-2.13.1-1 Random collection of Linux utilities util-linux/util-linux-2.13.1-2 Random collection of Linux utilities
-p�̎w��͐��K�\���炵���̂ŁA�g���q��t����Ȃ琳�m�ɂ�"logger\.exe"
�Ƃ��ׂ����B
�܂��A�Ⴆ��vim.exe
�����������gvim.exe�������|��������B
�Ȃ�A�ȉ��̂悤�ɂ�����������Ɗm���H�i���̃R�}���h��/bin�̉��ɓ����Ă���̂Łj
$ cygcheck -p /bin/logger Found 3 matches for /bin/logger. inetutils/inetutils-1.3.2-37 Common networking clients and servers util-linux/util-linux-2.13.1-1 Random collection of Linux utilities util-linux/util-linux-2.13.1-2 Random collection of Linux utilities
�Ⴆ��who�R�}���h�̗l�ɁAwhois�Ƃ��������̃R�}���h�̐ړ����ɂȂ��Ă��܂����̂�����B������܂���/bin/who.exe
�Œ��ׂ�̂����������B
�ł�vi�R�}���h����vi.exe�Ƃ��Ă͑��݂��Ȃ��̂Łivim.exe�ւ̃V���{���b�N�����N������j�A/bin/vi.exe
�ł͌�����Ȃ��B���̏ꍇ�͎���/bin/vi
�ŒT���Ċ��ƌo���ōi�荞�ށB
�ł�ksh�R�}���h���Ƃ���ł�������Ȃ��Bksh.exe
��pdksh��������i/bin/pdksh.exe������j�B
��ksh
�Ƃ��ŒT�������Ȃ��B�T���������̂���ʓI�ȒP�ꂾ�Ƃ����ς��o�Ă����Ⴄ���B
�v����ɐF�X���������Ȃ��Ƃ������Ƃ�(�Q)
�C���X�g�[������ƃ����N���쐬���Ă����Ȃ�A���̃����N���Ō����ł���ƕ֗��Ȃ̂����B
�R�}���h���̑��ɂ��R�����g�i�Ⴆ��bash�Ȃ�"Bourne Again SHell"
�j�ł������ł������c����ȃL�[���[�h���҂����蕪�����Ă�ق����H��(���)
-p�ł͂��̃p�b�P�[�W�̃J�e�S���[�܂ł͒m�鎖���o���Ȃ��B
�������C���X�g�[������View�{�^���ŁuFull�v�Ƃ��i�uCategory�v�ȊO�j�ɂ���p�b�P�[�W���ɂȂ�̂ŁA����őI�Ԃ��Ƃ��o����B
�܂��A���̍ۂɃJ�e�S���[���\�������̂ŁA�����Œm�鎖���o����B
Cygwin�p�iUNIX�j�̃p�X��Windows�p�̃p�X�̕ϊ����s���B�i��{�I�ɁA�p�X�����݂��Ȃ��Ă��ϊ��j
�I�v�V���� | �� | �ϊ����� |
---|---|---|
-w --windows -t windows --type windows |
cygpath -w /home/hishidama/zzz.txt |
C:\cygwin\home\hishidama\zzz.txt |
-m --mixed -t mixed --type mixed |
cygpath -m /home/hishidama/zzz.txt |
C:/cygwin/home/hishidama/zzz.txt |
-d --dos -t dos --type dos |
cygpath -d "/cygdrive/c/Program Files/" |
c:\PROGRA~1\ |
cygpath -d "/cygdrive/c/Program Files2/" �i���݂��Ȃ��p�X�̓G���[�ɂȂ�j |
cygpath: cannot create short name of c:\Program Files2\ |
|
-u --unix -t unix --type unix |
cygpath C:\\cygwin\\home\\hishidama\\zzz.txt |
/home/hishidama/zzz.txt |
-a --absolute |
cygpath -a zzz.txt |
/home/hishidama/zzz.txt |
-p --path |
cygpath -up "$CLASSPATH" |
.:/cygdrive/c/�`/lib/tools.jar:/cygdrive/c/�`/hoge.jar |
cygpath -mp /home/java/foo.jar:/home/java/bar.jar |
C:/cygwin/home/java/foo.jar;C:/cygwin/home/java/bar.jar |
-d�ɂ��8.3�`���̒Z�k���ւ̕ϊ��́A���ۂɑ��݂��Ă���p�X�i�t�@�C���j�łȂ��ƃG���[�ɂȂ�B[2008-12-26]
���̑��̕ϊ��ł́A���݂��Ă��Ȃ��p�X�i�t�@�C���j�ł����Ȃ��B
-a��t����ƃt���p�X�i��p�X�j�ŕ\�������B[2013-09-11]
�V�F���̒���Cygwin���ǂ������肷��̂́AHadoop�ł͈ȉ��̗l�Ȋ����ōs���Ă���B[2011-10-01]
cygwin=false case "$(uname)" in CYGWIN*) cygwin=true;; esac
if $cygwin; then echo Cygwin! fi
if ! $cygwin; then echo not Cygwin fi
Cygwin���g����C�����̃\�[�X���R���p�C�����Ď��s�t�@�C���iexe�j����邱�Ƃ��o����B
�܂��Avi�i�v�C���X�g�[���j�������̃G�f�B�^�[�Ń\�[�X�������B�i�ʂ�Windows��̃G�f�B�^�[�ŏ����Ă��������ǁj
$ cd $ vi sample.c
/home/hishidama/sample.c�iC:\cygwin\home\hishidama\sample.c�j�F
#include <stdio.h> int main(int argc, char *argv[]) { printf("cygwin!\n"); return 123; }
�����āAgcc�i�v�C���X�g�[���j�ŃR���p�C������B
$ gcc sample.c -o sample.exe
$ ls
sample.c sample.exe
�R���p�C�����ʂ�A���s���邱�Ƃ��o����B
$ ./sample.exe
cygwin!
$ echo $?
123
�R���p�C�����ďo�������s�t�@�C���͂����܂ł�Windows�̎��s�t�@�C���iexe�j�Ȃ̂ŁAWindows�i�R�}���h�v�����v�g�j������s���邱�Ƃ��o����B
�R�}���h�v�����v�g�F
C:\cygwin\home\hishidama> sample.exe
���A���̂܂܂ł́u�R���|�[�l���g��������܂���v�Ƃ����_�C�A���O���o�ăG���[�ɂȂ�B
���s����ɂ́ucygwin1.dll�v��PATH�ɓ����Ă���K�v������B
C:\cygwin\home\hishidama> PATH=%PATH%;C:\cygwin\bin
C:\cygwin\home\hishidama> sample.exe
cygwin!
C:\cygwin\home\hishidama> echo %ERRORLEVEL%
123
Cygwin�ibash�j������s����e�R�}���h�i���s�t�@�C���j���A���̎��̂�Windows�p�̎��s�t�@�C���iexe�j�ɂȂ�B
�t�Ɍ����ACygwin�ibash�j����g�ʏ��Windows�pexe�t�@�C���h�i�R���\�[���A�v�����j�����s���邱�Ƃ��o����B
���̂Ƃ��A���̃R�}���h�̈����ɐ�p�X�i�t�@�C������f�B���N�g���[���̃t���p�X�j��n���K�v������̂ł���A���ӂ��v��B
Cygwin�p�̎��s�t�@�C����Cygwin�p�̃p�X�����߂��Ă���邪�A�ʏ�̃R�}���h�����R�̂��ƂȂ���������Windows��̃p�X�Ƃ��ĉ��߂��ē��삷��ׁB
�Ⴆ��Windows��tree�itree.com�j��Cygwin�ibash�j����g�����Ƃ��o����B
$ cd /home/hishidama
$ tree.com ���g���q�܂ŕt���Ȃ��ƁAtree.exe��T���ɍs���̂Ō�����Ȃ��ăG���[�ɂȂ�
�t�H���_ �p�X�̈ꗗ
�{�����[�� �V���A���ԍ��� BYYY-9ZZZ �ł�
C:.
����c
����java
�������A��p�X���w�肷��ƁA�����Ƃ��ĉ��߂���Ă��܂��iDOS�R�}���h�ł́A�������X���b�V���Ŏn�߂��̂���ʓI�j�B
$ tree.com /home/hishidama �����ȃX�C�b�`�ł� - /home/hishidama
javac�ijavac.exe�j�̂悤�ɃX���b�V���������Ɖ��߂��Ȃ��R�}���h�ł��A��p�X�Ƃ��Ă͔F�����Ă���Ȃ��B
$ javac /home/hishidama/java/Sample.java javac: �t�@�C����������܂���: \home\hishidama\java\Sample.java
���������ꍇ�ɁAcygpath���ƂĂ��֗��I
$ tree.com `cygpath -w /home/hishidama` �t�H���_ �p�X�̈ꗗ �{�����[�� �V���A���ԍ��� BYYY-9ZZZ �ł� C:\CYGWIN\HOME\HISHIDAMA ����c ����java
$ javac `cygpath -w /home/hishidama/java/Sample.java` $ ls Sample.class
java�R�}���h�ɃN���X�p�X���w�肵�Ď��s����悤�ȃV�F��������B
/home/hishidama/run.sh�F
#!/bin/bash JAR=/home/hishidama/java CLS=jp.hishidama.sample.Sample # jar�t�@�C������ăN���X�p�X����� CP= for f in `ls $JAR/*.jar` do CP=$CP:$f �������ł�UNIX�̃p�X�Ȃ̂ŃR�����ŋ�� done # Windows�̃p�X�`���ɕϊ� CP=`cygpath -mp $CP` ������ɂ��A�e�p�X��Windows�`���ɂȂ�Ƌ��ɁA�Z�~�R�������ɕς�� java -cp "$CP" $CLS ���Z�~�R������UNIX�ł̓R�}���h�̋���Ȃ̂ŁA�_�u���N�H�[�e�[�V�����ł�����K�v������
���Ȃ݂ɁAoci�h���C�o�[���g�p����Java�v���O���������s����ꍇ�A���ϐ�ORACLE_HOME���Z�b�g����̂ł���AWindows�Ƃ��Ẵp�X�Ő��������̂��w�肵�Ă����K�v������B[2008-10-25]
Cygwin�ibash�j�łȂ��Ƃ���i�R�}���h�v�����v�g���j����Abash���o�R���ăV�F�������s���邱�Ƃ��o����B
�R�}���h�v�����v�g�F
> PATH=%PATH%;C:\cygwin\bin > bash --login /home/hishidama/run.sh
���ϐ�PATH��bash.exe�̏ꏊ���w�肵�Ă��Ȃ��ƁA���R���s�ł��Ȃ��B
���s�������V�F����UNIX�̃p�X�Ƃ��Ẵt���p�X�Ŏw�肷��K�v������B
�u--login�v��t���Ă���̂́Abash���̊��i����PATH�j�����������������֗�������B
�������Ȃ��ƁAPATH���iUNIX�p�ɂ́j����������Ȃ��̂ŁAls��cygpath�Ƃ�����Cygwin�̃R�}���h�����s�ł��Ȃ��B
���łɁu-x�v�i�u--login -x�v�̏��j��t���Ă��ƁA���������������l�q���\�������B
��Ant����Cygwin�̃R�}���h�����s�����
Java��ProcessBuilder������ibash.exe���o�R���āj�V�F�������s���邱�Ƃ��o����B
Bash.java�F
package jp.hishidama.sample; import java.io.*; import java.util.*; public class Bash { public static final String CYGWIN_HOME = "C:/cygwin"; public static void main(String[] args) throws Exception { List<String> list = new ArrayList<String>(); list.add("/home/hishidama/run.sh"); execute(list); } public static int execute(List<String> list) throws Exception { String os = System.getProperty("os.name"); if (os != null && os.startsWith("Windows")) { list.add(0, CYGWIN_HOME + "/bin/bash.exe"); list.add(1, "--login"); // list.add(2, "-x"); } ProcessBuilder pb = new ProcessBuilder(list); pb.redirectErrorStream(true); Process p = pb.start(); �` return p.exitValue(); } }
��ProcessBuilder����ς����ɃV�F�����Ăяo�����@ [2011-07-28]
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@