WSL2 셸의 별칭 CMD 명령

WSL2 셸의 별칭 CMD 명령

저는 Windows 10에서 WSL2를 실행하고 있으며 Linux 셸을 종료하지 않고도 WSL2에서 CMD 명령을 실행할 수 있기를 원합니다. 구체적으로 다음을 수행하고 싶습니다.

wmic diskdrive get Model,Manufacturer,Size,DeviceID,Status,InterfaceType

WSL2로 이 작업을 어떻게 수행할 수 있나요?

답변1

나보다 지식이 많은 다른 사람들은 더 나은 방법을 알고 있거나 개선 사항을 제안할 수 있지만, 이 문제를 해결하기 위해 내가 생각할 수 있는 가장 쉬운 방법은 Bash 별칭을 사용하는 것이었습니다. 나는 lsd(줄여서) 라는 별칭을 만들었습니다.에스장치 또는isks) WSL 셸을 종료할 필요 없이 실행할 수 있으며 CMD 자체에서 명령을 실행하는 것만큼 빠르게 유지됩니다.


WSL 셸에서 홈 폴더로 이동합니다.

cd ~

...Windows 탐색기에서 엽니다.

explorer.exe .

Sublime Text와 같은 일반 텍스트 편집기를 사용하여 홈 폴더에 있는 파일을 열고 .bashrc맨 아래에 다음 줄을 추가합니다.

alias lsd="cmd.exe /c '*wmic diskdrive get Model,Manufacturer,Size,DeviceID,Status,InterfaceType'"

이렇게 하면 자체적으로 종료되기 전에 명령을 lsd실행하는 CMD 인스턴스를 실행하는 별칭(모든 의도와 목적을 위한 또 다른 명령)이 생성됩니다 . 위의 명령을 실행하려는 CMD 명령으로 wmic바꾸는 것을 잊지 마십시오 .wmic

파일 을 저장 .bashrc한 후 다음을 수행하여 셸에 로드합니다.

. ~/.bashrc

그런 다음 다른 WSL 명령처럼 별칭을 실행할 수 있습니다.

$ lsd

'\\wsl$\Ubuntu-18.04\home\user'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.
DeviceID            InterfaceType  Manufacturer            Model                                 Size           Status
\\.\PHYSICALDRIVE0  IDE            (Standard disk drives)  WDC WD10PURX-64E5EY0                  1000202273280  OK
\\.\PHYSICALDRIVE4  IDE            (Standard disk drives)  WDC WD30EZRZ-00GXCB0                  3000590369280  OK
\\.\PHYSICALDRIVE2  IDE            (Standard disk drives)  CT250MX500SSD1                        250056737280   OK
\\.\PHYSICALDRIVE6  USB            (Standard disk drives)  Seagate GoFlex Desk USB Device        3000582144000  OK
\\.\PHYSICALDRIVE1  IDE            (Standard disk drives)  KINGSTON SV200S3128G                  128034708480   OK
\\.\PHYSICALDRIVE3  IDE            (Standard disk drives)  ST2000DM001-9YN164                    2000396321280  OK
\\.\PHYSICALDRIVE5  USB            (Standard disk drives)  Kingston DataTraveler 3.0 USB Device  15471751680    OK

위에서 볼 수 있듯이 별칭 구현에는 명령이 실행 직전에 경로 오류를 반환하는 치명적이지 않은 버그가 있지만 이 문제를 해결하는 방법을 알아낼 시간이 없었습니다.여기에 후속 질문). 어쨌든 Windows는 문제 자체를 수정합니다. 즉, CMD 명령이 정상적으로 실행되는 것을 막지 않으며 실제로 해를 끼치는 유일한 것은 출력을 원래보다 약간 더 나쁘게 만드는 것입니다.

관련 정보