El concepto: línea de comando
Una línea de comando es una cadena de caracteres formada por un comando que se corresponde con un archivo ejecutable del sistema, y además, opcionalmente, una serie de argumentos:
$ ls -al /home/jf
En el comando anterior, ls es el nombre del comando, -al y /home/jf son argumentos. Los argumentos que comienzan con el signo menos (-) se denominan opciones. Por lo general, para cada comando, hay una cierta cantidad de opciones que se pueden conocer al introducir una de las siguientes órdenes:
$ comando --help
$ man comando
$ help comando-interno
La ejecución de cualquier comando sigue el siguiente patrón:
$ comando argumentos
En algunos comandos antiguos, que llevan mucho tiempo sin modificarse, la opción --help no existe y en su lugar está, normalmente, la opción -h. Otros comandos poseen las dos opciones.
Los argumentos son de dos tipos:
- opciones: se ponen primero y configuran el funcionamiento del comando. No siempre son obligatorias.
- ficheros: van a continuación de las opciones y representan la información con la que va a trabajar el comando. No siempre son obligatorios y podrían ser otro tipo de información distinta de ficheros, como por ejemplo directorios.
$ comando opciones ficheros
La mayoría de las opciones tienen dos formas de especificarse:
- en formato corto: es una letra precedida de un guión (-) y pueden llegar a agruparse. Los siguientes comandos son equivalentes y muestran un listado con todos los ficheros del directorio de trabajo, en orden alfabético inverso.
$ ls -a -r
$ ls -ar
$ ls -ra
- en formato largo: es una palabra precedida por doble guión (--). No se pueden agrupar. A continuación se muestra el ejemplo anterior en formato largo.
$ ls --all --reverse
$ ls --reverse --all
El formato corto y el largo pueden mezclarse.
$ ls -a --reverse
Hay una opción especial, que aparece en muchos comandos y que es conveniente recordar. Se trata de la opción guión guión (--) sin nada más. Sirve para indicarle al comando que a partir de ella, todo lo que sigue son ficheros. Es útil para no confundir al comando cuando hay algún fichero cuyo nombre comienza por un guión (no se aconseja crear ficheros con este tipo de nombres), pues en estos casos el comando podría pensar que son opciones y no un fichero.
$ cat -n -- -datos
Licencia: licencia de software libre GPL