Esto significa que puede ejecutar herramientas de línea de comandos de Linux como ls
, grep
, top
y chmod
. Dado que está ejecutando Ubuntu genuino debajo, ejecutando lsb-release -a
le dará la siguiente salida:
Puedes usar apt-get
y amigos para instalar utilidades como vim
, git
, screen
, tmux
o incluso jugar un juego de nethack:
Tenga en cuenta, sin embargo, que este sistema está en versión beta y no destinado a las cargas de trabajo del servidor. Es solo una herramienta para que los desarrolladores (y entusiastas) prueben sus aplicaciones centradas en Linux en Windows sin modificaciones. Esta tampoco es una herramienta destinada a ejecutar aplicaciones o entornos de GUI de Linux como Gnome o KDE, aunque eso también es posible con ciertos trucos. Habiendo aclarado eso, echemos un vistazo a cómo funciona el shell de Linux en Windows 10.
Tabla de contenidos
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 Linux ELF64 se ejecuten en Windows”. Lo hace mediante la implementación de una interfaz de kernel de Linux virtualizada sobre el kernel de Windows NT. Es decir, no utiliza ningún código del kernel de Linux real; cada vez que una aplicación realiza una llamada al sistema (syscall) específica de Linux, WSL la traduce a la llamada 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
Podrías estar pensando: “Bueno, ¿por qué usar esto? ¿Por qué no usar una máquina virtual Linux en Windows?”.
En comparación con una máquina virtual, WSL usa menos recursos. También le permite trabajar con sus archivos como lo haría en Linux, al tiempo que le brinda acceso completo al sistema de archivos subyacente de Windows sin tener que depender de carpetas compartidas o recursos compartidos de red.
Cygwin
Otro método popular para ejecutar herramientas similares a 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 GNU y de código abierto que brindan funcionalidad. similar a una distribución de Linux en Windows.
Por otra parte, Las herramientas WSL son nativas de Linux DUENDE-64 binarios compilados que se ejecutan en Windows. Por ejemplo, ejecutar un apt-get install emacs
El comando 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 está instalado bajo el usuario actual %LocalAppData%\lxss\rootfs
directorio. Esto se conoce como el Entorno WSL y actúa como el Linux”/
“(directorio raíz. Por ejemplo, si su nombre de usuario en Windows es beebom
el directorio raíz de Linux estará ubicado 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 apt-get install
paquetes de software, sin afectar a otros usuarios de Windows.
Es posible acceder al sistema de archivos subyacente de Windows en WSL. Todas las unidades están montadas debajo /mnt.
Por ejemplo, C:\
está montado debajo /mnt/c
, D:\
está montado debajo /mnt/d
etc.
Usuarios y permisos
Cuando instale WSL por primera vez, le pedirá que cree un nuevo usuario predeterminado de Linux. 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 root
privilegios usando el sudo
dominio. Tenga en cuenta que ser root
en WSL solo afecta los derechos del usuario dentro del entorno y el sistema de archivos de Linux; no tiene ningún impacto en los privilegios de Windows otorgados. Por ejemplo, una sesión de WSL con privilegios de administrador de Windows puede cd /mnt/c/Users/Administrator
mientras que una sesión de Bash sin privilegios de administrador vería Permiso denegado. Mecanografía sudo cd /mnt/c/Users/Administrator
no otorgará acceso al directorio del Administrador ya que los permisos están restringidos por Windows.
Funciones del sistema de archivos específicas de Linux
Linux es un distingue mayúsculas y minúsculas sistema. Eso significa que photo.png
y Photo.png
se tratan como dos archivos diferentes. Si bien Windows no es el caso sensible por defecto, sigue siendo el caso consciente. Lo que significa que mientras photo.png
y Photo.png
no se tratan como dos archivos distintos, ciertamente lo es consciente de la diferencia de casos.
WSL maneja la distinción entre mayúsculas y minúsculas como en Linux. Incluso es posible crear dos archivos cuyo nombre solo difiera por mayúsculas y minúsculas fuera del entorno WSL. Tenga en cuenta, sin embargo, que muchas aplicaciones de Windows no pueden manejar tales situaciones y es posible que no puedan abrir uno o ambos archivos.
Similarmente, 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 es compatible con casi todos caracteres especiales dentro de los nombres de archivo, mientras que Windows es más restrictivo. Sin embargo, WSL permite el uso de dichos 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 Ubuntu Bash o Linux Bash Shell, también conocido como Subsistema de Windows para Linux, funciona 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 ejecución de comandos específicos de Linux en Windows. Entonces, si siempre ha querido usar los comandos de Linux, comience y si tiene preguntas, comentarios o sugerencias, asegúrese de hacérnoslo saber en la sección de comentarios.