FLOSS Manuals

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

Introducción a la línea de comandos

Las partes de un comando


La primera palabra que escriba en una línea es el comando que desea ejecutar. En la sección "Primeros pasos" vimos una llamada al comando date, que devolvió la fecha y la hora actuales.
Argumentos

Otro comando que podríamos usar es echo, que muestra la información especificada de nuevo al usuario. Esto no es muy útil si en realidad no especificamos información para mostrar. Afortunadamente, podemos agregar más información a un comando para modificar su comportamiento; Esta información consiste en argumentos. Por suerte, el comando de eco no discute atrás; Simplemente repite lo que le pedimos:

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 del texto introducido, excluyendo la primera palabra, se considerará un argumento adicional que se pasará al comando. Si quisiéramos que el eco responda con múltiples palabras, como foo bar, podríamos darle múltiples argumentos:

$ Echo foo bar
foo bar

Los argumentos son normalmente separados por "espacio en blanco" (espacios en blanco y pestañas - cosas que aparecen en blanco sobre el papel). No importa cuántos espacios escribas, siempre y cuando haya al menos uno. Por ejemplo, si escribe:

$ Echo foo bar
foo bar

Con una gran cantidad de espacios entre los dos argumentos, los espacios "extra" se ignoran, y la salida muestra los dos argumentos separados por un solo espacio. Para decirle a la línea de comandos que los espacios forman parte de un único argumento, debe delimitar de alguna manera ese argumento. Puede hacerlo citando todo el contenido del argumento dentro de caracteres de comillas dobles ( "):

$ Echo "foo bar"
foo bar

Como veremos más adelante, hay más que una forma de citar texto, y esas formas pueden (o no) diferir en el resultado, dependiendo del contenido del texto citado.
Opciones

Revisitando el comando date, supongamos que en realidad quería que se mostrara la información de fecha / hora UTC. Para ello, date proporciona la opción --utc. Observe los dos guiones iniciales. Estos indican los argumentos que un comando comprueba cuando se inicia y que controlan su comportamiento. El comando date comprueba especialmente la opción --utc y dice: "OK, sé que estás pidiendo la hora UTC". Esto es diferente de los argumentos que inventamos, como cuando emitimos eco con los argumentos foo bar.

Aparte de los guiones que preceden a la palabra, --utc se introduce como un argumento:

$ Date --utc
Tue Mar 24 18:12:44 UTC 2009

Por lo general, puede acortar estas opciones a un valor más corto como la fecha -u (la versión corta a menudo tiene sólo un guión). Las opciones cortas son más rápidas de escribir (utilizarlas cuando se escribe en el shell), mientras que las opciones largas son más fáciles de leer (utilizarlas en scripts).

Ahora digamos que queríamos ver la fecha de ayer en vez de la de hoy. Para ello, queremos especificar el argumento --date (o, en breve, -d), que toma un argumento propio. El argumento para una opción es simplemente la palabra que sigue a esa opción. En este caso, el comando sería date -date ayer.

Dado que las opciones son sólo argumentos, puede combinar opciones para crear un comportamiento más sofisticado. Por ejemplo, para combinar las dos opciones anteriores y obtener la fecha de ayer en UTC, escriba:

$ Date --date ayer -u
Mon Mar 23 18:16:58 UTC 2009

Como ves, hay opciones que esperan ser seguidas por un argumento (-d, --date) y otros que no toman ninguna (-u, --utc). Pasar un argumento un poco más complejo a la opción --date te permite obtener información interesante, por ejemplo si este año es un año bisiesto (en el que el último día de febrero es 29). Es necesario saber qué día precede inmediatamente el 1 de marzo:

$ Date --date "1march ayer" -u
Sáb Feb 28 00:00:00 UTC 2009

La pregunta que has planteado hasta la fecha es: si hoy era el 1 de marzo del año en curso, ¿qué fecha sería ayer? Así que no, 2009 no es un año bisiesto. Puede ser útil para obtener el día de la semana de una fecha determinada, digamos la víspera de Año Nuevo de 2009:

$ Date -d 31dec +% A
jueves

Que es el mismo que:

$ Date --date 31december2009 +% A
jueves

En este caso pasamos a la fecha la opción -d (--date) seguida de la fecha de fin de año, y luego un argumento especial (que es específico del comando date). ⁞ Los comandos pueden tener de vez en cuando extraños argumentos esotéricos ... El comando date puede aceptar un argumento de formato empezando por un signo más (+). El formato% A pide que se imprima el nombre del día de la semana de la fecha indicada (mientras que% a habría pedido imprimir el día de la semana abreviado: inténtelo!). Por ahora no te preocupes por estos detalles herméticos: veremos cómo obtener ayuda de la línea de comandos en los detalles del comando de aprendizaje. Vamos a mordisquear un bocado más sabroso que combina los comandos de eco y fecha:

$ Echo "Esta víspera de Año Nuevo cae en un $ (fecha -d 31dec +% A)"
Esta víspera de Año Nuevo cae un jueves

Repetición y edición de comandos

Utilice la tecla de flecha hacia arriba para recuperar un comando que emitió antes. Puede moverse hacia arriba y hacia abajo utilizando las teclas de flecha para obtener comandos anteriores y posteriores. Las teclas Flecha izquierda y Flecha derecha le permiten moverse dentro de un solo comando. Combinadas con la tecla Retroceso, estas le permiten cambiar partes del comando y convertirlo en uno nuevo. Cada vez que presiona la tecla Intro, envía el comando modificado al terminal y se ejecuta exactamente como si lo hubiera escrito desde cero.

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

You should refresh this page.