본문으로 바로가기

윈도우즈에서 리눅스 활용팁 - WSL

category 윈도우즈/WSL 2018. 2. 26. 11:00

WSL 관리 및 유용한 도구들에 대한 몇가지 팁을 작성합니다.

Windows Subsystem for Linux 팁

WSL 배포판 패키지 업데이트

배포판마다 다르지만 우분투 사용자들이라면 아래와 같이 업데이트 및 업그레이드가 가능하다. 처음설치했다면 한번쯤은 해두도록 하자.

$ sudo apt-get update
$ sudo apt-get upgrade

WSL 배포판 정보확인

우분투 사용자라면 아래의 명령어로 배포판 관련정보를 얻을수 있다.

$ lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

screenFetch

만일, 좀더 자세한 정보와 배포판로고까지 첨부되는 화면을 원한다면 screenFetch를 설치해보자.

출처: https://www.anandtech.com/show/11401/microsoft-build-2017-recap-expecting-windows/5

우분투 사용자라면 아래와 같이 설치가능하다. 그외 사용자는 위의 Repo에 들려 설치법을 참고하자.

$ sudo apt install screenfetch

실행화면은 아래와 같다.

$ screenfetch

screenfetch ubuntu

디렉토리 위치에서 CMD 혹은 PowerShell 실행 및 마운트

현재 디렉토리위치에서 Powershell을 열기위해서는 윈도우즈 탐색기의 파일 메뉴로 접근하면 된다. CMD의 경우는 윈도우즈 탐색기의 디렉토리 경로부분에 cmd라고 입력하고 엔터를 누르면 된다.

위와 같은 방식으로 접근한 Powershell 혹은 CMD는 아래처럼 자동으로 현재 경로를 인식하고, 이 상태에서 bash를 입력한다면 해당 드라이브는 자동으로 WSL에 마운트된다.

WSL에서 디렉토리 마운트 및 이동

WSL 콘솔에서는 /mnt/드라이브문자와 같이 원하는 드라이브를 마운트 시킬수 있고 /mnt/드라이브문자/디렉토리명과 같이 하위 디렉토리에도 접근이 가능하다. cd /mnt/c라고 입력하면 마운트와 동시에 해당 드라이브(디렉토리)로 이동 가능하다.

WSL에서 윈도우즈 파일사용

리눅스 응용 프로그램에서 윈도우즈 파일에 접근해야 하는 경우는 /mnt/c/Users/윈도우즈 사용자명/Documents/Projects/파일명과 같이 접근할수 있다. 다만 모든 리눅스 응용 프로그램이 /mnt를 사용하여 파일에 접근할 수 있는 것은 아니다.

이 문제는 심볼릭링크(symbolic link)를 이용하여 해결할 수 잇는데, 윈도우즈 디렉토리가 C:\Users\윈도우즈 사용자명\Documents\Projects와 같다면 아래와 같이 원하는 리눅스 디렉토리로 심볼릭링크를 설정하고 접근이 가능해진다.

$ ln -s "/mnt/c/Users/윈도우즈 사용자명/Documents/Projects" /home/리눅스 사용자명(홈디렉토리명)/Projects

콘솔(터미널) 색상 및 글꼴변경

관련해서는 터미널(CMD, WSL) 컬러셋 변경 - WSL을 참고하자.

WSL에서 호스팅서버에 접속

근래에 서비스되는 웹호스팅들은 ssh 접속이 지원되는 경우가 많다. 많이들 사용하는 cafe24의 경우도 이를 지원한다.

  • 웹에서 자신의 계정으로 cafe24에 접속
  • 나의서비스 관리 > 호스팅관리 > 보안관리 > FTP/Shell 접속설정으로 이동해서 Shell 접속 설정허용으로 변경한다.
  • WSL을 실행하고 ssh 자신의 호스팅ID@호스팅주소로 연결합니다. 도메인을 가지고 있다면 도메인으로 연결해도 되고 그렇지 않다면 호스팅ID.cafe24.com 으로 연결해도 된다.
    $ ssh uzugoer@uzuro.com
  • 첫 연결때는 연결을 물으니 yes를 입력하고, 비밀번호는 FTP접속비밀번호를 입력하면 된다. 기본 명령어를 이것 저것 입력해보도록 하자.
    The authenticity of host 'uzuro.com (183.111.174.88)' can't be established.
    ED25519 key fingerprint is SHA256:XM0Bu/blKrwAlXR6oy8MF6FSRTj8PJGRJD3FyHeILmk.
    Are you sure you want to continue connecting (yes/no)? yes
    
    Warning: Permanently added 'uzuro.com' (ED25519) to the list of known hosts.
    
    uzugoer@uzuro.com's password:
    Last login: Tue Feb 20 19:28:33 2018 from 121.139.132.56
    
    [uzugoer@uws64-184 ~]$ pwd
    /home/hosting_users/uzugoer
    
    [uzugoer@uws64-184 ~]$ ls -la
    합계 124
    drwx------   3 uzugoer uzugoer  4096  2월 20 19:37 .
    drwx-----x 995 root    root    36864  2월  1 10:10 ..
    -rw-------   1 uzugoer uzugoer    52  2월 20 19:37 .bash_history
    -rw-------   1 uzugoer uzugoer   356  7월 21  2015 .bash_profile
    -rw-r--r--   1 uzugoer uzugoer 23474  2월 20 07:02 .ftpaccess
    -rw-r--r--   1 uzugoer uzugoer 28689  2월 20 07:02 .ftpaccess2
    -rwxr-x---   1 uzugoer uzugoer    66  7월 21  2015 .htaccess
    -rw-r--r--   1 uzugoer uzugoer    11  2월 20 19:37 .lastlogin
    -rw-r--r--   1 uzugoer uzugoer     6  2월 20 19:37 .logincount
    -rwxr-x---   1 uzugoer uzugoer    35  7월 21  2015 .my.cnf
    drwxr-xr-x   4 uzugoer uzugoer  4096  2월 12 09:20 www
    
  • mysql도 접속해볼 수 있다. mysql -u호스트ID -p 입력후 DB 비밀번호를 입력하면 된다.
  • [uzugoer@uws64-184 ~]$ mysql -uuzugoer -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is ******
    Server version: 5.1.45p1-log Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | uzugoer            |
    +--------------------+
    2 rows in set (0.01 sec)