WSL에는 Windows 실행 파일을 실행할 수 있는 WSL Interop 기능이 포함되어 있다. Interop 기능을 통해 WSL 터미널에서 Windows 실행 파일 즉, exe 프로그램을 실행할 수 있다. 일반적으로 보통 Windows 로컬에서 exe를 실행하는 것과 다르지 않지만 일부 프로그램은 WSL에서 유용하게 활용할 수 있다. 그 중 clip.exe 라는 프로그램을 통해 WSL에 위치한 파일의 내용을 클립보드에 복사하는 방법을 소개한다.
WSL은 Windows Terminal을 통해서 터미널을 실행할 수 있으므로 보통은 화면에 출력된 내용을 마우스로 스크롤하여 Ctrl + C
를 통해서 편리하게 복사하여 사용한다. 다만 파일의 내용이 많거나 출력해서 보기 어려운 내용의 경우 직접 클립보드로 내용을 복사할 수 있다면 원하는 곳에 바로바로 쉽게 붙여 넣을 수 있기 때문에 편리할 것이다.
clip.exe
clip.exe
는 Windows의 시스템 폴더(System32)에 위치한 기본 프로그램으로 Windows 10 이상에서 사용할 수 있다. 명령어 구문은 다음과 같다.
<command> | clip
clip < <filename>
즉 화면에 출력되는 표준 출력을 파이프라인(’|’)을 통해 clip 명령의 표준 입력으로 전달하거나 특정 파일을 clip 명령어에 리다이렉트(’<’) 하여 클립보드 내용을 복사할 수 있다.
WSL Interop 기능을 통해 WSL 터미널에서 clip.exe 명령으로 클립보드에 내용을 복사한다.
clip.exe < /path/to/filename
파일 내용 뿐만 아니라 표준 출력도 클립보드에 복사할 수 있으므로, 화면에 출력 후 스크롤하여 복사할 필요 없이 파이프라인(’|’)을 통해서 바로 클립보드로 내용을 복사할 수 있다.
cat /path/to/filename > clip.exe
md5sum /path/to/filename > clip.exe
curl -v https://example.com > clip.exe
explorer.exe
만약 파일이 plain text 형식이 아닌 바이너리 또는 Windows 호스트에서 사용해야 하는 파일이라면 Windows 탐색기를 통해서 빠르게 WSL 터미널 화면의 현재 위치를 탐색기로 띄울 수 있다.
# 현재 경로 열기
explorer.exe .
# 특정 경로 열기는 지원하지 않음
explorer.exe /
explorer.exe ~
explorer.exe /path/to/directory
마치며
clip.exe는 WSL이 아니어도 windows에서 유용하게 사용할 수 있는 기능이다. 필요한 명령프롬프트(cmd)나 파워쉘(powershell)을 통해서도 활용할 수 있다.
명령줄에서 Windows 클립보드로 명령 출력을 리디렉션하는 clip 명령에 대한 참조 문서입니다.
