WSL에서 .bashrc를 안전하게 편집

WSL에서 .bashrc를 안전하게 편집

.bashrcLinux용 Windows 하위 시스템에서 파일을 안전하게 편집하려면 어떻게 해야 하나요 ?

이 기사AppDataWindows 도구를 사용하여 WSL 폴더에 저장된 파일을 편집하지 말라고 경고합니다 .

그렇다면 어떻게 파일을 .bashrc안전하게 편집할 수 있을까요?

답변1

내장 nano편집기를 다음과 같이 사용하십시오.

nano ~/.bashrc

가장 중요한 단축키는 파일을 저장하는 + 와 편집기를 닫는 + nano입니다 .CtrlOCtrlX

사용에 대한 간단한 지침은 nano다음에서 찾을 수 있습니다.젠투 리눅스 위키.

답변2

제 생각에는비주얼 스튜디오 코드잘 작동합니다. 그냥 설치하세요원격 - WSL확대.

사용하려면 cmd를 열고 를 입력하세요 bash. bash유형 에 cd을 사용하십시오 code .bashrc.

짜잔! VS Code는 WSL에서 열리고 원하는 파일을 편집할 수 있습니다.

답변3

여기에 또 다른 답변을 추가해서 죄송합니다. 하지만 질문 자체(여기의 다른 모든 답변과 함께)에는문맥그것은 와서 그것을 이해하려고 노력하는 다른 사람에게는 누락되었습니다.

원래 질문에 링크된 Microsoft 경고는 WSL1 파일 편집을 나타냅니다.윈도우를 통해Windows의 %AppData%경로를 사용합니다. WSL 버전 1(버전 2는 아님)에서 WSL은 Linux 인스턴스의 전체 파일 시스템을 Windows 폴더에 저장했습니다. 이러한 파일은 Windows에서 사용자에게 표시되지만 Windows에서는 편집하면 안 됩니다. 경고에 나와 있듯이, 주의하지 않으면 WSL 인스턴스가 손상될 가능성이 높습니다.

이는 WSL 버전 2에서는 문제가 되지 않습니다. 파일 시스템이 가상 디스크에 저장되므로 어쨌든 파일 시스템을 직접 편집하는 것은 불가능합니다.

그러나 두 버전 모두에서~이다파일을 편집해도 안전합니다( 포함 ~/.bashrc).내부에WSL 인스턴스. WSL 파일 시스템의 일반 파일입니다. 2019년의 두 가지 답변(BeastOfCaerbannog의그리고WinEunuuchs2Unix의) 이 접근 방식을 활용합니다. 틀린 것은 없습니다. 둘 다 정답입니다. Windows X Server를 설치하고 gedit단지 WSL 파일을 편집하는 것은 아마도 과잉일 것입니다. 다른 편집자도 인용할 수 있습니다(누군가 완전성을 위해 Emacs 답변을 던지고 싶습니까? ;-)).

그만큼Brixton Mavu의 2020 답변VSCode 사용을 언급하는 것도 같은 아이디어의 변형입니다. Windows 도구를 사용하더라도 VSCode는 WSL 인스턴스의 편집, 탐색 및 디버깅을 허용하기 위해 통신하는 WSL 인스턴스 내부에서 서버를 시작합니다.

그럼 거기에@Jon의 최근 답변(이 질문에 부딪혔고 이것이 내가 본 이유입니다). 이것은 WSL 인스턴스 내부가 아닌 Windows 내부에서 WSL 파일을 안전하게 편집하는 방법에 대한 정답입니다. 하지만 실제로는 원래 질문에 링크된 Microsoft 블로그 항목에서 이미 언급되었습니다.

"대부분"이라고 말한 이유는 일반적으로 Windows 도구를 사용하여 Linux 파일을 편집하는 것을 피해야 하기 때문입니다. 왜냐하면 많은 Windows 편집기는 기본적으로 DOS/Windows 줄 끝을 사용하므로 ~/.bashrc실패할 수도 있기 때문입니다. 일부 도구는 기존 파일이 Linux 파일임을 인식할 만큼 똑똑하고 일부 도구는 그렇지 않습니다. 그러나 대부분의 도구는 다른 형식이 없으면 기본적으로 CRLF(DOS/Windows)를 사용합니다.

의 오류로 인해 WSL 인스턴스가 시작되지 않는 ~/.bashrc경우~할 수 있었다@Jon의 제안을 사용하여 \\wsl$\편집하세요. 그러나 (IMHO) 다른 더 안전한 대안도 있습니다.

~/.bashrc해당 파일이 실행을 방해하는 경우를 편집하려면 다음을 실행하세요.

wsl -e bash --norc -c "vi ~/.bashrc"

또는

wsl ~ -e bash --norc
vi .bashrc

기존 .bash~/.bashrc

다른 대안으로는 루트로 세션을 시작하는 것이 있습니다.

wsl -u root

그런 다음 필요한 편집을 수행합니다.

일반적으로 WSL에는 명령 인수를 사용하여 wsl인스턴스를 시작하는 몇 가지 놀라운 복구 메커니즘이 있습니다.

답변4

GUI 편집기를 선호하는 경우 VcXsrv여기에 설명된 대로 설치하십시오.

그런 다음 사용gedit ~/.bashrc

관련 정보