Windows 명령줄 도구

OSX와 Linux에서 코딩하는 데 대부분의 시간을 보내는 개발자로서, 우리는 최신 명령줄 설정이 Windows에서 어떻게 보일지 궁금했습니다.

StackOverflow 개발자 설문조사에서 다른 어떤 OS보다 Windows를 사용하는 개발자가 더 많다는 사실을 확인시켜주었고, 따라서 Windows의 도구가 *nix에서 사용하던 것과 동일한지 궁금했습니다.

Windows CLI 도구의 환경을 평가하는 데 시간을 할애한 후 95% 에 달하는 효과를 얻을 수 있다고 판단되는 도구 세트를 찾았습니다.

그 결과 다음과 같은 성과를 거둘 수 있었습니다.

  • PowerShell
  • ConEmu
  • PSReadLine
  • PSGet
  • 초콜릿
  • 바분 (선택사항)

다양한 기계가 무엇을 제공하는지에 대한 자세한 내용은 아래를 참조하세요.

PowerShell (셸)

  • cmd.exe보다 실제 '셸'에 훨씬 더 가깝기 때문에 작업 자동화를 위한 강력한 스크립팅 환경을 제공합니다. Bash 또는 zsh와 비교하는 것이 좋습니다.
  • 디렉터리 및 파일 이름 자동 완성
  • 애플리케이션 이름 자동 완성
  • 통합된 별칭과 명령어 (cmdlet이라고 함 - 예: Select-Stringgrep, Invoke-Elevatedsudo, Sort-Objectsort와 같음, Get-Process는 모든 활성 프로세스를 나열)가 있습니다. 다른 셸에서 PS로 이동하는 경우 Set-Alias를 사용하면 익숙한 Windows 별칭을 매핑할 수 있습니다. 예를 들어 Set-Alias server python -m http.server 8000server 별칭이 사용되면 Python 서버를 시작합니다.
  • 별칭은 PowerShell 프로필에 유지 가능
  • Unix와 같은 파이핑을 지원합니다. Unix와 달리 텍스트 스트림이 아닌 객체를 파이핑합니다. 익숙해져야 하지만 매물을 가져오고 싶을 때 되살아나는 일을 피할 수 있습니다.
  • 모듈을 지원합니다. PSGet은 이를 쉽게 확장할 수 있게 해주는 PowerShell용 패키지 관리자입니다.
  • 원하는 경우 상황별 탭 완성을 위해 git을 위한 PowerShell 스크립트인 Posh-Git을 고려해 보세요.

상식 퀴즈에 관심이 있다면 수석 설계자가 MS에서 PowerShell을 개발한 이유에 대한 답변을 확인하세요.

PSReadLine (콘솔 편집 도우미)

  • 콘솔 편집 환경 대폭 개선
  • 명령어 입력을 시작할 때마다 구문이 강조표시됩니다. 빨간색 '>' 문자를 사용하여 구문 오류를 명확하게 나타냅니다.
  • 고도의 맞춤설정이 가능한 키 바인딩
  • Bash 스타일 자동 완성
  • Bash/zsh 대화형 기록 검색 (Ctrl + R) 강력한 명령어 기록 순회도 가능합니다. 명령어의 마지막 줄뿐 아니라 화살표 키를 사용하면 여러 줄로 된 이전 명령어를 쉽게 볼 수 있습니다.
  • 복사/붙여넣기/잘라내기를 올바르게 지원 (Ctrl+C/X/V 모두 정상적으로 작동)
  • 실행취소/다시 실행을 효과적으로 지원
  • 방문 기록 자동 저장

또는 유사한 기능을 제공하지만 PowerShell용으로만 작성되지 않은 Clink를 사용할 수도 있습니다.

ConEmu (콘솔 호스트)

  • 원하는 셸을 실행할 수 있는 고급 콘솔 에뮬레이터
  • 여러 탭에서 여러 터미널 열기를 지원합니다. 단말기를 다른 사용자로 실행하기가 간편해집니다.
  • 맞춤설정이 매우 간편합니다. 바로가기에서 텍스트 선택 및 상태 표시줄 색상에 이르기까지 모든 것을 변경할 수 있습니다.
  • 화면 분할 뷰 지원
  • 간단한 GUI 앱을 탭에서 실행할 수 있습니다.
  • Windows 7+ 점프 목록 지원
  • 원활한 창 크기 조절 지원
  • Windows 글꼴 앤티앨리어싱
  • 시작 탭은 특정 디렉터리에서 시작하도록 완전히 맞춤설정할 수 있습니다.
  • 지능형 복사/붙여넣기

Console2를 여전히 즐겨 사용하는 사용자도 있으며, 스콧 핸셀먼은 이 기능에 관한 블로그 게시물을 올렸습니다.

편집자

Cmder는 ConEmu, Clink 및 msysgit을 결합한 콘솔 에뮬레이션 패키지로, 여러분에게 Git 도우미를 제공한다는 것을 뜻합니다. Cmder는 기본적으로 Monokai 색 구성표를 통해 ConEmu에 더 아름다운 환경을 제공합니다.

또한 Cmder에는 Sublime Text와 같은 GUI 앱과의 통합과 같은 약간의 이점이 있습니다.

Chocolatey (패키지 관리자)

  • 기본적으로 Windows용 Home브루를 사용하면 좋아하는 Windows 앱을 편리하게 가져올 수 있습니다. 현재 최대 3,000개의 패키지를 사용할 수 있으며 Chocolatey를 사용하여 직접 업데이트할 수 있습니다.
  • 너겟과 다릅니다. NuGet은 개발 라이브러리용입니다. Chocolatey는 바이너리 머신 패키지 관리자로, NuGet 인프라를 기반으로 합니다.
  • 효과적인 자동 빌드 제공

Windows 10에서 Chocolatey와 호환되는 Microsoft의 package manager..manager인 OneGet에 대해서도 알아보세요.

Babun (Cygwin 사전 구성)

  • Cygwin (Windows용 Linux와 유사한 환경)에서 역사적으로 알려진 몇 가지 문제를 뺀 값입니다. Babun 설치 프로그램을 사용하면 전체 설정이 훨씬 더 간단합니다. 특히 Unix를 사용한 경험이 있고 PowerShell을 배우지 않으려면 cygwin/Babun을 고려해 볼 필요가 있습니다.
  • apt-get와 유사한 pact (brew와 약간 유사함)이라는 패키지 관리자가 포함되어 있습니다. 현재 패키지를 추가할 때 pact만 사용하는 대신 Cygwin 설치 프로그램을 다시 실행해야 하기 때문에 이 방법은 중요합니다.
  • Vim 사전 설치 및 사전 구성
  • ah-my-zsh 통합 지원
  • 자동 업데이트

추가 자료