Universidad de Costa Rica
Facultad de Ingeniería
Escuela de Ingeniería Eléctrica
. IE-0117 Programación Bajo Plataformas Abiertas
Linux: Introducción a Shell
Sergio Valverde - [Link]@[Link]
I Ciclo 2025
Definiciones Terminales Shells
Contenidos
1 Definiciones
2 Terminales
3 Shells
Definiciones Terminales Shells
Definiciones
Definiciones Terminales Shells
Primero, algunas definiciones
Shell: Programa que procesa comandos y regresa la salida. La gran
mayoría manejan procesos, el historial de comandos y la edición de
comandos.
Terminal: Se refiere a un programa que envuelve un shell. Hace mucho
tiempo, se consideraba al monitor y teclado como la terminal, ahora
abstraido con el software.
Consola: Tipo especial de terminal. Antes era un teclado y monitor
conectados a un puerto serial para la comunicación de bajo nivel
con el SO. En Linux, existen consolas virtuales. (Ctrl+Alt+F1...9)
Definiciones Terminales Shells
Terminales
Definiciones Terminales Shells
Terminales
Emuladores de terminal: gnome-terminal, konsole, xterm...
Figura: Diferentes terminales
Definiciones Terminales Shells
Terminales
En una terminal, se introducen comandos.
Presenta tipicamente un prompt, el formato del prompt cambia
levemente entre un usuario cotidiano y el super usuario.
Prompt usuario: usuario@hostname:path$
Prompt super usuario: root@hostname:path#
sergio@bmo:/tmp$ su
Password:
root@bmo:/tmp#
Definiciones Terminales Shells
Shells
Definiciones Terminales Shells
Shells
Tambien es un lenguaje interpretador de comandos
La entrada puede ser un dispositivo como el teclado o un archivo
Comandos pueden juntarse en un script
El lenguaje del Shell se construye con variables, funciones, operadores
de control de flujo y comandos disponibles
Se estudiará Bash
Definiciones Terminales Shells
Ejemplos de shells
Organizados por familias.
Bourne family: sh, ash, zsh, ksh, bash
C family: csh, tcsh
Perl family: perlsh, zoidberg
Plan9 family: rc, es
Secure/Restricted family: ibsh, rssh, scponly
Microsoft family: [Link], Windows PowerShell
Definiciones Terminales Shells
Bash
Compatible con Dash (Debian Almquist Shell, shell de boot por
defecto en Debian)
Bash es el shell por defecto de Linux
Puede ejecutarse de forma interactiva y no interactiva
Definiciones Terminales Shells
Comandos integrados en Bash
: command eval jobs read times
. compgen exec kill readarray trap
[ complete exit let readonly type
alias compopt export local return typeset
bg continue fc logout set ulimit
bind declare fg mapfile shift umask
break dirs getopts pushd shopt unalias
builtin disown hash popd source unset
caller echo help pwd suspend wait
cd enable history printf test
Definiciones Terminales Shells
Palabras reservadas
! time
[[ ]] { }
if then elif else fi
case esac
select in
while until for do done
function
Definiciones Terminales Shells
Script
Un script es un programa de un shell
Es un archivo de texto
Típicamente tienen la extensión sh
La primer línea indica el interpretador (recomendación: incluirla
siempre)
[Link]:
#!/bin/sh
echo ’Hello World’
Definiciones Terminales Shells
Ejercicio: script
Escriba un script que imprima el directorio de trabajo actual y la
cadena Este es mi primer script en consola llamado [Link] y que
ejecute algún otro comando visto en clase
Ejecute el script en consola de la siguiente forma:
usuario@hostname:$ sh [Link]
Definiciones Terminales Shells
Lecturas complementarias
GNU Bash Reference Manual (hasta seccion 3.2.2)
[Link]