InicioLinuxAprende a usar la consola de linux. 3ra entrega.

Aprende a usar la consola de linux. 3ra entrega.

Linux4/3/2015
bueno hace unos dias ya les presenté los primeros comandos más basicos. En el día de hoy lo que les voy a presentaros es identificar el tipo de archivo en él que posiblmente tengas que trabajar.
Es bueno saber que este s.o no existe el concepto de extension pero es posible nombrarlos con .algo de modo orientativo para el usuario corriente o sea nosotros.
para el sistema esto es lo mismo archivo o archivo.txt
Luego aprendenderemos a buscar patrones en ficheros. extraeremos los que nos importa e incluso haremos un estudio de la información que pueda contener.

 Y por ultimo para no ser muy pesado les enseñare a manejar los permisos.

hecha la aclaración o parte introductoría empezemos:
________________________________________________________________________________________Aprende a usar la consola de linux. 3ra entrega.
Comando file:
File se utiliza para saber de qué tipo es un archivo, bien porque carezca de extensión que lo identifique (txt, mp3, png…) o bien porque haya sido renombrado, este comando nos dirá de qué se trata.
algunos ejemplos:


#Fichero ejecutable

[root@LINUX1 ~]# file /usr/bin/clear
/usr/bin/clear: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

#Fichero de texto

[root@LINUX1 ~]# file /root/fichero1.txt
/root/fichero1.txt: ASCII text

#Symbolic link

[root@LINUX1 ~]# file /usr/bin/poweroff
/usr/bin/poweroff: symbolic link to `consolehelper'

#Script

[root@LINUX1 ~]# file /usr/bin/tzselect
/usr/bin/tzselect: Bourne-Again shell script text executable

También podemos obtener un poco más de información con la opción -i:
file -i guia.pdf
guia.pdf: application/pdf; charset=binary
file -i notepad.png
notepad.png: image/png; charset=binary
Ahora vamos a cambiarle a uno de estos archivos su extensión a ver si podemos engañarle, renombraremos notepad.png a notepad.txt:
file notepad.txt
notepad9.txt: PNG image, 128 x 128, 8-bit/color RGBA, non-interlaced
Pues parece ser que ¡¡no!!
Otra opción también muy interesante es saber que hay dentro de un archivo comprimido. Para este ejemplo escogí un fichero de mi disco duro y lo comprimí con la extensión bz2.
Primero veamos que es esto de bz2:
file nino.bz2
nino.bz2: bzip2 compressed data, block size = 900k
¿Y qué habrá dentro? Ahora es cuando vamos a utilizar la opción -z para obtener más información del contenido de este archivo:
file -z nino.bz2
nino.bz2: RIFF (little-endian) data, AVI, 720 x 384, 25.00 fps, video: XviD, audio: Dolby AC3 (6 channels, 48000 Hz) (bzip2 compressed data, block size = 900k).



Otro ejemplo práctico podria ser que tengas que realizar una verificación en forma masiva.
es decir verificar de q tipo son los ficheros qe se nombraron como .txt y ver que cumplan un mismo patron. es decir que todos sean de un mismo y no haya otro tipo extraño.

file *.txt

Un archivo de texto llano, texto simple, texto plano, texto sencillo o texto pelado (en inglés plain text) es un archivo informático compuesto únicamente por texto sin formato, sólo caracteres, lo que lo hace también legible por humanos. Estos caracteres se pueden codificar de distintos modos dependiendo de la lengua usada. Algunos de los sistemas de codificación más usados son: ASCII, ISO-8859-1 o Latín-1 y UTF-8.

La extensión .txt se ha hecho popular en los últimos tiempos, pero habitualmente el contenido del archivo se determina con programas que examinan los primeros bytes, como por ejemplo el comando "file".
______________________________________________________________________________
linux
Encontrar palabras, patrones, lineas en el texto.
Algunas de las opciones mas útiles y comunes de grep son las siguientes
-i ignora la deferencia entre mayúsculas y minúsculas en las búsquedas y las considera equivalentes.
-n muestra el texto de la línea y el número de línea dentro del archivo en la que se encontró
-c muestra solamente el número de líneas coincidentes
-l lista los archivos en donde se han encontrado coincidencias sin mostrar el texto
-r permite hacer búsquedas de forma recursiva dentro de los directorios que se encuentran en la ruta de búsqueda.

Encontrar una palabra en un archivo

Si tenemos un archivo de texto llamado INSTALL y deseamos buscar la palabra Web podemos ejecutar el comando grep de la siguiente forma:

$ grep Web INSTALL

La salida de grep te mostrará todas las lineas que contenga la cadena de texto “Web” y en mi caso muestra esta salida:

Web browser support:

encontrar todas las palabras sin importar mayúsculas o minúsculas

$ grep -i web INSTALL

en mi caso muestra una lista extensa de lineas donde está Web, web o WEB y muestro solo un fragmento de esta salida

- A web server running PHP 5.2.0 or higher, with PCRE....
Web browser support:
content of the "web" directory in your webserver's document root. If you
...

3 Mostrar cuantas coincidencias se han encontrado

En ocasiones no es necesario leer el texto donde se encuentra la cadena de texto o palabra que buscamos, pero, podemos necesitar saber cuantas veces está aparece en el archivo aquí te muestro un ejemplo de cuantas veces aparece la “web” con las opciones anteriores.

$ grep -c Web INSTALL
1
$ grep -c web INSTALL
5
$ grep -c -i "web" INSTALL
6

Este ejemplo muestra claramente que al utilizar la opción -i se consideras las coincidencias sin importar mayúsculas o minúsculas.

4 cuando necesitas saber en cual línea está lo que buscas

Para saber en cual línea está el texto o la palabra que buscas utilizas la opción -n asi:

$ grep -n Web INSTALL
8:Web browser support:

En esta salida te muestra al inicio del texto “8:” que es el número de la línea en donde está la la palabra “Web” dentro del archivo INSTALL.

5 Encontrar un texto en un listado de archivos

El comando linux grep también te puede ayudar a encontrar un texto que se encuentre en una lista de archivos y te puede indicar en que archivo se ha encontrado, aquí te muestro un ejemplo simple de esta opcion:

$ grep -l you ./*
./INSTALL
./LICENSE
./README

Esto te indica que la palabra “you” se encuentra en los archvios INSTALL, LICENCE y README y si estuvieran dentro de otros directorios te mostraría la ruta usando la opción -r para hacer la búsqueda de forma recursiba en los directorios que se encuentran en la ruta de búsqueda.

Espero que grep te sea de gran utilidad, para mí es uno de los comandos que uso casi a diario por que me permite tener información rápida y sencilla cuando administro un servidor linux. Te recomiendo que también veas el siguiente post para que veas como usar grep con tuberias o pipes.

No te limites con usar solo una opcion. Puedes combinarlas por ejemplo:
grep -ni orders reset.log

También un uso muy cotidiano es redirecionar estos mensajes de salida, que nos entrega este comando y crear un fichero con cierta info especifica. Aqui les mostraré la ventaja de usar la barra vertical | para unir la salida.

podes crear un fichero con la info que filtraste.
puedes leer salidas salidas muy grandes.
etc.
ejemplo:

grep -ni orders reset.log | more
esto no permite usar el comando more, que toma como entrada, la salida del grep.
es decir estas teniendo un mejor control.
tambien es posible crear un fichero. ejemplo

grep -ni orders reset.log > mInforme.

este tecnica se conoce como redirecionamiento e interconexion de comandos.
piping y redirection en ingles.
_____________
comandos
Y por ultimo para terminar. Asignar permisos de lectura, escritura y ejecución de lo que tu qieras.
Para esto se sigue este patron.
chmod 700 file1 --> Asignación de permiso.
Para entender este comando siemplemente debemos recordar esta numeración: 421
y eso lo traducimos como RWX
consola

por ejemplo si queremos asignar lectura y ejecucion para el propietario.
entonces viendo qe r=4 , w=2 , x=1, me daria 4+1 osea 5
lo mismo con los otros.

chmod 755 file1
_______________________________________________________________________________________
espero que les haya gustado. Exitos.
Datos archivados del Taringa! original
18puntos
156visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

N
NutrIrnea🇦🇷
Usuario
Puntos0
Posts8
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.