Mostrando las entradas con la etiqueta Linux Shell. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Linux Shell. Mostrar todas las entradas

jueves, febrero 07, 2008

Parte V - Filename Globbing

Antes de ejecutar cualquier comando, el Shell realiza una búsqueda, en la línea de comandos, de algunos caracteres especiales (metacaracteres), con la finalidad de “interpretarlos” para que el comando solicitado se ejecute correctamente. Esta operación descrita se conoce como “File Globbing”.

Aquí una descripción de algunos metacaracteres:

Metacaracter

Descripción

*

Hace referencia a una cadena de cero o más caracteres

?

Hace referencia a un solo carácter.

[ abc ...]

Hace referencia a cualquiera de los caracteres especificados dentro de los corchetes.

[ a - z ]

Hace referencia a cualquiera de los caracteres especificados que se encuentren dentro del rango establecido por el guión.

[! abc ...]

Hace referencia a cualquier carácter menos a los establecidos.

[! a - z ]

Hace referencia a cualquier carácter menos a los establecidos en el rango especificado.

~

El directorio inicial del usuario actual.

~ userid

El directorio de inicio del identificador de usuario especificado.

~+

El actual directorio de trabajo.

~-

El directorio de trabajo previo.


Veamos algunos ejemplos de como utilizar estos comandos.

Si queremos listar todos los archivos del directorio "/dev" que empiecen por "tty" y cuando más tengan 5 caracteres, basta con hacer lo siguiente:

ls /dev/tty??

Si queremos listar todos los archivos del directorio "/dev" que empiecen por "tty" y que terminen en 1, 2, 3, ó 4.

ls /dev/tty*[1-4]

lunes, octubre 22, 2007

Parte II - Shells disponibles en Linux

Los shells utilizados en Linux no pertenecen exclusivamente al sistema operativo Linux. Estos están disponibles libremente y pueden ser compilados en cualquier sistema Unix. Cuando instalamos Linux, tendremos acceso a los shells y herramientas de GNU, no a los shells y herramientas estándares de Unix. A pesar de que Linux puede ejecutar una gran cantidad de shells, los más populares en el sistema del pingüino son el BASH (Bourne Again shell) y el TCSH (TC shell).

El Z shell es otro shell de Linux que incorpora diferentes características del BASH, TCSH y del Korn Shell (un shell nativo de Unix desarrollado por David Korn de AT&T).

Si tienes curiosidad por ver que Shells tienes instalados en tu distribución GNU/Linux basta que desde la línea de comandos ingreses el siguiente comando: "cat /etc/shells" ó "cat /etc/shell" (esto depende de tu distribución), deberás obtener algo similar a:

/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/screen

Artículos Relacionados:

Parte I - El Shell de Linux

sábado, septiembre 22, 2007

Parte I - El Shell de Linux

El Shell es un programa especial utilizado como una interfaz entre el usuario y el núcleo del Sistema Operativo (Kernel). A grandes rasgos, el Kernel es un programa que se carga en memoria al momento en el que el PC se inicia, y se encarga de administrar el sistema hasta que apagamos el computador; es decir, crea y controla procesos, gestiona la memoria, el sistema de archivos y mucho más.

Volviendo al Shell, lo podemos definir como un Programa Utilitario que se inicia cuando accedemos a nuestra sesión en el sistema operativo. Este, le permite al usuario interactuar con el Kernel a través de la interpretación de los comandos que el usuario ingresa en la línea de comandos ó a través de los "scripts" (archivos que ejecutan un conjunto de comandos).

Después de que tipeamos un comando, la responsabilidad del Shell es:
  1. Analizar la línea de Comandos
  2. Manejar los comodines, las redirecciones, tuberías y planificar el control de ejecución de los comandos.
  3. Buscar el comando, si lo encuentra, ejecutar el comando, en caso contrario emitir un error.
En muchas ocasiones, para realizar una tarea tenemos que digitar un conjunto de comandos. Si esta tarea la realizamos en reiteradas ocasiones lo más probable será querer automatizarla. Para hacer esto posible, hacemos uso de los "Shell Scripts", que no son otra cosa que archivos ejecutables que contienen una secuencia de comandos. Los "Shell Scripts" oscilan entre archivos que ejecutan un conjunto de comandos (como los "batch files"), pudiendo llegar a ejecutar programas para toma de decisiones, comprobación de archivos y mucho más. No basta con tener conocimientos de programación para desarrollar "Shell Scripts", también es necesario contar con un basto entendimiento de los utilitarios y herramientas de linux, y como estos trabajan. Algunas utilidades como grep, sed y gawk se convierten en herramientas muy poderosas cuando se utilizan en los "Shell Scripts" para gestionar la salida de comandos y archivos. Para concluir este post, podemos decir que cuando ejecutamos comandos desde un "Shell Script", estamos utilizando el Shell como un lenguaje de programación.

Artículos Relacionados:

Parte II - Shells disponibles en Linux