Comando Linux · 4 min read · Sep 15, 2025
Tutorial del comando chsh de Linux para principiantes (5 ejemplos)

El chsh (cambiar shell) comando en Linux es una utilidad que permite a los usuarios cambiar su shell de inicio de sesión predeterminado. El shell de inicio de sesión es la interfaz de línea de comandos con la que los usuarios interactúan al iniciar sesión en un sistema similar a Unix. Los shells comunes incluyen dash, bash, zsh, ksh y fish.
Antes de profundizar en el comando chsh, es esencial entender qué es un shell de inicio de sesión. El shell de inicio de sesión es el primer proceso que se ejecuta bajo tu ID de usuario cuando inicias sesión. Es responsable de inicializar tu entorno y proporcionar una interfaz para interactuar con el sistema.
Shells comunes de Linux
- Bash (Bourne Again Shell): El shell predeterminado para muchas distribuciones de Linux, conocido por su facilidad de uso y características robustas.
- Zsh (Z Shell): Una versión extendida de bash con muchas características adicionales como autocompletado mejorado y personalización.
- Ksh (Korn Shell): Un shell que ofrece características de scripting que se encuentran tanto en sh como en csh.
- Fish (Friendly Interactive Shell): Conocido por sus características amigables para el usuario como resaltado de sintaxis y autocompletado.
- Dash: El shell Dash de Linux (dash) es un shell ligero, compatible con POSIX, diseñado para velocidad y uso mínimo de recursos, a menudo utilizado como el shell de scripting predeterminado en sistemas basados en Debian.
El comando chsh de Linux
Como se explica en la introducción anterior, el comando chsh te permite cambiar tu shell de inicio de sesión. A continuación se muestra su sintaxis:
chsh [opciones] [LOGIN]Y esto es lo que dice la página del manual de la herramienta al respecto:
El comando chsh cambia el shell de inicio de sesión del usuario. Esto determina el nombre
del comando de inicio de sesión inicial del usuario. Un usuario normal solo puede cambiar el
shell de inicio de sesión de su propia cuenta; el superusuario puede cambiar el shell de inicio
de sesión de cualquier cuenta.A continuación se presentan algunos ejemplos en formato de preguntas y respuestas que deberían darte una buena idea de cómo funciona el comando chsh.
P1. ¿Cómo usar chsh?
El uso básico es bastante simple: solo ejecuta el comando ‘chsh’ sin argumentos. Se te pedirá tu contraseña de inicio de sesión, y después de ingresarla correctamente, tendrás la opción de cambiar tu shell de inicio de sesión.
chsh
Ten en cuenta que el shell de inicio de sesión para el usuario actual se cambia por defecto.
P2. ¿Cómo cambiar el shell de inicio de sesión usando chsh?
Como era de esperar, solo ingresa el nuevo valor (ver captura de pantalla en el ejemplo anterior), y tu shell se cambiará al nuevo.
Por ejemplo, ingresé /bin/sh como el nuevo valor.

Para verificar el cambio, puedes ejecutar el comando chsh nuevamente. El valor mostrado entre corchetes es el shell actual. Así que en mi caso, el shell actual se convirtió en /bin/sh:

P3. ¿Cómo cambiar el shell de inicio de sesión para otro usuario?
Para esto, solo especifica el nombre de usuario como entrada para el comando chsh.
chsh [nombredeusuario]Por ejemplo, para cambiar el shell de inicio de sesión de root, usa chsh de la siguiente manera:
chsh root
P4. ¿Cómo hacer que chsh se ejecute en modo no interactivo?
Usa la opción de línea de comandos -s para esto, que requiere que se pase un nombre de shell como entrada.
Por ejemplo:
chsh -s /bin/shDe esta manera, el shell de inicio de sesión para el usuario actual se cambiará a /bin/sh de manera no interactiva.
P5. ¿Cómo ver una lista de shells de inicio de sesión disponibles en el sistema?
Para echar un vistazo rápidamente a la lista de shells disponibles en tu sistema, solo cat el archivo /etc/shells.
Por ejemplo, aquí está la salida producida en mi sistema:
# /etc/shells: shells de inicio de sesión válidos
/bin/sh
/bin/bash
/bin/rbash
/bin/dashNota:
La única restricción impuesta al shell de inicio de sesión es que el nombre del comando
debe estar listado en /etc/shells, a menos que el invocador sea el superusuario, y
entonces se puede agregar cualquier valor. Una cuenta con un shell de inicio de sesión restringido
no puede cambiar su shell de inicio de sesión. Por esta razón, se desaconseja colocar /bin/rsh en
/etc/shells, ya que cambiar accidentalmente a un shell restringido impediría al usuario
volver a cambiar su shell de inicio de sesión a su valor original.Conclusión
Así que ves, el comando chsh es una herramienta importante de la que los usuarios de línea de comandos deben estar al tanto. Aquí, en este tutorial, hemos discutido la mayoría de las opciones de línea de comandos que ofrece la herramienta. Para aprender más sobre chsh, dirígete a su página de manual.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.