Entrada y salida estándar:

En UNIX los comando toman la entrada de datos de la 'entrada estándar' (stdin) y envían su salida a la 'salida estándar' (stdout), normalmente la entrada estándar es el teclado y la salida estándar el monitor.

Cuando un comando que tiene que leer datos es llamado sin argumentos se pueden escribir directamente desde el teclado en vez de desde un archivo.
Por ejemplo, el comando cat lee el contenido de un archivo y lo muestra por la pantalla, pero si se llama sin argumentos se puede escribir lo que se quiera y mostrara en la pantalla lo que hayas escrito:

$ cat
hola
hola
adios
adios

El comando cat deja de leer el archivo cuando encuentra un EOF, end-of-file, fin de archivo, pero al no encontrarlo seguirá leyendo, para pararlo pulsaremos Ctrl-D.

El comando sort ordena una lista de palabras del archivo que se le pasa como argumento, pero si no se le pasa nada podemos escribir las palabras directamente y al pulsar Ctrl-D nos las ordenará.

$sort
hola
adios
que tal
linux
(Crtl-D)
adios
hola
linux
que tal

Así podemos ordenar palabras....