networkingirección del gato

Supongamos que existe un file llamado abc en el directory actual y tiene text. Cuando ejecutas el command:

 cat abc > abc 

¿Por qué desaparecen los contenidos del file abc ?
¿Por qué el command elimina el text y el file se convierte en un file vacío?

Solutions Collecting From Web of "networkingirección del gato"

Debido al order de cómo se hacen las cosas.

Cuando tu lo hagas:

 cat abc > abc 

> es el operador de networkingirección de salida, cuando el shell ve esto, abre el file en modo de truncamiento usando el indicador O_TRUNC con open(2) ie open("abc", O_TRUNC) , por lo que lo que había en el file desaparecerá. Tenga en count que, esta networkingirección se hace primero por el shell antes de ejecutar el command cat .

Entonces, cuando se ejecuta el command cat abc , el file abc ya está truncado, por lo que cat encontrará el file vacío.

Añadiendo a la respuesta de @heemayl , si quieres que el código sea más claro sobre la secuencia en la que están sucediendo las cosas, puedes simplemente poner las networkingirecciones al comienzo del command:

 > abc cat abc