Esta será una pequeña serie de varios post para introducir los conceptos básicos y prácticos del Shell. Enfocado en los principiantes, veremos varios puntos importantes que quizás ya concen y otras características del Shell y Bash que probablemente eran desconocidas para muchos. Espero sea de su agrado y edificación.
Para poder ejecutar comandos en un sistema tipo Unix como lo es GNU/Linus, necesitamos de un "lugar" para escirbirlos. Ese lugar es llamado el Shell, el cual es la interfaz de línea de comandos de Linux. Escribirmos un comando, presionamos Enter, y el Shell ejecuta cualquier programa o programas requerido. Por ejemplo, para ver quién está logueado, podemos ejecutar el siguiente comando en un Shell:
fraterneo@rainbow2 ~ $ who laisha tty8 2012-09-08 16:58 (:0) fraterneo pts/0 2012-09-08 21:01 (rainbow.local) fraterneo pts/2 2012-09-08 21:14 (192.168.24.102)
Un solo comando puede invocar muchos programas al mismo tiempo, e incluso conectar programas para que interactúen. Como vemos en el siguiente ejemplo, haciendo uso de una tubería (pipe) podemos redireccionar la salida del comando who para que sea la entrada del comando wc, el cual cuenta las líneas de texto en un archivo; el resultado es el número de líneas que tiene la salida del comando who:
fraterneo@rainbow2 ~ $ who | wc -l 3
Lo que nos da una idea de los usuarios logueados actualemnte, aunque no es muy preciso ya que un usuario podría tener más de un Shell en ejecución. El Shell por defecto en la mayoría de distribuciones GNU/Linux es Bash (/bin/bash).
El Shell versus los programas
Cuando ejecutamos un comando éste invoca un programa, como en el caso de who, o en su defecto podría ser un comando interno de Bash. Podemos ver la diferencia haciendo uso del comando type:
fraterneo@rainbow2 ~ $ type who who is /usr/bin/who
fraterneo@rainbow2 ~ $ type cd cd is a shell builtin
No hay comentarios:
Publicar un comentario