나는 한동안 Cygwin을 사용해 왔습니다. 새 패키지가 필요할 때 설정을 열고 필요한 버전을 선택하면 설정에서 나머지를 처리합니다. 프로그램이 모두 다운로드되는 것을 확인했습니다.C:\cygwin64\bin
bin 폴더 안에는 많은 .exe 실행 파일이 있습니다. 여기에는 diff, find, grep, gzip, vi, vim, whatis, which, who, whoami 등이 포함됩니다. 내가 한 일은 C:\cygwin64\bin
사용자 PATH 변수에 추가하는 것이었습니다.
이제 위에서 언급한 모든 프로그램에 액세스할 수 있으며, 다운로드하여 Cygwin을 통해 사용하거나 PowerShell 및 Windows 명령 프롬프트를 통해서도 사용할 수 있습니다. 나는 혼란스럽다. 해당 프로그램은 모두 Cygwin에서만 실행되나요, 아니면 다른 Windows 터미널에서 실행되나요? Cygwin bash 터미널 없이 해당 프로그램을 실행할 수 있다면 애초에 Cygwin을 사용하는 이유가 무엇입니까?
답변1
Cygwin은 Windows에서 실행 파일로 작동하도록 컴파일된 Linux 도구 모음입니다 .exe
.
이것은 하나입니다 설명:
Cygwin은 Linux와 유사한 인터페이스 내에서 Unix 또는 Linux 애플리케이션을 Microsoft Windows 운영 체제(OS)에서 컴파일하고 실행할 수 있도록 하는 오픈 소스 도구 모음입니다. Cygwin은 Windows 환경에서 사용자에게 Linux와 유사한 경험을 제공합니다. 이 기능은 개발자가 Unix 또는 Linux에서 Windows 기반 시스템으로 애플리케이션을 마이그레이션하는 데 도움이 되며 Windows 플랫폼에서 실행되는 애플리케이션을 더 쉽게 지원할 수 있게 해줍니다.
Cygwin 도구 모음의 핵심은 cygwin1.dll 동적 링크 라이브러리(DLL)입니다. DLL은 휴대용 OS 인터페이스(POSIX) 시스템 호출 기능을 제공하는 에뮬레이션 계층 역할을 합니다. Cygwin 배포판에는 X 서버 및 전체 X 응용 프로그램 세트와 함께 대부분의 GNU 및 다양한 Berkeley Software Distribution 도구를 포함한 대규모 무료 도구 모음도 있습니다.
실제로 Cygwin은 Linux 원본 코드와 Windows API 사이의 계층입니다. 익숙한 Linux 구문을 제공하면서 Windows 호출을 사용하도록 수정된 Linux 라이브러리를 제공합니다. 여기에는 cygwin1.dll
Windows API로 변환하는 런타임인 에 의해 구현되는 런타임 레이어가 있습니다 .
통합 Linux 환경을 에뮬레이트하기 위해 이 DLL은 모든 도구와 자체 복사본에서 사용되는 공유 메모리 메모리 세그먼트를 만듭니다 cygwin1.dll
.
Cygwin은 WSL과 같은 Linux 가상 환경으로 작동하기 위한 것이 아니라 Linux 개발자가 익숙한 환경의 Windows에서 Linux 프로그램을 이식하고 테스트할 수 있는 도구입니다.
Cygwin은 Linux 및 Windows 파일 이름을 모두 지원하므로 유틸리티가 Windows 폴더 및 파일에서 작동할 수 있습니다. Windows와 Linux 간에는 약간의 차이가 있으므로 주의해야 합니다. 예를 들어 Cygwin Linux 도구는 줄 바꿈을 줄 끝 문자로 사용하는 반면 Windows는 이를 위해 두 문자를 사용합니다.
모든 Cygwin 도구는 .exe
Windows에서 실행되는 프로그램이며 Windows 도구를 사용할 수 있는 곳이라면 어디에서나 사용할 수 있습니다.
참고자료 :