Red Hat Linux 7.0: The Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Anterior | Capítulo 16. Trabajar con archivos y directorios | Siguiente |
Si se es nuevo en Linux, enseguida de verá archivos con extensiones no reconocidas. La extensión es la parte final del nombre del archivo, tras el último punto (en el archivo sneakers.txt, "txt" es la extensión).
Aquí hay un listado de extensiones y el tipo al que corresponden:
.Z -- archivos comprimidos
.tar -- an archive file (abreviatura de tape archive)
.gz -- archivo comprimido (gzipped)
.tgz -- archivo tar comprimido
.txt -- texto
.html/.htm -- archivo HTML
.ps -- archivo PostScript ; formateado para impresión
.au -- archivo de sonido
.wav -- archivo de sonido
.xpm -- pixmap
.jpg -- imagen gráfica, foto o similar
.gif -- archivo gráfico
.png -- archivo gráfico
.rpm -- archivo del gestor de paquetes RPM
.conf -- archivo de configuración
.a -- archivo de archivado
.lock -- archivo "lock"; determina que programa está en uso
.h -- archivo de cabecera de C and C++
.c -- código fuente C
.cpp -- código fuente C++ file
.o -- archivo objeto
.pl -- script Perl
.tcl -- script TCL
.so -- objeto dinámico
Pero no siempre se usan extensiones, o de forma coherente. ¿ Qué ocurre cuando no hay extensión , o el contenido no es el supuesto de la extensión?
El comando file está para ayudar.
En Capítulo 15, se creó un archivo llamado saturday -- sin extensión. Utilizando file, se puede averiguar el tipo de archivo tecleando:
file saturday |
y se verá que es de texto. Cualquier archivo designado como de texto debería ser legible usando cat, more, o less.
Lea la página de manual | |
---|---|
Para saber más sobre file, lea la página de manual file tecleando man file. |
Y hablando de leer ficheros
Hay muchas formas de leer archivos en Linux. En Capítulo 15, por ejemplo, se vieron los paginadores more y less -- llamados paginadores porque se avanza página a página al ver el documento. También se vio que además se puede manipular archivos con cat.
Pero hay más opciones cuando se trata de ver archivos README, páginas de manual o documentos que se han creado.
Hay herramientas para archivos de texto, entre ellas, los editores de texto pico, emacs, y vim, los paginadores more y less, y los visores head, tail, cat, y grep.
Veamos características de estas utilidades.
En Capítulo 15, se introdujo el paginador less. Less es el paginador para ver páginas de manual.
Veamos la página de manual de less para ver a less en acción.
man less |
Para avanzar un página, pulsar Space; para retroceder pulsar B, y para salir, pulsar Q.
Hay otras potentes características de less, incluyendo la capacidad de movimiento horizontal y el poder avanzar un número determinado de líneas.
Aunque parezca raro, more ofrece menos que less (less está inspirado en more).
Veamos la página de manual de more, pero esta vez, veremos la página con more -- haciendo un tunel de la salida de man a more.
man more | more |
Puede no parecer distinto, pero hay menos características para more que para less. Lo más distinto de salida es la falta de un método para ir hacia atrá -- aunque avanzar pulsando Space y salir pulsando Q funciona igual.
Se puede usar head si sólo se quiere mirar el comienzo de un archivo.
head <filename> |
Head puede ser útil, pero al estar limitado a las primeras líneas, no se sabrá que longitud tiene. Por defecto, sólo se verán las 10 primeras líneas, aunque se puede establecer el número:
head -20 <filename> |
Lea la página de manual de head (man head) para más información. Se verá que less o more son más útiles, porque se puede paginar el archivo si la información está mucho más allá de las primeras líneas.
El inverso de head (obviamente), es tail. Con (tail), se ven las últimas 10 líneas del archivo.
cat, abreviatura de concatenar, mostrará el contenido de un archivo en pantalla. Utilizar cat puede ser útil si el archivo es breve, como sneakers.txt. Pero si es relativamente grande, pasará de largo por la pantalla, ya que cat muestra el fichero entero.
grep es muy útil para econtrar texto específico enun archivo. Si se quiere encontrar todas las referencias hechas a a "coffee" en sneakers.txt, creado en el directorio de login. Se puede teclear:
grep coffee sneakers.txt |
y se vería cada línea en la que se encontró "coffee".
Recuérdese las mayúsculas | |
---|---|
A menos que se especifique, grep busca distinguiendo mayúsculas y minúsculas. Buscar Coffee es diferente a buscar coffee. Entre las opciones de grep está -i, permite buscar sin distinciones en un archivo. Lea la página de manual de grep para más información sobre el comando. |
No hay que olvidar el uso de pipes y redirección para almacenar y/o imprimir algo para leer después.
Se puede, por ejemplo, usar grep para buscar algo en archivos, y guardar luego el resultado en un archivo o enviarlo a una impresora.
Para imprimir las referencias a "coffee" en sneakers.txt, por ejemplo, basta teclear:
grep coffee sneakers.txt | lpr |
El comando se comporta como ls -al /etc | more. Este comando se utilizó en Capítulo 15 para ver el contenido del directorio /etc y enviar el resultado a the more para verlo en pantalla.
Es más seguro utilizar >> | |
---|---|
Recuérdese la diferencia entre > y >>: usar > sobreescribe el archivo, mientras que >> añade información al archivo. Generalmente, a menos que se quiera, es mejor usar >>, porque seguro que no se pierde información potencialmente valiosa (aunque habrá que editar el fichero si no se quiso añadir información a él). |
¿ Que pasa si se olvida el nombre del archivo que se busca? No se le puede decir al ordenador, "Busca un archivo llamado 'sneak' o algo parecido."
Bien, se puede, de una forma. Utilizando comodines o expresiones regulares, se puede ejecutar acciones en un archivo sin saber el nombre completo. Basta con poner lo que se sabe, y sustituir el resto con un comondín.
Más sobre comodines y expresiones regulares | |
---|---|
Para saber más sobre comodines y expresiones regulares, mírese la página de manual de bash (man bash). Recuérdese que se puede salvar a un archivo de texto tecleando man bash | col -b > bash.txt. Así, se puede abrir y leer con less o pico (pico bash.txt). Si se quiere imprimir, hay que estar preparado: es muy largo. |
Sabemos que el fichero se llama algo así como "sneak-something.txt," así que tecleamos:
ls sneak*.txt |
y ahí sale el nombre del archivo:
sneakers.txt |
Lo más frecuente es usar el asterisco (*) al buscar. El asterisco busca cualquier cosa que encaje en el patrón que se busca. Así que tecleando:
ls *.txt |
o:
ls sn* |
se encontrarái sneakers.txt -- sólo que habrá más archivos de texto, y saldrán todos porque encajan en el patrón que se busca.
Ayuda, estrechar la búsqueda lo más posible.
Una forma de estrechar la búsqueda es usar la interrogación (?). Como el asterisco, utilizar ? puede ayudar a localizar un fichero por patrón.
En este caso, ? es útil para encajar un solo carácter -- así que si se busca sneaker?.txt, se obtendría sneakers.txt como resultado -- y/o sneakerz.txt, si existiera tal archivo.
Cuando el asterisco, es parte del nombre del archivo, como si sneakers.txt se llamase sneak*.txt, es cuando las expresiones regulares son útiles.
Las expresiones regulares son más complejas que el asterisco o la interrogación.
Utilizando la contrabarra (\), se puede especificar que no se quiere buscar todo al utilizar el astericso, sino que se busca un archivo con asterisco en el nombre.
Si el archivo se llama sneak*.txt, hay que teclear:
sneak\*.txt |
Aquí hay una lista breve de expresiones regulares y comodines:
* -- Todos los caracteres
? -- Encaja un caracter (como sneaker?.txt)
\* -- El caracter *
\? -- El caracter ?
\) -- El caracter )
También se pueden usar comodines para más que buscar: son útiles al mover y renombrar archivos. Y las expresiones regulares permiten renombrar archivos con nombres con caracteres como * y ?.
Para saber más, siga leyendo.