Comando (informática)

En informática, un **comando** é unha instrución de alto nivel recibida a través dunha interface externa que dirixe o comportamento dun programa informático. Normalmente, os comandos envíanse a un programa a través dunha interface de liña de comandos, un script, un protocolo de rede ou como un evento activado nunha interface gráfica de usuario.

Moitos comandos admiten argumentos para especificar a entrada e modificar o comportamento predeterminado. A terminoloxía e a sintaxe varían, pero hai enfoques comúns notables. Normalmente, unha **opción** ou un **indicador** (***flag***) é un nome (sen espazos en branco) cun prefixo como un guión ou unha barra diagonal que modifica o comportamento predeterminado. Unha opción pode ter un valor obrigatorio que a segue. Normalmente, o indicador fai referencia a unha opción que non ten un valor seguinte. Un **parámetro** é un argumento que especifica a entrada para o comando e o seu significado baséase na súa posición na liña de comandos en relación con outros parámetros; xeralmente, ignorando as opcións. Un parámetro pode especificar calquera cousa, pero a miúdo especifica un ficheiro polo seu nome ou ruta.

O termo *comando* ás veces tamén se emprega para instrucións internas do programa, pero a miúdo son máis axeitados outros termos como sentenza, expresión, función ou condicional. Por exemplo, imprimir unha mensaxe en Bash faise mediante o *comando* printf, mentres que en Python faise mediante a función *print()*. Ademais, algúns aspectos da tecnoloxía adxacente combínanse con comandos. Por exemplo, a lóxica condicional en Bash e Python chámase *expresión* e en Java *declaración*.

## Exemplos 
Un contexto notable no que os comandos son frecuentes é o shell do sistema operativo. Normalmente, o shell envía un comando a un programa que ten un nome de ficheiro que coincide co primeiro parámetro. Nun shell de Unix (como bash e moitas variantes relacionadas), a coincidencia debe ser exacta, incluíndo maiúsculas e minúsculas. O seguinte comando bash cambia o directorio de traballo a */home/pete* invocando o programa *cd*:

```bash
cd /home/pete
```

O seguinte comando bash escribe "Ola Mundo" mediante o eco do programa na saída estándar, normalmente o terminal. As comiñas arredor das dúas palabras indican que a frase se trata como un único parámetro.

```bash
echo "Ola Mundo"
```

A continuación móstrase como se modifica o comportamento predeterminado dun comando cun modificador. O modificador *-e* fai que o comando trate os caracteres prefixados cunha barra invertida como o carácter de control asociado. Neste caso, *\t* resulta nun carácter de tabulación.

```bash
echo -e "Ola\tMundo"
```

En shells como a liña de comandos de Windows, DOS e OS/2, algúns comandos están integrados: non se implementan como un programa separado. Pero, se un comando non está integrado, o shell envíase a un programa que ten unha extensión executábel (como *.exe*) e un nome base que coincida co primeiro parámetro, ignorando maiúsculas e minúsculas. O seguinte comando da liña de comandos mostra o contido do ficheiro *readme.txt* mediante o tipo de comando integrado *type*.

```batch
type readme.txt
```

O seguinte comando da liña de comandos lista o contido do directorio actual mediante o comando integrado *dir*. O parámetro */Q* modifica o comportamento predeterminado para incluír a información do propietario.

```batch
dir /Q
```

## Notas 
## Véxase tamén 
### Outros artigos 
* Gramática formal
* Lista de comandos do MS-DOS
* Lista de ordes de Unix

### Ligazóns externas 
*