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?
Respuestas:
Existen varios patrones diferentes para las opciones que se han usado históricamente en aplicaciones UNIX. Varios viejos, como el alquitrán , usan un esquema posicional:
como por ejemplo usos de alquitrán
En un primer intento de evitar la confusión, tar y algunos otros programas con el viejo estilo de argumentos de banderas permitieron delimitar las banderas con guiones, pero la mayoría de nosotros los viejos simplemente ignoramos eso.
Algunos otros comandos tienen una sintaxis de línea de comandos más complicada, como dd (1) que usa banderas, signos iguales, nombres de ruta, argumentos y una perdiz en un peral, todo con un abandono salvaje.
En BSD y versiones posteriores de Unix, esto había convergido más o menos a banderas de un solo carácter marcadas con '-', pero esto comenzó a presentar un par de problemas:
--output
.Entonces Sun decidió que el '-' extra era redundante y comenzó a usar banderas de estilo largo con '-'s individuales.
Y así es como llegó a ser el desastre que es ahora.
fuente
-
. ¿Eso es del sol?Puede dar opciones tar en la forma estándar de Unix
tar -c -f foo -v -B file1 file2 file3
donde necesita el guión para diferenciar entre opciones y parámetros o los nombres de archivo al final de la línea de comando. O puede juntar todas las opciones en el primer argumento, en cuyo caso el guión es opcional.Luego está
ps
, donde usas los guiones si estás usando las opciones SysV-ish, y los dejas afuera si estás usando las opciones BSD-ish, solo para hacer las cosas más confusas.Y ni siquiera hablemos de eso
find
.fuente
El guión se usa para desambiguar entre los nombres y valores de los parámetros de una opción. Supongo que es más una convención estándar.
fuente
best-practice
etiqueta porque pensé que podría deberse a eso.Hay hasta cuatro convenciones para usar las opciones de línea de comandos de Unix:
Por ejemplo:
fuente
Con el signo inicial de menos / guión (-) debe mantener las opciones en el orden preciso. Sin menos el orden de su opción puede cambiar.
Por ejemplo:
fuente
f
esa toman un argumento cuyo orden importa. Ver unix.stackexchange.com/a/239120/3169