Recomendado, 2024

La Elección Del Editor

Cómo funciona Linux Bash Shell en Windows 10

Con el lanzamiento de la Actualización de aniversario para Windows 10, Microsoft anunció el Subsistema de Windows para Linux (WSL), una forma de ejecutar un Bash nativo real en Windows 10, que admite la ejecución de binarios nativos de Linux. Lo hace ejecutando una imagen de Ubuntu Linux en modo usuario sobre Windows.

Esto significa que puede ejecutar herramientas de línea de comandos de Linux como ls, grep, top y chmod . Ya que está ejecutando Ubuntu genuino debajo, ejecutar lsb-release -a le dará el siguiente resultado:

Puedes usar apt-get and friends para instalar utilidades como vim, git, screen, tmux, o incluso jugar un juego de nethack:

Sin embargo, tenga en cuenta que este sistema está en versión beta y no está diseñado para cargas de trabajo del servidor. Es solo una herramienta para desarrolladores (y entusiastas) para probar sus aplicaciones centradas en Linux en Windows sin modificaciones. Tampoco es una herramienta diseñada para ejecutar aplicaciones o entornos GUI de Linux como Gnome o KDE, aunque eso también es posible con ciertos hacks. Una vez que lo hayamos eliminado, echemos un vistazo a cómo funciona el shell de Linux en Windows 10.

Subsistema de Windows para Linux (WSL)

Según la documentación oficial, "WSL es una colección de componentes que permite que los binarios nativos de ELF64 de Linux se ejecuten en Windows". Lo hace implementando una interfaz de kernel de Linux virtualizada sobre el kernel de Windows NT. Es decir, no usa ningún código del kernel de Linux real: cada vez que una aplicación hace una llamada al sistema específica de Linux (syscall), WSL lo traduce al sistema de Windows equivalente, que luego hace todo el trabajo pesado.

Diferencias de las máquinas virtuales y Cygwin

Ahora echemos un vistazo a cómo Linux Bash Shell en Windows 10 es diferente en comparación con las máquinas virtuales y Cygwin.

Maquinas virtuales

Usted podría estar pensando, "Bueno, ¿por qué usar esto? ¿Por qué no usar una máquina virtual de Linux en Windows?

En comparación con una máquina virtual, WSL utiliza menos recursos . También le permite trabajar con sus archivos como lo haría en Linux, mientras le brinda acceso completo al sistema de archivos de Windows subyacente sin tener que depender de carpetas compartidas o recursos compartidos de red.

Cygwin

Otro método popular para ejecutar herramientas populares como Linux / Unix en Windows es Cygwin. La mayor diferencia entre los dos enfoques es que Cygwin no es una forma de ejecutar binarios nativos de Linux en Windows. Solo proporciona un conjunto de herramientas de código abierto y GNU que proporcionan una funcionalidad similar a una distribución de Linux en Windows.

Por otro lado, las herramientas WSL son binarios compilados nativos de Linux ELF-64 que se ejecutan en Windows. Por ejemplo, ejecutar un comando apt-get install emacs en WSL descargará e instalará los mismos archivos que en una instalación de Ubuntu 14.04, desde los repositorios oficiales de Ubuntu.

Usuarios, permisos y sistemas de archivos en WSL

Jerarquía del sistema de archivos

WSL se instala en el %LocalAppData%\lxss\rootfs del usuario actual. Esto se conoce como el entorno WSL y actúa como el directorio " / " (raíz) de Linux. Por ejemplo, si su nombre de usuario en Windows es beebom, el directorio raíz de Linux se ubicará en C:\Users\beebom\AppData\Local\lxss\rootfs. Esto significa que cada usuario de Windows puede tener su propio entorno WSL, y puede realizar cambios como los paquetes de software de apt-get install, sin afectar a otros usuarios de Windows.

Es posible acceder al sistema de archivos de Windows subyacente en WSL. Todas las unidades están montadas bajo /mnt. Por ejemplo, C:\ se monta bajo /mnt/c, D:\ se monta bajo /mnt/d, etc.

Usuarios y permisos

Cuando instale WSL por primera vez, le pedirá que cree un nuevo usuario de Linux predeterminado. Este usuario no necesita tener el mismo nombre que el usuario actual de Windows y, en general, se trata como una entidad separada. Incluso puede crear múltiples usuarios de Linux, controlados por un solo usuario de Windows.

Es posible obtener privilegios de root usando el comando sudo . Tenga en cuenta que ser root en WSL solo afecta los derechos del usuario en el entorno y el sistema de archivos de Linux, no tienen ningún impacto en los privilegios de Windows otorgados. Por ejemplo, una sesión WSL con privilegios de administrador de Windows puede cd /mnt/c/Users/Administrator mientras que una sesión Bash sin privilegios de administrador vería Permiso denegado. Escribir sudo cd /mnt/c/Users/Administrator no otorgará acceso al directorio del Administrador ya que los permisos están restringidos por Windows.

Características del sistema de archivos específicas de Linux

Linux es un sistema que distingue entre mayúsculas y minúsculas . Eso significa que photo.png y Photo.png se tratan como dos archivos diferentes. Si bien Windows no distingue entre mayúsculas y minúsculas de forma predeterminada, aún así lo hace. Lo que significa que si bien photo.png y Photo.png no se tratan como dos archivos distintos, ciertamente es consciente de la diferencia en el caso.

WSL maneja la sensibilidad a las mayúsculas y minúsculas al igual que en Linux. Incluso es posible crear dos archivos cuyo nombre solo difiere por caso fuera del entorno WSL. Sin embargo, tenga en cuenta que muchas aplicaciones de Windows no pueden manejar tales situaciones y es posible que no puedan abrir uno o ambos archivos.

De manera similar, los enlaces simbólicos son compatibles, siempre que esté ejecutando un sistema de archivos NTFS. Sin embargo, los enlaces simbólicos solo funcionarán dentro de WSL y no podrán ser resueltos por otras aplicaciones de Windows.

Linux también admite casi todos los caracteres especiales dentro de los nombres de archivo, mientras que Windows es más restrictivo. Sin embargo, WSL permite el uso de tales caracteres especiales, siempre que estén restringidos al entorno del sistema Linux.

¿Listo para ejecutar la línea de comandos de Linux en Windows?

Entonces, así es como funciona Ubuntu Bash o Linux Bash Shell, también conocido como Windows Subsystem for Linux en Windows 10 (con la actualización de Aniversario). Junto con su funcionamiento, también aprendimos cómo es diferente y mejor que los métodos tradicionales de ejecutar comandos específicos de Linux en Windows. Por lo tanto, si siempre ha querido usar comandos de Linux, comience y tiene preguntas, comentarios o sugerencias, asegúrese de informarnos en la sección de comentarios.

Top