touch, echo y operadores de redirección

fundamentos GNU/Linux fun-gnu


hoy en día creamos carpetas y archivos en nuestro gestor de archivos preferido (Nautilus, Nemo, Thunar, etc):

clic botón derecho -> crear carpeta nueva  o  clic botón derecho -> crear documento nuevo -> archivo vacío

los usuarios de Linux suelen conocer el comando de creación de directorios mkdir pero, ¿cómo se crea en consola un archivo vacío?

touch

touch, realmente, es un comando que sirve para modificar la marca temporal de un archivo, pero resulta muy útil para crear un archivo vacío, así:

touch nombre-archivo

y ya tendremos en el directorio en que estemos un bonito archivo vacío llamado nombre-archivo

touch archivo1 archivo2 “archivo de Pepito”  (creará esos tres archivos vacíos)

echo

es un hecho que el comando echo parece un poco tonto:

echo La vida es bella, dicen

La vida es bella, dicen   (muestra en la consola el texto que escribamos después de él)

[paciencia, ahora después veremos un uso más interesante de echo]

operadores de redirección  >  y  >>

el signo matemático “mayor que” > es un interesante operador para redirigir la salida estándar de consola a un archivo, así:

echo La vida es bella, dicen > “La vida”

producirá el bonito resultado de crear un archivo llamado La vida, en cuya primera línea se lea La vida es bella, dicen (observese que he puesto entre comillas el nombre del archivo “La vida”, pues contiene un espacio; sin espacios, no sería necesario).

[ahora echo ha servido para algo más que para hacer el bobo]

Ejemplillo útil: supongamos que en nuestro /etc no tenemos un archivo llamado “hostname” que contiene únicamente el nombre de mi máquina (host) en la primera línea. Pues:

sudo echo hal9000 > /etc/hostname

y ya tenemos como nombre de nuestra máquina hal9000 (lo cual suele verse en el prompt así  juan@hal9000 $ )

pero imaginemos que de pronto se nos cruzan los cables y odiamos 2001 Una Odisea del Espacio y decidimos amar a la maternal computadora de la nave Nostromo de Alien. Pues nada:

sudo echo madre > /etc/hostname

y como el operador de redirección “>” sombreescribe el archivo si existe, pues ya no estamos en Hal9000 sino en Madre, así:  juan@madre $

finalmente, si en vez de usar el operador de redirección “mayor que” simple, lo usamos doble “>>“:

(recordemos que ya teníamos un archivo llamado “La vida” que contenía una primera línea que decía: La vida es bella, dicen)

ahora podemos hacer esto:

echo menos cuando un Alien cabroncete se cuela en tu nave >> “La vida”

el resultado será que nuestro (ya amado) archivo llamado La vida, ahora contiene 2 líneas:

La vida es bella, dicen
menos cuando un Alien cabroncete se cuela en tu nave

¿y tú, eres más de Hal9000 o de Madre?

hal  nostromo

Anuncios

2 comentarios en “touch, echo y operadores de redirección”

  1. Valuable information. Fortunate me I discovered your web site by chance, and I am surprised why this coincidence didn’t happened in advance! I bookmarked it. edfebdafdfak

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s