¿Cuál es la magia de “-” (un guion) en los parámetros de línea de comandos?

Ejemplos:

¿Cuál es el propósito del tablero y cómo lo uso?

Si te refieres al desnudo - al final del comando tar , es común en muchos comandos que quieren usar un archivo.

Le permite especificar entrada o salida estándar en lugar de un nombre de archivo real .

Ese es el caso para su primer y tercer ejemplo. Por ejemplo, el comando cdrecord toma la entrada estándar (la secuencia de imagen ISO producida por mkisofs ) y la escribe directamente en /dev/dvdrw .

Con el comando cd , cada vez que cambia de directorio, almacena el directorio del que vino. Si hace un cd con el especial “nombre de directorio”, usa ese directorio recordado en lugar de uno real. Puede cambiar fácilmente entre dos directorios rápidamente usando eso.

Otros comandos pueden tratar - como un valor especial diferente .

No es magia. Algunos comandos interpretan - como el usuario que desea leer de stdin o escribir en stdout; no hay nada especial al caparazón.

Redirección desde o hacia stdin o stdout .

Ver: http://tldp.org/LDP/abs/html/special-chars.html#DASHREF2

La magia está en la convención. Durante milenios, las personas han usado ‘-‘ para distinguir las opciones de los argumentos, y han usado ‘-‘ en un nombre de archivo para indicar stdin o stdout, según corresponda. ¡No subestimes el poder de la convención!

- significa exactamente lo que quiere decir cada comando. Existen varias convenciones comunes, y usted ha visto ejemplos de la mayoría de ellas en otras respuestas, pero ninguna de ellas es 100% universal.

No hay nada mágico sobre el carácter en lo que respecta al caparazón (excepto que el caparazón en sí y algunos de sus comandos incorporados, como cd y echo , lo usan de forma convencional). Algunos personajes, como \ , ' y " , son ” mágicos “y tienen significados especiales dondequiera que aparezcan. Estos son” metacaracteres de caparazón “. No es así.

Para ver cómo utiliza un comando determinado, lea la documentación de ese comando .

Significa usar la stream de entrada estándar del progtwig.

En el caso de cd , significa algo diferente: cambiar al directorio de trabajo anterior.