# Resumen video (Qué es una Shell, uso de Bash y Variables de entorno) **Programa académico:** Ing. de Sistemas **Nombre del curso:** Sistemas Operativos II **Temática:** Shell, uso de bash y variables de entorno **Nombre Completo:** Santiago Esteban Nieto Morales **Código:** S6B2024 **Fecha:** 27/09/2023 ## 1. Qué es la shell Una shell es un interprete de comandos. En palabras sencillas es una interfaz donde podemos iniciar los programas del sistema y acceder a los archivos del mismo. existen diferentes tipos de shell: * **CLI:** *Command-Line Interface;* interfaz de línea de comandos * **GUI:** *Graphical User Interface;* interfaz gráfica de usuario * **NUI:** *Natural User Interface;* interfaz de lenguaje natural ## 2. Bash Como en la mayoria de las distribuciones linux se encuentra que la shell por defecto es bash durante el video va a usar esta shell ```bash echo "Hola mundo" ``` Despues explican los atajos de teclado que nos podran ser utiles al usar bash. En el video no se explican de está manera. Lo voy a hacer de forma un poco más completa. ### Atajos de Archivo Los atajos predeterminados para opciones en esta sección son: <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td> <p>Pestaña nueva</p> </td> <td> <p><kbd>Mayús</kbd></span>+<span><kbd>T</kbd></span></span></p> </td> </tr> <tr> <td> <p>Ventana nueva</p> </td> <td> <p><kbd>Mayús</kbd></span>+<span><kbd>N</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cerrar pestaña</p> </td> <td> <p><kbd>Mayús</kbd></span>+<span><kbd>W</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cerrar la ventana</p> </td> <td> <p><kbd>Mayús</kbd></span>+<span><kbd>Q</kbd></span></span></p> </td> </tr> </tbody> </table> ### Atajos de editar Los atajos predeterminados para opciones en esta sección son: <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td style="border-top-style: solid;"> <p>Copiar</p> </td> <td style="border-top-style: solid;"> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>C</kbd></span></span></p> </td> </tr> <tr> <td style="border-top-style: solid;"> <p>Pegar</p> </td> <td style="border-top-style: solid;"> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>V</kbd></span></span></p> </td> </tr> </tbody> </table> ### Atajos de ver Los atajos predeterminados para opciones en esta sección son: <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td> <p>Pantalla completa</p> </td> <td> <p><span><kbd>F11</kbd></span></p> </td> </tr> <tr> <td> <p>Ampliar</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>+</kbd></span></span></p> </td> </tr> <tr> <td> <p>Reducir</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>-</kbd></span></span></p> </td> </tr> <tr> <td> <p>Tamaño normal</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>0</kbd></span></span></p> </td> </tr> </tbody> </table> ### Atajos de buscar Los atajos predeterminados para opciones en esta sección son: <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td> <p>Buscar</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>F</kbd></span></span></p> </td> </tr> <tr> <td> <p>Buscar siguiente</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>G</kbd></span></span></p> </td> </tr> <tr> <td> <p>Buscar anterior</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>H</kbd></span></span></p> </td> </tr> <tr> <td> <p>Limpiar resaltado</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>J</kbd></span></span></p> </td> </tr> </tbody> </table> ### Atajos para pestañas <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td> <p>Cambiar a la pestaña anterior</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>Re Pág</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña siguiente</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>Av Pág</kbd></span></span></p> </td> </tr> <tr> <td> <p>Mover la pestaña de la izquierda</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>Re Pág</kbd></span></span></p> </td> </tr> <tr> <td> <p>Mover la pestaña de la derecha</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>Av Pág</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 1</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>1</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 2</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>2</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 3</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>3</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 4</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>4</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 5</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>5</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 6</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>6</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 7</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>7</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 8</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>8</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 9</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>9</kbd></span></span></p> </td> </tr> <tr> <td> <p>Cambiar a la pestaña 10</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>0</kbd></span></span></p> </td> </tr> </tbody> </table> ### Otros También hay algunos atajos que no se pueden editar <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td> <p>Desplazarse una línea hacia arriba</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>Arriba</kbd></span></span> </p> </td> </tr> <tr> <td> <p>Desplazarse una línea hacia abajo</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Ctrl</kbd></span>+<span><kbd>Abajo</kbd></span></span> </p> </td> </tr> <tr> <td> <p>Subir una página</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Re Pág</kbd></span></span></p> </td> </tr> <tr> <td> <p>Bajar una página</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Av Pág</kbd></span></span></p> </td> </tr> <tr> <td> <p>Desplazar hasta arriba</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Inicio</kbd></span></span></p> </td> </tr> <tr> <td> <p>Desplazar hasta abajo</p> </td> <td> <p><span><span><kbd>Mayús</kbd></span>+<span><kbd>Fin</kbd></span></span></p> </td> </tr> </tbody> </table> ### Atajos de bash Estos son los atajos de Bash. Bash es, generalmente, la shell predeterminada. Los atajos de teclado específicos de Bash son: <table> <thead> <tr> <td> <p>Acción</p> </td> <td> <p>Atajo del teclado</p> </td> </tr> </thead> <tbody> <tr> <td> <p>Borrar una palabra</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>W</kbd></span></span></p> </td> </tr> <tr> <td> <p>Borrar una línea</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>U</kbd></span></span></p> </td> </tr> <tr> <td> <p>Mover el cursor al principio de la línea</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>A</kbd></span></span></p> </td> </tr> <tr> <td> <p>Mover el cursor al final de la línea</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>E</kbd></span></span></p> </td> </tr> <tr> <td> <p>Retrocede un carácter</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>B</kbd></span></span></p> </td> </tr> <tr> <td> <p>Retroceder una palabra</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>B</kbd></span></span></p> </td> </tr> <tr> <td> <p>Avanzar un carácter</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>F</kbd></span></span></p> </td> </tr> <tr> <td> <p>Avanzar una palabra</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>F</kbd></span></span></p> </td> </tr> <tr> <td> <p>Borrar desde el cursor hasta el principio de la línea</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>u</kbd></span></span></p> </td> </tr> <tr> <td> <p>Borrar desde el cursor al final de la línea</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>K</kbd></span></span></p> </td> </tr> <tr> <td> <p>Borrar desde el cursor al principio de la palabra</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>W</kbd></span></span></p> </td> </tr> <tr> <td> <p>Eliminar la palabra anterior</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>Retrocese</kbd></span></span></p> </td> </tr> <tr> <td> <p>Pegar texto desde el portapapeles</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>Y</kbd></span></span></p> </td> </tr> <tr> <td> <p>Limpiar la pantalla dejando la línea actual en la parte superior de la pantalla</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>L</kbd></span></span></p> </td> </tr> <tr> <td> <p>Búsqueda incremental inversa del histórico</p> </td> <td> <p><span><span><kbd>Ctrl</kbd></span>+<span><kbd>R</kbd></span></span></p> </td> </tr> <tr> <td> <p>Búsqueda inversa no incremental en el histórico</p> </td> <td> <p><span><span><kbd>Alt</kbd></span>+<span><kbd>P</kbd></span></span></p> </td> </tr> </tbody> </table> ## 3. Variables de entorno Después, el video explica las variables de entorno, que son variables que almacenan información importante del sistema. Algunas variables de entorno importantes son: * **$PATH:** Contiene una lista de rutas donde el sistema busca los ejecutables. * **$HOME:** Contiene la ruta al directorio personal del usuario. * **$USER:** Contiene el nombre del usuario actual. * **$SHELL:** Contiene la ruta al binario de la shell que se está utilizando. ## 4. Comandos más usados En esta parte el autor muestra algunos de los comandos más usados. Yo ya escribi todo un articulo sobre ellos por lo que no profundizare. [Comparacion de comandos Windows y Linux](https://hackmd.io/@zwSW-tVbQ-KziWMn1cXEGg/rkJgRITTh) * **Alias:** Crea un nombre alternativo para un comando. * **Exec:** Ejecuta un programa especificado. * **Echo:** Repite un texto o muestra el contenido de una variable. * **Export:** Define una variable de entorno de tipo global. * **Pwd:** Muestra el directorio actual. * **Set:** Muestra las variables de entorno del sistema. * **Unset:** Elimina una variable de entorno. **Explicación adicional:** El comando ***alias*** es útil para simplificar la entrada de comandos complejos. Por ejemplo, podemos crear un alias para el comando rm para que nos pida confirmación antes de borrar un archivo. El comando ***exec*** es útil para ejecutar un programa sin crear un nuevo proceso. Esto puede ser útil para aplicaciones que requieren un acceso exclusivo a un recurso. El comando ***echo*** es útil para mostrar texto o el contenido de una variable. El comando ***export*** es útil para definir una variable de entorno de tipo global. Esto significa que la variable estará disponible para todos los procesos que se ejecuten en el sistema. El comando ***pwd*** es útil para mostrar el directorio actual. El comando ***set*** muestra las variables de entorno del sistema, incluidas las variables de entorno personalizadas. El comando unset elimina una variable de entorno. ## 5. Puntos clave * La shell de Linux es el entorno que permite a los usuarios interactuar con los recursos del sistema. * La shell de Linux más utilizada es Bash. * La shell de Linux se compone de un encabezado, un cursor y un historial de comandos. * La shell de Linux tiene varios atajos de teclado útiles. * Las variables de entorno almacenan información importante del sistema.