Vida Tecno Idea guardada 0 veces
Sé la primera persona en valorar esta idea Valorar

Entendiendo las tuberías y la redirección para la línea de comandos de Linux

Dos potentes características del shell de la línea de comandos de Linux son la redirección y las tuberías que permiten que la salida (o incluso la entrada) de un programa se envíe a un archivo o a otro programa. Es posible que ya haya utilizado estas funciones sin ser consciente de ello. Siempre que se ha utilizado el signo «>» en un comando o «|» entonces se ha utilizado la redirección o una tubería, respectivamente.

En todos los sistemas operativos tipo Unix, como Linux y FreeBSD, la salida de un programa de línea de comandos va automáticamente a un lugar conocido como salida estándar (stdout). Por defecto, la salida estándar es la pantalla (la consola), pero se puede cambiar usando tuberías y redireccionamiento. Del mismo modo, el teclado se considera la entrada estándar (stdin) y, al igual que en el caso de la salida estándar, se puede cambiar.

Tubos

Las tuberías le permiten canalizar la salida de un comando a otro, donde se utilizará como entrada. En otras palabras, la salida estándar de un programa se convierte en la entrada estándar de otro.

El comando «more» toma la entrada estándar y la pagina en la salida estándar (la pantalla). Esto significa que si un comando muestra más información de la que se puede mostrar en una pantalla, el programa «more» hará una pausa después de la primera pantalla llena (página) y esperará a que el usuario pulse SPACE para ver la siguiente página o RETURN para ver la siguiente línea.

Aquí hay un ejemplo que listará todos los archivos, con detalles (-la) en el directorio /dev y canalizará la salida a más. El directorio /dev debería tener docenas de archivos y por lo tanto asegurar que más necesita paginar.

ls -la /dev | más

Entendiendo las tuberías y la redirección para la línea de comandos de Linux


Observe la indicación –Más- en la parte inferior de la pantalla. Presione SPACE para ver la página siguiente y mantenga presionada la tecla SPACE hasta que la salida esté terminada.

Aquí hay otro ejemplo de tubería, esta vez usando la herramienta «wc» (conteo de palabras).

ls -1 /dev | wc

wc cuenta el número de líneas, palabras y caracteres en la entrada estándar. Si utiliza el parámetro -l sólo mostrará el número de líneas, lo que es una buena manera de ver cuántos archivos hay en un directorio.

El tutorial Analizar en profundidad los comandos de compresión y archivo de Linux tiene un ejemplo de cómo usar tar y 7-Zip juntos:

tar cvf - * | 7zr a -si somefiles.tar.7z

En este caso, el guión después de la opción f indica a tar que envíe su salida a la salida estándar y no a un archivo. La salida de alquitrán será alimentada a través de la tubería a 7zr, que está esperando la entrada del estándar debido a la opción -si.

Redirección

La redirección es similar a la de las tuberías, excepto que se utilizan archivos en lugar de otro programa. La salida estándar de un programa es la pantalla. Con el símbolo> (mayor que) se puede enviar la salida de un programa a un archivo. Aquí hay una lista de directorios de /dev otra vez pero esta vez redirigida a un archivo llamado listing.txt

ls -la> listado.txt

No se mostrará nada en la terminal ya que todo se envió al archivo. Puede echar un vistazo al archivo usando el comando cat (que puede ser insertado en más) o por conveniencia puede usar el comando more por su cuenta:

más listing.txt

Si listing.txt ya existía, se sobrescribirá. Pero puedes añadir a un archivo existente usando>>> así:

ls -la /home> listing.txt ls -la /dev>> listing.txt

La primera redirección sobrescribirá el archivo listing.txt mientras que la segunda lo añadirá.

El comando cat puede usarse para crear un archivo usando redirección, por ejemplo:

cat> atextfile.txt

Ahora, el texto que escriba se enviará al archivo atextfile.txt hasta que pulse Control-D, momento en el que se cerrará el archivo y se le devolverá a la línea de comandos. Si desea agregar más texto al archivo, use el mismo comando pero con dos signos mayores que (>>).

Conclusión

Muchos de los programas de línea de comandos de Linux están diseñados para trabajar con redirecciones y tuberías, intente experimentar con ellos y vea cómo interactúan. Por ejemplo, la salida del comando ps, que enumera los procesos actuales, puede ser canalizada a grep. Vea si puede averiguar cómo listar los procesos que pertenecen a root.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Muere Eduard Punset a los 82 años

Punset era una institución, el Carl Sagan español. Abogado, economista y comunicador científico logró acercar la ciencia a todos los españoles El divulgador científico Eduard Punset ha fallecido a lo ...

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Gestión de los datos Exif en sus fotos desde la línea de comandos[Linux]

ImageMagick es una suite de herramientas para Linux que le permite manipular imágenes desde la línea de comandos. El comando «convert» le permite realizar conversiones y transformaciones de imágenes sin embargo, hay varias otras herramientas incluidas en la suite, algunas de las cuales le permiten trabajar con los datos Exif en fotos JPEG. Es probable que su distribución de Linux ya teng ...

Linux

Olvídese de los clientes de correo, envíe correo electrónico desde la línea de comandos[Linux].

Enviar un correo electrónico es algo que a menudo no tienes que pensar dos veces. Simplemente encienda su cliente de correo electrónico, ya sea basado en la web o en el escritorio, escriba un mensaje, introduzca la dirección de correo electrónico del destinatario y haga clic en «Enviar». ¿Qué sucede si es necesario que envíe correo electrónico desde la línea de comandos, por ejemplo, par ...

Linux

Cómo acceder a las previsiones meteorológicas desde la línea de comandos de Linux

Mientras que los usuarios normales tienden a mantenerse alejados de la línea de comandos de Linux por razones obvias, los usuarios avanzados son todo lo contrario, lo que significa que siempre están buscando buenas alternativas de línea de comandos para el software basado en GUI que utilizan, ya sea para descargar un archivo de Internet, enviar un tweet, etc. Pero, ¿sabía que también puede consult ...

Linux

Entendiendo el Linux df y du Commands

Aunque es posible obtener información sobre el uso del disco desde los distintos escritorios Linux, aquellos que se sienten cómodos con la línea de comandos pueden obtener muchos más detalles usando los comandos df y du. Con estos dos comandos, no sólo puede descubrir detalles sobre el espacio libre en los sistemas de ficheros montados, sino que también puede ver la cantidad de espacio utilizado p ...

Linux

Cómo monitorizar el progreso de una operación en la línea de comandos de Linux utilizando el comando PV

Si usted es un administrador de sistemas Linux, no hay duda de que debe estar pasando la mayor parte de su tiempo de trabajo en la línea de comandos – instalando y eliminando paquetes; monitoreando las estadísticas del sistema; copiando, moviendo, borrando cosas; depurando problemas; y más. Hay ocasiones en las que se dispara un comando y se tarda un tiempo en completar la operación. Sin emb ...

Linux

Usar Pianobar para escuchar Pandora desde la línea de comandos de Linux

Si eres uno de esos geeks de la línea de comandos a los que les gusta escuchar música mientras trabajan, te encantará saber que también se puede acceder a Pandora, el popular servicio de radio por Internet, a través de la línea de comandos. Existe una línea de comandos de código abierto cliente de Pandora con el nombre de Pianobar , que lo hace posible. La aplicación de línea de comandos proporcio ...

Linux

3 maneras fáciles de enviar correos electrónicos desde la línea de comandos en Linux

Mientras trabaja con la línea de comandos, hay ocasiones en las que puede enviar manualmente un correo electrónico para comunicar información de un solo renglón, por ejemplo, un comando complejo o una nota importante para usted o para un amigo. Normalmente, esto requiere que abra un navegador web, inicie sesión en su cuenta de correo electrónico, enmarque un mensaje de correo electrónico que conte ...

Linux

Cómo obtener notificaciones de escritorio desde la línea de comandos de Linux

¿No sería genial si pudieras obtener notificaciones emergentes cuando terminan esas largas tareas que se ejecutan desde la línea de comandos? Bueno, tú puedes. En realidad, crear notificaciones de escritorio desde la línea de comandos es muy sencillo con el comando notify-send. Puede usar notify-send en sus scripts o establecer que se ejecute siguiendo un comando largo que acaba de escribir en la ...

Linux

Consejos y trucos para la línea de comandos de Linux Netstat

Netstat es una utilidad de línea de comandos que puede ser utilizada para monitorear conexiones de red tanto entrantes como salientes, así como para ver tablas de enrutamiento, estadísticas de interfaz, etc. Se puede utilizar para listar todas las conexiones de sockets TCP y UDP conectadas y también para listar los sockets de escucha que están esperando las conexiones entrantes. Netstat está dispo ...

Linux

Cómo tratar con archivos desde la línea de comandos[Linux]

Hay muchas soluciones gráficas para tratar con archivos comprimidos (o archivos comprimidos) en Linux, pero ninguna de ellas supera a la línea de comandos por su velocidad y versatilidad. Lo único malo de esto es que hay tantos tipos diferentes de archivos, cada uno con su propia sintaxis y propiedades específicas, y puede llegar a ser muy difícil tratar con todos ellos sin un poco de preparación. ...