Para crear un archivo tar para un directorio, el tar
comando con compress
, verbose
y file
las opciones se pueden escribir así:
$ tar -cvf my.tar my_directory/
Pero también funciona hacerlo de esta manera:
$ tar cvf my.tar my_directory/
Es decir, sin el guión (-) que precede a las opciones. ¿Por qué pasarías un guión (-) a la lista de opciones?
Respuesta aceptada:
Hay varios patrones diferentes para las opciones que se han utilizado históricamente en aplicaciones UNIX. Varios antiguos, como tar , usa un esquema posicional:
argumentos de opciones de comando
como por ejemplo usos de alquitrán
tar *algo*f “archivo operado” *”rutas de archivos a manipular”*
En un primer intento por evitar la confusión, tar y algunos otros programas con el antiguo estilo flags-arguments permitían delimitar las banderas con guiones, pero la mayoría de los viejos simplemente ignoramos eso.
Algunos otros comandos tienen una sintaxis de línea de comandos más complicada, como dd(1) que utiliza banderas, signos de igual, nombres de caminos, argumentos y una perdiz en un peral, todo con un desenfreno salvaje.
En BSD y versiones posteriores de Unix, esto había convergido más o menos en banderas de un solo carácter marcadas con '-', pero esto comenzó a presentar un par de problemas:
- las banderas pueden ser difíciles de recordar
- a veces querías usar un nombre con '-'
- y especialmente con las herramientas GNU, comenzaron a existir limitaciones impuestas por el número de banderas posibles. Entonces, las herramientas de GNU agregaron opciones largas de GNU como
--output
.
Luego, Sun decidió que el '-' adicional era redundante y comenzó a usar banderas de estilo largo con un solo '-'.
Y así es como llegó a ser el desastre que es ahora.