GNU/Linux >> Tutoriales Linux >  >> Linux

¿Las utilidades de Linux son inteligentes cuando se ejecutan comandos canalizados?

Estaba ejecutando algunos comandos en una terminal y comencé a preguntarme, ¿Unix/Linux toma atajos cuando ejecuta comandos canalizados?

Por ejemplo, digamos que tengo un archivo con un millón de líneas, las primeras 10 de las cuales contienen hello world . Si ejecuta el comando grep "hello world" file | head ¿El primer comando se detiene tan pronto como encuentra 10 líneas o continúa buscando primero en todo el archivo?

Respuesta aceptada:

Algo así como. El shell no tiene idea de lo que harán los comandos que está ejecutando, simplemente conecta la salida de uno con la entrada del otro.

Si grep encuentra más de 10 líneas que dicen "hola mundo" y luego head tendrá las 10 líneas que quiere y cerrará la tubería. Esto hará que grep para ser eliminado con un SIGPIPE, por lo que no necesita continuar escaneando un archivo muy grande.


Linux
  1. Linux:¿cuáles son las diferentes formas de establecer permisos de archivos, etc. en Gnu/linux?

  2. Ejecución de comandos de Linux en segundo plano y en primer plano

  3. Encuentre un archivo con los comandos de búsqueda y localización en Linux

  4. Todos los comandos de compresión/descompresión de Linux

  5. ¿Cómo evitar el mensaje de advertencia 'son el mismo archivo' cuando se usa cp en Linux?

Comando de archivo de Linux:qué hace y cómo usarlo

Más de 10 comandos de Linux VI con ejemplos

Algunos comandos aleatorios de Linux de una sola línea [Parte 3]

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 5

¿Qué son los inodos en Linux?