Editar .bashrc en WSL de forma segura

Editar .bashrc en WSL de forma segura

¿Cómo edito el .bashrcarchivo en el Subsistema de Windows para Linux de forma segura?

Este artículoadvierte que nunca edite archivos almacenados en la AppDatacarpeta WSL usando herramientas de Windows.

Pero entonces, ¿cómo se editan archivos .bashrcde forma segura?

Respuesta1

Utilice el editor incorporado nanocomo:

nano ~/.bashrc

Los atajos más importantes nanoson Ctrl+ Opara guardar el archivo y Ctrl+ Xpara cerrar el editor.

nanoPuede encontrar una guía sencilla de uso en elWiki Gentoo Linux.

Respuesta2

CreoCódigo de estudio visualfunciona bien. Simplemente instale elRemoto - WSLextensión.

Para usarlo simplemente abre cmd y escribe bash. En bashtipo cd, luego use code .bashrc.

¡Voilá! VS Code se abre en WSL y puede editar los archivos que desee.

Respuesta3

Lamento agregar otra respuesta aquí, pero la pregunta en sí (junto con todas las demás respuestas aquí) necesitacontextoeso falta para cualquiera que venga y trate de entenderlo.

La advertencia de Microsoft que está vinculada en la pregunta original se refiere a la edición de archivos WSL1a través de Windowsusando la ruta de Windows %AppData%. En WSL versión 1 (pero no en la versión 2), WSL almacenó todo el sistema de archivos para la instancia de Linux en una carpeta de Windows. Esos archivos, aunque visibles para el usuario en Windows, no deben editarse en Windows. Como dice la advertencia, es probable que se dañe la instancia de WSL si no se hace caso.

Esto no es un problema en WSL versión 2. Dado que el sistema de archivos está almacenado en un disco virtual, de todos modos no es posible editar el sistema de archivos directamente.

Sin embargo, en cualquiera de las versionesesEs seguro editar los archivos (incluidos ~/.bashrc)adentrola instancia WSL. Allí, es sólo un archivo normal en el sistema de archivos WSL. Las dos respuestas de 2019 (BestiaDeCaerbannogyWinEunuuchs2Unix) utilizan este enfoque. No hay nada de malo en eso: ambas son respuestas correctas. Aunque yo diría que instalar un Windows X Server y geditsimplemente editar un archivo WSL probablemente sea excesivo. También se podría haber citado a casi cualquier otro editor (¿alguien quiere incluir una respuesta de Emacs para que esté completa? ;-)).

ElRespuesta 2020 de Brixton Mavu, que menciona el uso de VSCode, también es una variación de la misma idea. Aunque utiliza una herramienta de Windows, VSCode inicia un servidor dentro de la instancia de WSL con el que se comunica para permitir la edición, navegación e incluso la depuración de la instancia de WSL.

Entonces hayLa respuesta reciente de @Jon(lo que planteó esta pregunta y es por eso que la vi). Esta es (en su mayoría) la respuesta correcta sobre cómo editar de forma segura archivos WSL desde Windows, en lugar de desde dentro de la instancia de WSL. Sin embargo, en realidad ya se menciona en la entrada del blog de Microsoft que estaba vinculada en la pregunta original.

Digo "principalmente" porque, en general, debes evitar el uso de herramientas de Windows para editar archivos de Linux, ya que muchos editores de Windows utilizan por defecto finales de línea de DOS/Windows, lo que ~/.bashrctambién provocará errores. Algunas herramientas son lo suficientemente inteligentes como para reconocer que el archivo existente es un archivo de Linux, otras no, pero la mayoría de las herramientas utilizarán de forma predeterminada CRLF (DOS/Windows) en ausencia de cualquier otro formato.

Si la instancia WSL no se inicia debido a un error en el archivo ~/.bashrc, entoncespodríause la sugerencia de @Jon para \\wsl$\editarlo, pero también hay (en mi humilde opinión) otras alternativas más seguras.

Para editar ~/.bashrccuándo ese archivo le impide iniciar, ejecute:

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

o

wsl ~ -e bash --norc
vi .bashrc

Esto se lanzará bashsin abastecerse del existente ~/.bashrc.

Otras alternativas incluyen iniciar la sesión como root:

wsl -u root

Y luego realice las modificaciones necesarias.

WSL, en general, tiene algunos mecanismos de recuperación sorprendentes mediante el uso de los wslargumentos del comando para iniciar la instancia.

Respuesta4

Si prefiere un editor GUI, instálelo VcXsrvcomo se detalla aquí:

Entonces usagedit ~/.bashrc

información relacionada