![¿Cómo funciona exactamente la canalización con 2>&1?](https://rvso.com/image/168803/%C2%BFC%C3%B3mo%20funciona%20exactamente%20la%20canalizaci%C3%B3n%20con%202%3E%261%3F.png)
Recién comencé a aprender UNIX, por lo que la pregunta puede parecer realmente nueva, pero agradecería la respuesta, ya que he estado tratando de resolverla por mi cuenta durante una hora con la ayuda de Google, sin embargo, sin éxito.
cat /etc/shadow 2>&1 | wc -l
¿Cuál sería el efecto de este comando? Mi suposicion es:
- El comando imprimeel recuento de líneasde “/etc/shadow”, si hay un error estándar, será redirigido a la salida estándar y se contarán las líneas de error.
- El comando imprimeLos archivosde “/etc/shadow”, si hay un error estándar, será redirigido a la salida estándar y se contarán las líneas del error.
Respuesta1
X>&Y
es pararedirección de descriptores de archivos: esto significa que toda la salida a fd X
esde hechoentrar en Y
.
2>&1
lanza la salida de STDERR a STDOUT.
wc -l
escribe el número de líneas de entrada en STDOUT.
Juntos, el comando cat /etc/shadow 2>&1 | wc -l
devuelve el número de líneas en /etc/shadow
,así comoel número de líneas de error.
Si ustednoSi quieres contar esas líneas de error, solo usa cat /etc/shadow | wc -l
.
Respuesta2
Esta no es una respuesta directa.
¿Qué te impide experimentar un poco?
Si hiciste experimentos, es posible que hayas respondido tu propia pregunta.
Ejecute varias combinaciones de comandos.
cat /etc/shadow
cat /etc/shadows
cat /etc/shadow 2>&1
cat /etc/shadows 2>&1
y luego canalice cada uno awc
cat /etc/shadow | wc
etcétera etcétera.