1. Introducción a los entornos de trabajo UNIX

1.7. El terminal como herramienta de trabajo

1.7.3. Entendiendo la sintaxis de los comandos

La mayoría de los comandos tienen una o más opciones que podéis agregar para cambiar su comportamiento. Las opciones suelen consistir en una sola letra, precedida por un guion. Sin embargo, podéis agrupar opciones de una sola letra juntas o preceder cada una con un guion para usar más de una opción al mismo tiempo. Por ejemplo, los siguientes dos usos de opciones para el comando ls son equivalentes:

$ ls -l -a -t
$ ls -lat

En ambos casos, se ejecuta el comando ls con las opciones -l (listado largo), -a (mostrar archivos ocultos con puntos), y -t (listar por tiempo). Algunos comandos incluyen opciones que están representadas por una palabra completa. Para indicarle a un comando que use una palabra completa como opción, generalmente debe ser precedida por dos guiones (--). Por ejemplo, para usar la opción de ayuda en muchos comandos, deberéis añadir --help en la línea de comandos. Sin los dos guiones, las letras h, e, l y p serían interpretadas como opciones separadas.

Muchos comandos también aceptan argumentos después de que ciertas opciones sean ingresadas o al final de toda la línea de comando. Un argumento es una pieza extra de información, como un nombre de archivo, directorio, nombre de usuario, dispositivo u otro elemento que indica al comando sobre qué actuar.

Por ejemplo, cat /etc/passwd muestra el contenido del archivo /etc/passwd en tu pantalla. En este caso, /etc/passwd es el argumento. Por lo general, podéis tener tantos argumentos como deseéis en la línea de comando, limitados solo por el número total de caracteres permitidos en una línea de comando. Aquí hay un ejemplo de una opción con tres letras que es seguida por un argumento:

$ cat /etc/passwd
$ tar -cvf copiaseguridad.tar /home/student

En el ejemplo de tar mostrado anteriormente, las opciones dicen que se debe crear (c) un archivo (f) llamado copiaseguridad.tar que incluya todo el contenido del directorio /home/student y sus subdirectorios, y que muestre mensajes detallados mientras se crea la copia de seguridad (v). Debido a que copiaseguridad.tar es un argumento de la opción f, copiaseguridad.tar debe seguir inmediatamente a la opción.

Aquí hay algunos comandos que podéis probar. Observad cómo se comportan de manera diferente con diferentes opciones:

$ uname
Linux
$ uname -a
Linux ubuntuM0151 4.4.0-138-generic #164-Ubuntu SMP Wed Oct 3 15:02:00 UTC 2018 i686 i686 i686 GNU/Linux

El comando uname muestra el tipo de sistema que estás ejecutando (Linux). Cuando agregáis -a, también podéis ver el nombre de host y la versión del kernel.

$ date
Wed 19 Apr 15:44:23 CEST 2023
$ date +'%d/%m/%y'
19/04/23
$ date +'%A, %B %d, %Y'
Wednesday, April 19, 2023

El comando date tiene algunos tipos especiales de opciones. Por sí solo, date imprime simplemente el día, la fecha y la hora actuales, como se muestra en la primera orden. Pero el comando date admite la opción especial + de formato, que te permite mostrar la fecha en diferentes formatos. Escribid date --help para ver los diferentes indicadores de formato que podéis usar.