Si es un nuevo usuario de Linux, en breve empezará a ver ficheros con extensiones
que le resultarán desconocidas. Una extensión de un fichero es la última parte del
nombre del fichero, después del punto final (en el fichero sneakers.
txt, "txt" es la extensión de este fichero).
.h -- un fichero header para el lenguaje de programación C y C++
.c -- un fichero de código fuente para el lenguaje de
programación C
.cpp -- un fichero de código fuente para el lenguaje de
programación C++
.o -- un fichero objeto
.pl -- un script Perl
.tcl -- uno script TCL
.so -- una librería
Pero las extensiones de los ficheros no siempre son utilizadas. Por tanto,
¿que ocurre cuando un fichero no tiene extensión, o el fichero no es del
tipo que indica la extensión?
He aquí cuando el comando file puede ser útil.
En Capítulo 13, hemos creado un fichero llamado
saturday -- sin extensión. Utilizando el comando
file, podemos saber de que fichero se trata, tecleando:
y veremos que se trata de un fichero de texto. Cualquier fichero que sea
reconocido como fichero de texto debería ser legible a través de
cat, more, o less.
 | Leer la página man |
|---|
| | Para saber más sobre el comando file,
lea la página man de file tecleando man
file.
|
Veamos como leer los ficheros.
Existen muchas maneras de leer ficheros en Linux. En Capítulo 13, por ejemplo, hemos hablado de los
paginadores more y less
-- se llaman paginadores porque pueden pasar las "páginas"
de los documentos de pantalla en pantalla. Hemos
aprendido cómo podemos no solo ver sino también manipular los
ficheros con el comando cat.
Pero todavía hay más opciones para cuando queramos ver ficheros
README, páginas man o documentos que hemos creado.
Tiene a su disposición un cierto número de instrumentos para leer
ficheros, entre ellos, el editor de texto como pico,
emacs, y vim,
los paginadores more y
less, y los visualizadores
head, tail,
cat, y grep.
Veamos algunas de las características de estos instrumentos.
En Capítulo 13, le hemos dado a conocer el paginador
less. Less es el paginador más utilizado para mostrar
las páginas man.
Para consultar las páginas man de less
tecleemos
Para avanzar en la pantalla, pulse Espacio; para ir hacia atrás
pulse B, y para salir, pulse
Q.
Existen otras potentes características deless, como
su habilidad de deslizar el texto horizontalmente y de especificar el
número de líneas a deslizar.
Aunque pueda parecer extraño, more ofrece menos características que
less (en realidad less está inspirado en
more).
Echemos un vistazo a la página man de more, pero
esta vez abriremos la página utilizando more -- utilizando
la pipe para redirigir el output de man a more.
Al principio puede parecer que no sean tan diferentes, pero el comando
more acepta menos comandos que el comando
less. Probablemente la diferencia sustancial sea la
de que no puede desplazar un documento hacia atrás -- aunque si para
desplazarse hacia delante ambos utilicen Espacio y
para salir Q.
Puede utilizar el comando head si solo quiere ver
el principio de un fichero. El comando es:
Head puede ser útil, pero como se limita a visualizar las
primeras líneas, no sabrá el tamaño real del fichero. Por defecto, puede leer
solo las primeras 10 líneas de un fichero, si bien puede especificar el número
de líneas que quiere ver, tecleando:
Lea la página man del comando head (man
head) para obtener más información. Probablemente
less o more le parezcan más útiles,
ya que pueden deslizar el fichero en su totalidad.
El opuesto de head (obviamente), es
tail. Con (tail), puede
ver las 10 últimas líneas de un fichero.
El comando cat, abreviación de concatenación,
le mostrará el contenido total de un fichero en la pantalla.
Utilizar cat puede ser de utilidad si el fichero
es relativamente corto, como cuando creamos sneakers.txt.
Pero si el fichero es bastante largo, no podrá ver todo en pantalla.
El comando grep es bantante útil para buscar cadenas
de caracteres específicas en un fichero. Supongamos que queremos buscar
cualquier referencia a la palabra "topina" en el fichero sneakers.txt, que creamos en el directorio de login.
Teclee:
de esta manera podemos ver cada una de las líneas en las que aparece
la palabra "topina".
 | Recuerde las mayúsculas y las minúsculas |
|---|
| | A menos que se especifique, las busquedas de grep son
sensibles a las mayúsculas y minúsculas. Esto quiere
decir que buscar Coffee no es lo mismo que buscar
coffee. Entre las opciones de grep
encontramos -i, que le permite ejecutar una busqueda
sin tener en cuenta las letras mayúsculas/minúsculas de un fichero.
Consulte la página man de grep para más información
sobre este comando.
|
No olvide la utilización del pipe y la redirección del output
cuando quiera salvar y/o imprimir información para leerla en
una ocasión posterior.
Puede, por ejemplo, utilizar, grep para buscar determinados contenidos
en un fichero, y por tanto salvalos e imprimirlos.
Para imprimir información referente a la palabra "coffee" en
sneakers.txt, por ejemplo, teclee:
grep coffee sneakers.txt | lpr
|
Este comando se comporta de forma parecida al comando ls -al /etc |
more, que es posible que ya haya utilizado en Capítulo 13 para mostrar el contenido del directorio
/etc y por tanto enviar los resultados a través
del comando more para poder visualizarlos en la pantalla.
 | Es más seguro utilizar >> |
|---|
| | Recuerde las diferencias entre utilizar > y >>: >
sobrescribe un fichero, mientras que >> añade información a un
fichero, si este ya existe. En general, a no ser que este seguro de
lo que va hacer, es más seguro utiliza >>, ya que no perderá
información importante (y también se puede volver a modificar
si no quiere que estén juntos).
|
¿Qué sucede si se olvida del nombre de un fichero que quiere buscar? No puede
decirle al ordenador: "Búscame el fichero llamado 'sneak' o 'sneak-nosequé'".
Bueno, si puede, en cierto modo. Utilizando los wildcard
o las expresiones regulares, puede ejecutar acciones en uno o
más ficheros sin saber el nombre completo del fichero. Teclee solo aquello que
sabe, y sustituya el resto con un wildcard.
 | Más información sobre los wildcard y las expresiones reguralares |
|---|
| | Para más información sobre los wildcards y las expresiones regulares, puede
consultar la página man de la bash (man
bash). Recuerde que puede salvar el fichero en un fichero de
texto, tecleando man bash | col -b >
bash.txt. Por tanto, puede abrirlo y visualizarlo con
less o pico (pico
bash.txt). Si quiere imprimirlo,¡ojo!, es muy largo.
|
Sabemos que el fichero se llama "sneak-nosequé.txt," por tanto,teclee:
y ahora el nombre del fichero:
Probablemente utilizará el asterisco(*) frecuentemente
durante una busqueda. El asterisco le permite buscar cualquier cosa que
se corresponda con el nombre que está buscando. Por lo tanto tecleando:
o:
también encontrará sneakers.txt -- pero cuanto
más especifique con wildcards, más ficheros de texto habrá, y por tanto serán mostrados más
ficheros que se correspondan con el nombre que está buscando.
Le servirá de ayuda por tanto, reducir al máximo la busqueda.
Una manera de reducir la busqueda puede ser utilizar el signo punto de interrogación
(?). Al igual que el asterisco, utilizar
? puede ayudarle en la busqueda.
En este caso, sin embargo,? es útil para buscar caracteres individuales
-- de este modo si está buscando
sneaker?.txt, encontrará
sneakers.txt como resultado -- y/o
sneakerz.txt, si un fichero de este tipo existiese.
Cuando un asterisco, por ejemplo, puede formar parte de un nombre,
como podría ser el caso si el nombre de fichero sneakers.txt
fuese sneak*.txt, pueden servirle de ayuda las expresiones regulares.
Las expresiones regulares utilizan el asterisco y son muy fáciles
de usar.
Utilizando el caracter (\), puede especificar que no desea
buscar cualquier cosa utilizando el asterisco, en cambio
está buscando un fichero con un asterisco en el nombre.
Si el fichero se llama sneak*.txt, entonces, teclee:
He aquí una breve lista de wildcard y de expresiones regulares:
* -- Corresponde a todos los caracteres
? -- Correspone a un carácter en una cadena
(como sneaker?.txt)
\* -- Corresponde al carácter *
\? -- Corresponde al carácter ?
\) -- corresponde al carácter )
También puede utilizar las wildcard para algo más que para buscar: pueden
ser útiles cuando quiera eliminar o renombrara ficheros. Y las expresiones
regulares pueden servirle de ayuda para renombrar ficheros con caracteres
como * y ? en su nombre.
Para más información, siga leyendo.