Redirección de entrada-salida en Ubuntu

Redirección de entrada-salida en Ubuntu
En Linux, cada proceso tiene tres canales de comunicación: entrada estándar, salida estándar y error estándar. Estos canales de comunicación ayudan a los usuarios a interactuar con los procesos en un sistema Linux. El canal de comunicación de entrada estándar (stdin) toma la entrada del usuario a través del terminal como comando, y luego, después de procesar el comando con el núcleo de Linux, el terminal muestra el resultado a través de la salida estándar (stdout) o el error estándar (stderr) comunicación canal. La salida estándar (stDout) o el error estándar (stderr) de un comando se puede redirigir como la entrada estándar (stdin) para otro comando utilizando la redirección de E/S ">", y de manera similar, una entrada estándar (stdin) puede redirigirse como la salida estándar (stDout) para otro comando usando el "<” I/O redirection.

Entrada estándar

La entrada estándar o Stdin es el comando que escribimos en nuestro terminal para interactuar con el núcleo de Linux.

Ubuntu@ubuntu: ~ $ ls -la

En el ejemplo anterior, "LS -LA" es la entrada estándar o stdin.

Salida estándar

La salida estándar o STDOT es la salida de un proceso o comando en ejecución que se da al núcleo de Linux a través de la entrada estándar y se muestra en el terminal. Por ejemplo, dada anteriormente, la salida es como

Ubuntu@ubuntu: ~ $ ls -la
... Snip ..
-RWXR-X --- 1 Ubuntu Ubuntu 89 4 de enero de 2021 ARITH.mierda
-RW-R-R-- 1 Ubuntu Ubuntu 3771 3 de junio de 2020 .bashrc
DRWX ------ 28 Ubuntu Ubuntu 4096 1 de agosto 13:10 .cache
DRWXR-XR-X 36 Ubuntu Ubuntu 4096 29 de julio 18:30 .configuración
DRWX ------ 3 Ubuntu Ubuntu 4096 18 de noviembre 2020 .dBUS
DRWXR-XR-X 5 Ubuntu Ubuntu 4096 30 de julio 16:28 Escritorio
DRWXR-XR-X 13 Ubuntu Ubuntu 12288 28 de julio 19:53 Descargas
... Snip ..

Cada salida tiene un lugar predeterminado predefinido para ir en los sistemas operativos basados ​​en UNIX. Algunos de los métodos para redirigir la salida se dan a continuación.

  • Redirección de salida estándar ">"
  • Redirección de entrada estándar "<”
  • Redirección de errores estándar "2>"
  • Redirección estándar de salida y error "&>"
  • Redirección de salida estándar ">>"
  • Redirección de entrada estándar "<<”
  • Redirección usando tuberías "|"

Redirección de salida estándar ">"

La redirección de salida es un método en el que la salida estándar de un comando se puede redirigir a los archivos o como entrada estándar para otro comando. El signo ">" se usa para la redirección de salida. El terminal no muestra la salida; En cambio, se escribe en un archivo o se redirige como entrada a otro comando. Por ejemplo

Ubuntu@ubuntu: ~ $ echo hello world> archivo.TXT

O

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames> PacKegnames

En lugar de la salida que se muestra en el terminal, se redirigirá al archivo.archivo txt o pakegsnames. Para confirmar si la salida fue redirigida o no, use el gato Comando para leer los archivos.

Ubuntu@ubuntu: ~ $ Cat File.TXT
Ubuntu@ubuntu: ~ $ Cat Pakegname

Este operador "1>" también se usa para redirigir la salida estándar.

Redirección de entrada estándar " < ”

La redirección de entrada es un método en el que la entrada estándar de un comando se redirige de un archivo o una salida estándar de otro comando. El "<” sign is used for input redirection. It is mostly the default action of a command. For example

Ubuntu@ubuntu: ~ $ menos < /etc/passwd

Es lo mismo que este.

Ubuntu@ubuntu: ~ $ menos /etc /passwd

Toma la entrada del archivo /etc/passwd en lugar de un teclado. El "0<” sign can also be used for redirecting standard input.

Redirección de errores estándar "2>"

Con el método de redirección, los errores estándar se pueden redirigir y escribir en un archivo. Por ejemplo

Ubuntu@ubuntu: ~ $ sudo apt-get update 2> error

Si ocurre algún error, no se mostrará en la ventana del terminal; más bien, se almacenará en un archivo de error. Si el archivo de error ya existe, se sobrescribirá.

Salida estándar y redirección de errores estándar "&>"

Con el signo "&>", hay una forma más eficiente de redirigir la salida estándar y el error estándar simultáneamente con el signo "&>". Por ejemplo

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames &> pkgnames

Todos los nombres y errores del paquete se almacenarán en el archivo PKGnames.

Redirección de salida estándar ">>"

Este método de redirección redirige la salida estándar de un comando o un archivo a otro archivo. La diferencia es mientras se usa la redirección ">>", si el archivo ya existe, los datos se agregarán al archivo; Por lo tanto, el archivo no se sobrescribirá.

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames >> pkgnames

Si el archivo PKGnames ya existe, su contenido no se sobrescribirá; más bien, la salida se agregará al final del archivo.

Redirección de entrada estándar " << ”

Este método de redirección lee la entrada del usuario del terminal y luego la agrega al archivo.

Ubuntu@ubuntu: ~ $ Cat pkgnames << pkgnames
> Ubuntu
> cromo
> Pkgnames

Si el archivo PKGnames ya existe, entonces su contenido no se sobrescribirá.

Redirección usando tuberías "| "

Las tuberías a menudo se usan cuando desea combinar múltiples comandos. Con tuberías, la salida del primer comando se puede usar como entrada del segundo comando. Por ejemplo

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames | menos

En el comando anterior, la salida estándar del comando dejó a la tubería "|" El signo es la entrada estándar del comando derecho a la tubería "|" firmar.

Combinando los operadores de redirección

Puede combinar algunos de los operadores de redirección porque son convenientemente fáciles de usar y toman menos tiempo; Algunos de los operadores de redirección combinados se dan a continuación.

2 >>: Este operador se utiliza para redirigir errores estándar al archivo.
: Este operador se utiliza para archivos especificados como entrada estándar y salida estándar.
> &: Este operador redirige la salida de un archivo a otro.
<&: Este operador redirige la entrada de un archivo a otro.
2> y 1: Este operador se utiliza para redirigir el error estándar a la salida estándar.
1> y 2: Este operador se utiliza para redirigir la salida estándar al error estándar.

Conclusión

Como administrador de Linux, la redirección de entrada-salida es una rutina muy común en el trabajo diario. El almacenamiento de la salida y los errores para su uso posterior y la combinación de múltiples comandos facilitan su trabajo y reducen el tiempo para que pueda trabajar de manera diligente y eficiente. Arriba hay algunos consejos para hacer, lo que lo ayudará a comprender las redirecciones de entrada-salida.