FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

Línea de comando

Las partes de un comando

La primera palabra que tú ingresas en una línea es el comando que deseas correr. En la sección "Comenzando" vimos una llamada al comando date, que devolvió la fecha y la hora corriente.

Argumentos

Otro comando que podemos utilizar es echo, que muestra la información específica de nuevo al usuario. Este no es muy útil si nosotros no especificamos la información a mostrar. Afortunadamente, podemos agregar más información a un comando para modificar su desempeño; esta información consiste en argumentos. Afortunadamente, el comando echo no discute. Sólo repite lo que le decimos:

$ echo foo
foo

En este caso, el argumento fue foo, pero no hay necesidad de limitar el número de argumentos a uno. Cada palabra que ingresemos -sin contar la primera, que es el comando-, será considerada un argumento adicional pasado al comando. Si queremos que echo responda con múltiples palabras, como ser, foo bar, debemos darle múltiples argumentos:

$ echo foo bar
foo bar

Los argumentos son, normalmente, separados por "espacio en blanco" (espacios y tabuladores - las cosas que se representan en blanco en el papel).
No importa cuántos espacios tipees, mientras que tipees al menos uno. Por ejemplo, si ingresas:

$ echo foo              bar
foo bar

Con un montòn de espacios entre los dos argumentos, los espacios "extra" son ignorados. Y la salida muestra los dos argumentos separados por un sólo espacio. Para decirle a la línea de comandos que los espacios son parte del argumento, tienes que delimitar el argumento de alguna manera. Lo puedes hacer entrecomillando el contenido del argumento con comillas dobles ("):

$ echo "foo              bar"
foo              bar
Como veremos luego, existe más de una manera de entrecomillar texto. Y estas diferentes maneras podrán (o no) resultar diferentes, dependiendo del texto entrecomillado.

Opciones

Regresando al comando date, supongamos que deseas desplegar el uso horario UTC. Para esto, el comando date provee la opción --utc. Es importante reparar en los dos guiones iniciales. Éstos indican los argumentos que el comando tendrá en cuenta cuando inicie, y a su vez controlarán el desempeño del mismo. El comando date corrobora el argumento --utc y dice para sí "ok, lo que me solicitan es el horario UTC". Este es diferente a los argumentos que inventamos, como cuando lanzamos echo con los argumentos foo bar.

Y otra cosa acerca de los guiones que preceden a la palabra: --utc es ingresado como un sólo argumento.

$ date --utc
vie dic 12 17:27:21 UTC 2014
Generalmente, puedes abreviar estas opciones con un valor más corto, como date -u (la versión más corta con un sólo guión). Las opciones cortas son más breves para tipear (por lo tanto, mejores para ser usadas en la terminal); sin embargo las opciones largas son más fáciles de comprender (por lo tanto, mejores para los scripts).

Ahora digamos que queremos conocer la fecha de ayer en lugar de la de hoy. Para esto querriamos especificar el argumento --date (o -d abreviado) que toma un argumento de sí mismo. El argumento para una opción es simplemente una palabra que sigue a la opción. En este caso, el comando sería date --date yesterday.

Como las opciones no son más que argumentos, tú puedes combinar opciones para crear desempeños más sofisticados. Por ejemplo, para combinar las dos opciones previas y obtener la fecha de ayer en uso UTC, podrías escribir:
$ date --date yesterday -u
Mon Mar 23 18:16:58 UTC 2009

Como puedes apreciar, hay opciones que esperan argumentos (-d, --date) y otras que no toman ninguno (-u, --utc).
Pasemos a un argumento un poco más complejo para la opción --date, que nos permitirá obtener algo de información más interesante. Por ejemplo, averiguar si el año en curso es bisiesto (los años donde el último día de febrero es 29). Necesitamos saber qué día es o fue el anterior al 1ro de marzo:

$ date --date "1march yesterday" -u
vie feb 28 00:00:00 UTC 2014
La pregunta que le pasas a date es: Si hoy es 1ro de Marzo del año en curso, ¿qué día fue ayer? Entonces, 2014 no fue un año bisiesto. También puede ser útil obtener el día de la semana de una fecha dada, digamos año nuevo de 2009:
$ date -d 31dec +%A
jueves

Que es lo mismo que:

$ date --date 31december2009 +%A
jueves

En esta ocasión, le pasamos a date la opción -d(--date) seguida por la fecha de la víspera de año nuevo, y un argumento especial (que es específico del comando date). Los comandos pueden, a veces, tener extraños y esotéricos agumentos... El comando date puede aceptar un formato de argumento que comienza con signo más (+). El formato %A pide que se imprima el nombre del día de la semana de la fecha dada (mientras que %a pide que se imprima la abreviación del día; pruébalo). Por ahora no te preocupes acerca de estos herméticos detalles. Ya veremos cómo obtener ayuda desde la línea de comandos en la sección de detalles de los comandos.
Probremos un apetitoso bocado que combina los comandos echo y date:

$ echo "Este año Nochevieja cae un $( date -d 31dec +%A )"
Este año Nochevieja cae un jueves

Repitiendo y editando comandos

Utiliza la tecla direccional arriba para recuperar un comando utilizado anteriormente. Puedes moverte hacia arriba y abajo presionando las teclas direccionales para recuperar los comandos anteriores y los subsiguientes. Las teclas direccionales izquierda y derecha te permiten moverte a lo largo dentro del comando. Combinadas con la tecla Borrar (Backspace), éstas te permiten cambiar partes del comando y transformarlo en uno nuevo. Cada vez que presiones la tecla Enter, tú enviarás el comando modificado a la terminal y ésta lo correrá exactamente como si hubiese sido tipeado desde cero.

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.