Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)

2016-08-02부터 시작된 윈도우 10 1주년 업데이트에서 Bash Shell 사용

윈도우10 1주년 업데이트가 나왔습니다. 정식 버전 번호는 1607, 빌드 번호는 14393.10입니다.

현재 윈도우 메뉴의 "Settings" / "Update & Security"로 가서 "Windows Update"를 통해 설치할 수 있습니다. 일부 PC의 경우 "Check for updates"를 눌러도 신규 업데이트가 없다고 나올 텐데요. 이런 경우는 다음의 사이트를 방문해 직접 업데이트 용 EXE 파일을 다운로드 받아 진행할 수 있습니다.

Windows 10 1주년 업데이트 다운로드
; https://support.microsoft.com/ko-kr/help/12387/windows-10-update-history?ocid=update_setting_client

업데이트 한 다음 Bash Shell을 설치하고 싶다면 윈도우 메뉴의 "Settings" / "For developers"로 가서 아래와 같이 "Developer mode"를 켜야 합니다.

bash_on_windows_0.png

이 옵션이 켜져 있는 상태에서 제어판의 "Program and Features"에서 "Turn Windows features on or off" 링크를 누르면 다음과 같이 "Windows Subsystem for Linux (Beta)" 항목을 볼 수 있습니다. (만약 이 항목이 없다면 다시 재부팅해줍니다.)

bash_on_windows_1.png

선택하면 재부팅을 하게 되고, "Window Key + R"키를 눌러 "Bash"라고 입력하면 bash.exe 명령행 창이 뜨고 최초 한번 다음과 같이 설치 진행 여부를 묻습니다.

bash_on_windows_2.png

"y" 키를 누르고 다운로드가 완료되면 다음과 같이 UNIX 환경을 위한 계정 정보를 입력받게 됩니다.

-- Beta feature --
This will install Ubuntu on Windows, distributed by Canonical
and licensed under its terms available here:
https://aka.ms/uowterms

Type "y" to continue: y
Downloading from the Windows Store... 100%
Extracting filesystem, this will take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: stjeong
새 UNIX 암호 입력:
새 UNIX 암호 재입력:
passwd: password updated successfully
Installation successful!
The environment will start momentarily...
Documentation is available at:  https://aka.ms/wsldocs
stjeong@THEMYTH9:/mnt/c/Users/SeongTae Jeong$

끝입니다. 이후부터는 bash.exe를 실행하면 기존의 cmd.exe와 유사하게 창이 뜨고 곧바로 명령 실행이 가능합니다.

나머지는 더 볼 것도 없겠지요. ^^ 참고로 윈도우 운영체제의 C, D 드라이브는 각각 /mnt/c, /mnt/d 와 같은 식으로 마운트되어 있으므로 그 규칙에 맞게 접근하시면 됩니다. 예를 들어 D 드라이브의 temp 폴더로 이동하고 싶다면 다음과 같이 명령을 실행하면 됩니다.

cd /mnt/d/temp




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 8/3/2016]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2016-08-04 06시47분
[플밍노트] Linux 서브 시스템, 윈도우 대격변의 서막
; http://jiniya.net/ng/2016/08/windows-subsystem-for-linux/
정성태
2016-08-05 03시29분
[easylogic] bash 안에서 window script(Power shell 에서 쓰던 스크립트) 같은건 못쓰겠죠?
[guest]
2016-08-05 04시32분
넵. 위의 덧글에 있는 "[플밍노트] Linux 서브 시스템, 윈도우 대격변의 서막" 내용에도 나오지만 완전 격리된 공간이므로 notepad.exe 등의 프로그램도 실행이 안됩니다.
정성태
2016-08-07 12시29분
정성태
2017-05-08 01시58분
Setting up a Shiny Development Environment within Linux on Windows 10
; https://www.hanselman.com/blog/setting-up-a-shiny-development-environment-within-linux-on-windows-10
정성태
2017-10-08 06시24분
다음은 10월 17일부터 업데이트될 Windows 10 Fall Creators Update부터 바뀔 WSJ 환경에 대해 소개하고 있습니다.

Windows 10으로 시작하는 Java 개발
; https://medium.com/@rkttu/start-java-dev-with-win-10-402cb91126fd
정성태
2017-10-12 05시33분
정성태
2019-01-25 10시41분
C:> wslconfig
C:> wslconfig /l

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

Running Linux Apps on Windows (and other stupid human tricks) Part I
; https://medium.com/@stephenrwalli/running-linux-apps-on-windows-and-other-stupid-human-tricks-part-i-acbf5a474532

Running Linux Apps on Windows (and other stupid human tricks) Part II
; https://medium.com/@stephenrwalli/running-linux-apps-on-windows-and-other-stupid-human-tricks-part-ii-c244b2ee535

INTERIX™: UNIX® Application Portability to Windows NT™ via an Alternative Environment Subsystem
; https://stephesblog.blogs.com/papers/usenix-interix.pdf
정성태

... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13440정성태11/11/20239677Windows: 253. 소켓 Listen 시 방화벽의 Public/Private 제어 기능이 비활성화된 경우
13439정성태11/10/202311578닷넷: 2158. C# - 소켓 포트를 미리 시스템에 등록/예약해 사용하는 방법(Port Exclusion Ranges)파일 다운로드1
13438정성태11/9/202311089닷넷: 2157. C# - WinRT 기능을 이용해 윈도우에서 실행 중인 Media App 제어
13437정성태11/8/202311292닷넷: 2156. .NET 7 이상의 콘솔 프로그램을 (dockerfile 없이) 로컬 docker에 배포하는 방법
13436정성태11/7/202311383닷넷: 2155. C# - .NET 8 런타임부터 (Reflection 없이) 특성을 이용해 public이 아닌 멤버 호출 가능
13435정성태11/6/202310623닷넷: 2154. C# - 네이티브 자원을 포함한 관리 개체(예: 스레드)의 GC 정리
13434정성태11/1/202310663스크립트: 62. 파이썬 - class의 정적 함수를 동적으로 교체
13433정성태11/1/20239452스크립트: 61. 파이썬 - 함수 오버로딩 미지원
13432정성태10/31/202310246오류 유형: 878. 탐색기의 WSL 디렉터리 접근 시 "Attempt to access invalid address." 오류 발생
13431정성태10/31/202310778스크립트: 60. 파이썬 - 비동기 FastAPI 앱을 gunicorn으로 호스팅
13430정성태10/30/202310975닷넷: 2153. C# - 사용자가 빌드한 ICU dll 파일을 사용하는 방법
13429정성태10/27/202311127닷넷: 2152. Win32 Interop - C/C++ DLL로부터 이중 포인터 버퍼를 C#으로 받는 예제파일 다운로드1
13428정성태10/25/202311305닷넷: 2151. C# 12 - ref readonly 매개변수
13427정성태10/18/202310762닷넷: 2150. C# 12 - 정적 문맥에서 인스턴스 멤버에 대한 nameof 접근 허용(Allow nameof to always access instance members from static context)
13426정성태10/13/202311265스크립트: 59. 파이썬 - 비동기 호출 함수(run_until_complete, run_in_executor, create_task, run_in_threadpool)
13425정성태10/11/202311151닷넷: 2149. C# - PLinq의 Partitioner<T>를 이용한 사용자 정의 분할파일 다운로드1
13423정성태10/6/202311052스크립트: 58. 파이썬 - async/await 기본 사용법
13422정성태10/5/202310781닷넷: 2148. C# - async 유무에 따른 awaitable 메서드의 병렬 및 예외 처리 [1]
13421정성태10/4/202311051닷넷: 2147. C# - 비동기 메서드의 async 예약어 유무에 따른 차이
13420정성태9/26/202319306스크립트: 57. 파이썬 - UnboundLocalError: cannot access local variable '...' where it is not associated with a value
13419정성태9/25/202310908스크립트: 56. 파이썬 - RuntimeError: dictionary changed size during iteration
13418정성태9/25/202312517닷넷: 2146. C# - ConcurrentDictionary 자료 구조의 동기화 방식
13417정성태9/19/202311807닷넷: 2145. C# - 제네릭의 형식 매개변수에 속한 (매개변수를 가진) 생성자를 호출하는 방법
13416정성태9/19/202310407오류 유형: 877. redis-py - MISCONF Redis is configured to save RDB snapshots, ...
13415정성태9/18/202311855닷넷: 2144. C# 12 - 컬렉션 식(Collection Expressions) [2]
13414정성태9/16/202311183디버깅 기술: 193. Windbg - ThreadStatic 필드 값을 조사하는 방법
... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...