write : Comando que nos permite enviar mensajes a la consola de un determinado usuario, conectado al mismo sistema.
$write usuario < texto
$write usuario Escribo aquí lo que quiera que le llegue y luego cierro. Control-D
mesg : Digamos que es el botón que ‘mutea‘ o activa los mensajes del comando write en una terminal (pts). Suponiendo que 2 usuarios conversan por terminal, el usuario A tiene abierta 2 terminales (pts2 y pts4) y quiere dejar de recibir mensajes por pts4:
$mesg n < /dev/pts/4
- Si queremos volver a recibir mensajes por esa terminal utilizamos la opción: -y
talk : Conversación bidireccional mediante consola entre 2 usuarios conectados a la misma o diferente máquina.
$talk usuario [ttyn | pts/n]
$talk usuario@maquina
wall : Útil para enviar un mensaje a todos los usuarios conectados a un sistema Linux.
$wall < archivo_texto
$echo “Hola a todos” | wall
[Opciones]:
- Si queremos quitar el banner del mensaje (solo root puede hacerlo): -n
- Si queremos usar una cuenta a tras, por ejemplo para apagar el sistema: -t tiempo
echo : Muestra por pantalla o envía a un archivo aquello que se escribe/manda por la entrada estándar.
$echo -e “Esto se muestra por pantalla con salto de líneas\n”
$echo -n “Añado una línea a un archivo” >> archivo.txt
[Opciones]:
- Permitir la interpretación de caracteres con barra invertida, por ejemplo, un salto de página, una tabulación o un salto de línea : -e
- No inserta el carácter de nueva línea. Útil por ejemplo a la hora de codificar un texto desde consola: -n
$echo -n “contraseña” | openssl sha1
[Caracteres de escape]:
- \n : representa un salto de línea
- \\ : Representa una barra invertida
- \r : Representa un retorno de carro
- \t : Representa una tabulación horizontal
Otras cosas que podemos hacer con echo:
- Listar el contenido de un directorio (siempre y cuando estemos dentro):
$echo /* /bin /boot /cdrom /dev /etc /home /initrd.img /lib /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var /vmlinuz
- Enviar un mensaje a una determinada terminal utilizando como salida, la entrada de esa terminal (pts). El comando w o who nos serán de ayuda. Suponiendo que es a pts2 a quien queremos enviar el mensaje:
$echo “Esto es un msg para pts2” > /dev/pts/2
Nota: El mensaje aparecerá en la línea de comandos de pts2, como si hubiese sido tecleado por él.