GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la magia de - (un guión) en los parámetros de la línea de comandos?

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

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

Ese es el caso de su primer y tercer ejemplo. Por ejemplo, el cdrecord El comando está tomando una entrada estándar (el flujo de imágenes ISO producido por mkisofs ) y escribirlo directamente en /dev/dvdrw .

Con el cd comando, cada vez que cambia de directorio, almacena el directorio de donde vino. Si haces cd con el - especial "nombre de directorio", utiliza ese directorio recordado en lugar de uno real. Puede cambiar fácilmente entre dos directorios con bastante rapidez usando eso.

Otros comandos pueden tratar - como diferente valor especial.


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


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

No hay nada mágico en el - carácter en lo que respecta al shell (excepto que el propio shell y algunos de sus comandos incorporados como cd y echo , utilícelo de manera convencional). Algunos caracteres, como \ , ' y " , son "mágico", que tiene significados especiales dondequiera que aparezcan. Estos son "metacaracteres de shell". - no es así.

Para ver cómo un comando dado usa - , lea la documentación de ese comando .


Linux
  1. Crontab escrito accidentalmente con solo el guión?

  2. ¿Qué es el comando de árbol en Ubuntu?

  3. ¿Qué significa &al final de un comando de Linux?

  4. ¿Cuál es el equivalente de ~ (tilde) de Linux en Windows?

  5. ¿Cuál es el propósito de cd ` (comilla grave)?

¿Qué es el comando Watch de Linux + ejemplos?

¿Cuál es la diferencia entre el comando apt y apt-get?

Useradd vs Adduser:¿Cuál es la diferencia?

¿Qué es el comando matar en Linux?

useradd vs adduser:¿Cuáles son las diferencias?

¿Cuál es la sintaxis correcta de find -exec?