Guía avanzada del usuario

Cómo introducir comandos

Cuando vea el indicador de comando, significará que el sistema espera que introduzca un comando. Intente introducir el comando date cuando aparezca el indicador tal como se muestra en este ejemplo (escriba date y presione la tecla Retorno):

$ date
Jueves, 7 de septiembre de 1995, 11:15:13 BST
$

Como puede ver, este comando muestra la hora y fecha actuales. Ahora, intente introducir el mismo comando pero en mayúsculas:

$ Date
Date: Command not found.
$

Como puede ver, una D mayúscula no es equivalente a una d minúscula según la interpretación del sistema. Casi todos los comandos del sistema operativo SunOS se escriben en minúsculas.

Cómo corregir errores de escritura

Suponga que empieza a escribir Date, pero se da cuenta del error antes de presionar la tecla Retorno. El texto que escriba no se enviará al sistema hasta que se presione la tecla Retorno. Por tanto, aún es posible corregir el error. Tiene dos opciones:

Intente ambos métodos y compruebe cómo funcionan. La tecla Eliminar/Tecla de retroceso varía en algunos sistemas. Ctrl-U debería funcionar en la mayoría de los sistemas.

Cómo introducir comandos múltiples y comandos largos

Puede introducir más de un comando en una única línea. Simplemente, escriba un punto y coma (;) entre los comandos, tal como se muestra a continuación con los comandos date y logname:

$ date; logname
Jueves, 7 de septiembre de 1995, 11:19:34 BST
joan
$

Como puede ver, se muestra la hora y fecha actual (con el comando date) y el nombre de entrada del usuario que está actualmente en el sistema (con el comando logname).

Si está escribiendo un comando muy largo, puede utilizar la barra inversa (\) para continuar escribiendo en la segunda línea. Por ejemplo:

$ date; \
logname
Jueves, 7 de septiembre de 1995, 11:19:34 BST
joan
$

Aunque los comandos date y logname no sean en realidad largos, se utilizan en este ejemplo para demostrar el concepto de continuar un conjunto de comandos en la siguiente línea de la forma más simple posible. Más tarde, cuando el comando que quiera utilizar sea mayor que el ancho de la pantalla, comprobará cómo la utilización del carácter puede ser muy útil.


Nota -

Si está utilizando la ventana de la Herramienta del shell o de la Herramienta de comandos en el entorno OpenWindows, no necesitará utilizar la barra inversa para continuar escribiendo comandos en la siguiente línea. Cuando alcance el final de una línea, los comandos que esté escribiendo cambiarán automáticamente de línea, y el sistema ejecutará todos los comandos cuando presione Retorno.


Cómo repetir comandos anteriores


Nota -

La característica de repetición de comandos descrita en esta sección está disponible cuando se utiliza el shell C.


Una manera rápida de repetir el último comando que introdujo es escribir !! y presionar Retorno. El sistema guarda un historial de los comandos que ha escrito y es capaz de repetir los comandos anteriores. Por ejemplo, si el último comando que introdujo fue date:

ejemplo% !!
date
Jueves, 7 de septiembre de 1995, 11:19:34 BST
ejemplo%

También puede repetir cualquier comando introducido con anterioridad escribiendo !x, donde x es el número correspondiente al comando deseado en la lista del historial. Para ver la lista del historial, escriba el comando history y presione Retorno. Lo siguiente es un ejemplo de lo que podría encontrar:

ejemplo% history
1  pwd
2  clear
3  ls -l
4  cd /usr/home/joan
5  logname
6  date
7  history

Otro método para repetir caracteres desde la lista de historia es continuar el símbolo ! con un número negativo. Por ejemplo, para repetir el segundo comando empezando por el final de la lista de historia, escribiría lo siguiente:

ejemplo% !-2
logname
joan
ejemplo%

Según el ejemplo de lista del historial anterior, se repetiría el comando logname.

Otro método es hacer seguir el símbolo ! de los primeros caracteres de un comando anterior. Por ejemplo, si previamente ha introducido el comando clear para borrar la pantalla, puede escribir !cl para borrar la pantalla de nuevo. De cualquier forma, con este método de repetición de comandos, debe introducir los suficientes caracteres para distinguir el comando entre los de la lista de historia. En el caso de que escriba sólo un carácter después del símbolo !, el sistema repetirá el comando más reciente que empiece por dicha letra.

Cómo agregar opciones a los comandos

Muchos comandos tienen opciones que invocan características especiales del comando. Por ejemplo, el comando date tiene la opción -u, con la que la fecha se expresará según el meridiano de Greenwich en vez de la hora local:

$ date -u
Jueves, 7 de septiembre de 1995, 10:26:57 GMT
$

La mayoría de las opciones se expresan como un carácter precedido por un guión (-). No todos los comandos tienen opciones. Otros tienen más de una. Si utiliza más de una opción en un comando, puede escribirlas separadamente ( -a -b) o agrupadas (-ab).

Cómo redireccionar y enviar por el canal de comunicación la salida del comando

A no ser que se indique otra cosa, los comandos mostrarán sus resultados en la pantalla. Hay símbolos especiales que le permiten redirigir la salida del comando. Por ejemplo, podría querer que la salida se guardase en un archivo en vez de que se mostrase por pantalla. El ejemplo siguiente muestra el uso del símbolo de redirección (>n):

$ date > sample.file
$ 

En este ejemplo, la salida del comando date se redirecciona a un nuevo archivo llamado sample.file. Después, el contenido de sample.file se ve mediante el comando more:

$ more sample.file
Jueves, 7 de septiembre de 1995, 11:27:41 BST
$

Como puede ver, el contenido de sample.file es ahora la salida del comando date. (consulte el Capítulo 3" si desea información acerca del comando more).

Hay ocasiones en las que le podría interesar enviar la salida de un comando como la entrada de otro. Un conjunto de comandos enlazados de esta manera se llama canal de comunicación. El símbolo para este tipo de redirección es una barra vertical (|) llamada canal de comunicación.

Por ejemplo, en vez de guardar la salida de un comando en un archivo, podría direccionarlo como entrada del comando de impresión (lp) utilizando el símbolo de canal de comunicación (|). Para enviar directamente la salida del comando date a la impresora, debe escribir lo siguiente:

$ date | lp
$

Esto imprimirá el resultado del comando date. Consulte "Cómo encargar solicitudes de impresión a la impresora predeterminada"" en el Capítulo 8," si desea información acerca de la utilización del comando lp para imprimir archivos.

Los ejemplos de redirección de comandos mostrados aquí son muy simples, pero cuando conozca más comandos avanzados, encontrará que hay muchos usos de la redirección y el envío por el canal de comunicación..

Cómo ejecutar comandos en segundo plano

A menudo es conveniente iniciar un comando en el indicador de comando y después situar ese comando en el segundo plano. Cuando un comando no está situado en segundo plano, el siguiente indicador no aparecerá hasta que el comando complete su tarea. De cualquier modo, algunos comandos tardan mucho en acabar, mientras que quizás desee introducir otros comandos durante ese tiempo.

Si tiene la intención de escribir un comando en segundo plano, escriba un símbolo (&) después del comando, tal como se muestra más adelante. El número que aparece a continuación es el identificador del proceso:

$ bigjob &
[1] 21414
$ 

El comando bigjob se ejecutará en segundo plano, y podrá V continuar escribiendo otros comandos. Después de que el trabajo se complete, la próxima vez que introduzca otro comando verá un mensaje parecido al siguiente, (en este caso el comando siguiente es date):

$ date
Jueves, 7 de septiembre de 1995, 11:28:23 BST
[1]  + Done    bigjob
$ 

Si es probable que salga del sistema antes de que se complete el trabajo en segundo plano, utilice el comando nohup (abreviatura de no hangup) para permitir que el trabajo se complete, tal como se ve en el ejemplo. En otro caso, el trabajo en segundo plano se terminará cuando salga:

$ nohup bigjob &
[1] 21414
$