Please enable JavaScript.
Coggle requires JavaScript to display documents.
UT5.2.Ficheros y Directorios - Coggle Diagram
UT5.2.Ficheros y Directorios
2.3. Entrada y Salida estándar.
Toda orden que se ejecuta en linux tiene asignados desde el comienzo tres dispositivos o canales, que son:
Salida estándar (stdout = 1), que es la pantalla.
Salida estándar para los mensajes de error (stderr = 2), que también se muestran por pantalla.
Entrada estándar (stdin = 0), se trata del teclado.
Generalmente las órdenes se introducen desde el teclado, y su resultado, junto con los posibles errores producidos, se visualizan en pantalla.
Si no se le pasan nombres de ficheros a ls como parámetros los enviará a stdout
[
Crispin@hostname
/Crispin]§ ls
nota1 nota2 nota3 notay note3
Redireccionamiento
Normalmente una orden Linux, como ya hemos visto, lee de la entrada estándar, escribe en la salida estándar, y manda los errores a la salida de error estándar. Pero Linux permite redirigir la entrada y salida de los comandos desde o hacia ficheros, en lugar de utilizar la entrada y salida estándar.
Cuando mandamos la redirección de una entrada o salida el Shell cambia el canal de entrada o salida del comando por el de un fichero sin que el comando se entere de ello.
Algunas fórmulas de redirección son:
Comando>fichero
La salida del comando se graba en un fichero que se crea en ese instante: $ ls -l > listado
Crispin@hostname
/para_imprimir]§ ls > lista-compra
Como puede ver, el resultado de ls no se muestra por pantalla, en su lugar es salvado en el fichero lista-compra
Comando>>fichero
La salida del comando se graba en un fichero añadiendo la información al final de éste, sin borrar el contenido anterior: $ ls -li >> listado
Crispin@hostname
/para_imprimir]§ ls >> lista-compra
Comando<fichero
Dirige la entrada estándar desde el fichero que figura a continuación del símbolo:
$ sort < fichero
Comando 2>fichero
Los mensajes de error de la ejecución del comando se graban en un fichero.
$ ls -l noexiste 2> FicheroErrores
Comando 2>&1 fichero
Tanto la salida de los resultados de la ejecución del comando como los mensajes de error se graban en el mismo fichero.
$ls -l /dev /noexiste 2>&1 ListadoMasErrores
Comando >> fichero
Añade la salida de comando al final del fichero, es decir, no sobreescribe el fichero con la salida del comando, mantiene el contenido anterior.
Comando << etiqueta
Toma la entrada para comando de las siguientes líneas, hasta una línea que tiene la cadena etiqueta
Define como fichero estándar de entrada el conjunto de líneas comprendidas entre dos palabras, una la que sigue al operador y la otra la misma repetida.
$ MAIL pepe < < ENTRA
he leído un libro sobre magia,
es muy interesante
ENTRA
Se manda correo a pepe sirviendo como texto de entrada para MAIL las frases escritas entre las dos palabras "ENTRA", que por cierto, no forman parte del mensaje.
Se pueden utilizar < y > a la vez con una sola orden.