Índice

Comandos internos y externos

Este capítulo presenta y explica de manera detallada las funcionalidades básicas del shell comúnmente utilizadas en los comandos Unix.

Un comando Unix pertenece a una de las dos siguientes categorías:

1. Comandos externos

Un comando externo es un archivo localizado en el árbol del sistema de archivos. Por ejemplo, cuando un usuario ejecuta el comando ls, el shell pide al núcleo de Unix cargar en memoria el archivo /usr/bin/ls.

Se consideran comandos externos los archivos que tengan uno de los formatos siguientes:

  • Archivos con formato binario ejecutable.

  • Archivos con formato de texto que representan un script de comandos (que puede estar escrito en Shell o en otro lenguaje, como por ejemplo Python, Perl, etc.).

El comando file indica el tipo de datos contenidos en un archivo.

Ejemplos

El comando ls es un archivo con formato binario ejecutable. Resultado del comando file:

$ file / bin/ls 
/bin/ls: ELF 64-bit LSB executable x86-64, version 1,(SYSV), 
dynamically linked 7uses shared libs), for GNU/Linux 2.6.18, stripped

El comando miscript.sh es un script en shell. Resultado del comando file:

$ file /home/cristina/miscript.shmiscript.sh: ascii text

El comando miscript.pl es un script en Perl. Resultado del comando file:

$ file /home/cristina/miscript.pl 
miscript.pl: ascii text

El argumento del comando file es un nombre de archivo expresado con ruta relativa o absoluta.

Los comandos externos se ejecutan por un shell hijo que actúa de intermediario (ver figura 1).

images/02ri01.png

Figura 1: Ejecución ...