Tutorial del shell
El shell o intérprete de comandos, como antes habíamos dicho, es una interfase con nuestro sistema operativo. Gracias a él podremos dar las órdenes y mandatos necesarios para que nuestro sistema informático realice las tareas que necesitamos. No debemos confundir al intérprete de comandos con el sistema operativo. Este es solo un programa que hará demediador entre nosotros y el kernel del sistema. El shell puede ser tanto gráfico (Ej. La interfase X-Window), como de texto (Ej. El bash).
En este capítulo trataremos el tema de shell al nivel de solo texto y en especial veremos un intérprete de comando que por su utilidad y su gran aceptación, es él mas usado tanto en Un*x como en GNU/Linux. Como veremos luego, el intérprete de comandos nosolo tiene la labor de interpretar nuestros mandatos, también es un potente lenguaje de programación que nos será de gran utilidad a la hora de elaborar guiones (script) para poder automatizar nuestras tareas. Los usuarios de DOS estarán acostumbrados a la utilización de los archivos de procesamiento por lotes (.bat) o más bien denomina "batch".
Existen varios tipos de intérpretes de comandosen UNIX de los cuales los más famosos e importantes son el "Bourne Shell" (sh) y el "C Shell" (csh). El intérprete de comandos Bourne, usa una sintaxis de comandos usada en los primeros sistemas UNIX, como el System III. El nombre de intérprete Bourne en la mayoría de los Un*x es /bin/sh (sh por shell). El C Shell posee una sintaxis muy parecida al lenguaje de programación C y se lo encontraracomo /bin/csh. El más usado en el mundo GNU/Linux, como antes dijimos, es el bash por "Bourne Again Shell y se lo encontrará en /bin/bash. Bash posee toda la funcionalidad del sh con características avanzadas de C Shell, por esto cualquier guión escrito para un intérprete de comandos sh correrá perfectamente en él. Si lo que se prefiere es el uso del intérprete de comandos basado en el lenguajeC, en GNU/Linux se podrá encontrar el Tcsh en /bin/tcsh, que es una versión extendida del C Shell. Los gustos de los usuarios son los que deciden que intérprete de comandos se usará, por esto es posible configurar para cada usuario un intérprete de comandos distintos y no afectar el funcionamiento de programas como el ls, cat o cp. Solo se vera afectada la funcionalidad de algún guión que estépreparado para ejecutar con un intérprete de comandos determinado, lo que veremos como se puede corregir al ver programación de script de shell.
Para más información respecto a cada uno de estos intérpretes de comandos se recomienda leer las páginas de manual de cada uno de ellos, lo que dará información muy detallada de estos.
Características
Comodines
Hablaremos de algunas característicade mucha utilidad y que harán mucho más fácil el trabajo, tanto en sh como en bash. Una de las características que poseen los intérpretes de comandos es el uso de comodines para reemplazar partes de archivos. Con esto, podría referirse a un archivo usando caracteres especiales como el "*" o "?". Supongamos que se desea listar todos los archivos que contengan la letra "ñ" en nuestro directorio.Para ello usaremos el comando ls
|[shrek@pantano:~]$ ls *ñ* |
Esto el intérprete de comandos lo vera como si quisiéramos listas todos los archivos que empezaran con ninguno, uno o varios caracteres, tuviesen una letra "ñ" y terminaran con ninguno, uno ovarios caracteres.
|[shrek@pantano:~]$ ls |
|hola heart texto.form manti.form |
|[shrek@pantano:~]$ ls h*...
Regístrate para leer el documento completo.