Red Hat Linux 7.1: Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Anterior | Capítulo 10. El indicador de comandos de la shell | Siguiente |
Red Hat Linux posee una utilidad que le puede ayudar a guardar listas cortas, agruparlas juntas y, al mismo tiempo, mostrarle lo que es capaz de hacer su sistema.
Esta utilidad se llama cat, diminutivo de "concatenate," que significa que ensarta ficheros.
El comando cat visualizará también los contenidos de un fichero entero en la pantalla (por ejemplo, teclee cat filename.txt). El uso de cat puede ser práctico, si el archivo es bastante corto. Pero si un fichero es bastante largo, se deplazará rápidamente y por completo por la pantalla, ya que cat visualiza el fichero por completo.
Pero cat puede ejecutar una muestra rápida de dos términos importantes: entrada de datos estándar y salida de datos estándar.
La entrada de datos estándar y la salida de datos estándar dirigen la entrada y la salida (conocidas como E/S) al usuario. Si un programa lee desde una entrada estándar, leerá por defecto desde un teclado. Si un programa escribe al programa de salida, escribirá a la pantalla por defecto.
Inicie cat para ver lo que significa. En el indicador de comandos de la shell, teclee:
cat |
El cursor se mueve a una línea en blanco. En la línea en blanco, teclee:
stop by sneaker store |
y pulse la tecla Intro. Su pantalla aparecerá de la siguiente manera:
[newuser@localhost newuser]$ cat stop by sneaker store stop by sneaker store |
Para salir de cat, mueva el cursor a una línea en blanco pulsando Intro. A continuación pulse Ctrl-D.
El comando cat acaba de mostrar la definición la entrada y la salida estándar; escribió palabras (entrada estándar) que han aparecido en la pantalla (salida estándar).
La reorientación significa hacer que la shell cambie lo que está considerado como entrada estándar o el lugar donde va a parar la salida estándar.
Anteriormente hemos usado cat para mostrar el concepto de entrada estándar y salida estándar. A continuación utilizaremos cat para ver cómo se puede reorientar la salida estándar.
Para reorientar la salida estándar, usaremos el símbolo >. Al colocar > tras el comando cat (o tras cualquier utilidad o aplicación que escriba la salida estándar) reorientará su salida al nombre de fichero que siga al símbolo.
Intentémoslo. En el indicador de comandos, teclee:
[newuser@localhost newuser]$ cat > sneakers.txt buy some sneakers then go to the coffee shop then buy some coffee |
Pulse Intro para ir a una línea vacía y utilice las claves Ctrl-D para salir de cat.
¿Ha observado la diferencia (consulte el Figura 10-8)? Para una cosa, no existen entradas dobles. Esto se debe a que la salida estándar desde cat, ha sido reorientada. Esta reorientación era de un fichero nuevo que ya había creado, llamado sneakers.txt.
Puede encontrar el fichero en el directorio en el que estaba cuando empezó cat (teclee ls si desea verlo listado).
También puede usar cat para leer el fichero, al escribir:
cat sneakers.txt |
en el indicador de comandos.
No sobreescriba ficheros | |
---|---|
Tenga cuidado al reorientar la salida a un fichero, porque puede sobreescribir un fichero ya existente. Asegúrese de que el nombre del fichero que está creando no coincide con el nombre de un fichero ya existente, a menos que desee reemplazarlo. |
A continuación usaremos la reorientación de la salida para otro fichero y llámelo home.txt. Teclee lo siguiente:
[newuser@localhost newuser]$ cat > home.txt bring the coffee home take off shoes put on sneakers make some coffee relax! |
A continuación, en una línea vacía, utilice las teclas Ctrl-D de nuevo para salir cat.
Podemos comprobar el fichero de nuevo al teclear:
cat home.txt |
en el indicador de comandos.
Utilice cat de nuevo para unir home.txt con sneakers.txt y reorientar la salida de ambos ficheros a un fichero nuevo llamado saturday (encontrará un ejemplo en el Figura 10-9). Teclee lo siguiente:
[newuser@localhost newuser]$ cat sneakers.txt home.txt > saturday |
Ha llegado el momento de comprobar su trabajo. Teclee:
[newuser@localhost newuser]$ cat saturday |
debería ver algo parecido a:
[newuser @localhost newuser]$ cat saturday buy some sneakers then go to the coffee shop then buy some coffee bring the coffee home take off shoes put on sneakers make some coffee relax! [newuser @localhost newuser]$ |
Podrá ver que cat ha sido añadido a home.txt donde sneakers.txt termina.
Combinación de ficheros con cat | |
---|---|
Crear y combinar ficheros con cat puede ser una buena solución alternativa para un editor de textos como Pico. |
Puede utilizar la reorientación para añadir información nueva al final de un fichero ya existente. Parecido a cuando ha usado el símbolo >, le indica a su shell que envíe la información a algún otro sitio que no sea el de la salida estándar.
No obstante, cuando usa >>, está añadiendo información más que reemplazándola.
Le presentamos un ejemplo práctico para aclarar este concepto. En este ejemplo unamos dos ficheros creados anteriormente -- sneakers.txt y home.txt -- utilizando el símbolo para adjuntar la salida. Queremos añadir la información presente en home.txt uniéndola a la ya presente en sneakers.txt. Basta con teclear:
cat home.txt >> sneakers.txt |
Para visualizar el contenido del fichero, ejecute el comando:
cat sneakers.txt |
De esta forma hemos añadido la salida del fichero home.txt.
Tecleando este comando hemos dicho al sistema "añada la salida del fichero home.txt al fichero sneakers.txt."
Añadiendo la salida directamente, hemos ahorrado uno o dos pasos (y un poco de espacio en el disco) utilizando unos ficheros que ya existían en memoria, en vez de crear uno nuevo.
Si controla los ficheros sneakers.txt y saturday, notará que son iguales. Para efectuar esta comparación teclee:
cat sneakers.txt; cat saturday |
Los contenidos de los dos ficheros se visualizan en la pantalla - antes sneakers.txt, y luego saturday (como se muestra en Figura 10-10).
Nunca reemplace mientras está adjuntando | |
---|---|
Recuerde que cuando quiere añadir la salida a un fichero, tiene que teclear los símbolos >>. En caso contrario, vuelva a crear el fichero original con lo que quería añadir. |
No sólo puede reorientar la salida estándar, sino también la entrada estándar.
Cuando utiliza el símbolo < para reorientar la entrada estándar, está indicando a la shell que un fichero se debe utilizar como entrada para un comando.
Utilice un fichero creado anteriormente para mostrar este concepto.
cat < sneakers.txt |
Utilizando el símbolo menor que (<) para separar el comando cat de un fichero, cat lee la salida de sneakers.txt.