Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1019
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
▼
2021
(Total:
730
)
-
▼
diciembre
(Total:
103
)
- Tecnología de Intel permite actualizar la BIOS de ...
- La Universidad de Kioto en Japón pierde 77TB de da...
- Redline Stealer es un malware que roba las contras...
- ¿Qué es un dropper? (Malware)
- Fundador de Signal asegura que Telegram es incluso...
- Diferencias entre el cifrado BitLocker y EFS en Wi...
- Mejores programas para reparar, recuperar y ver in...
- TWRP Recovery para teléfonos Android
- Herramientas para realizar ataques Man‑in‑the‑Midd...
- Vulnerabilidad en Azure App Service expone reposit...
- Las 20 mejores herramientas de Hacking de 2021
- Procesadores Intel 12th Alder Lake para el chipset...
- Alertan de una importante Campaña Phishing vía SMS...
- Extensiones Visual Studio Code para programar en ...
- ¿Qué es una APU (CPU + GPU) y un SoC?
- Crean un algoritmo capaz de adivinar el 41% de las...
- DuckDuckGo, la alternativa al buscador Google basa...
- Instalar MacOS Big Sur en una máquina Virtual con ...
- Editores de imágenes de vídeo gratuitos y de códig...
- Desinstalar todas las aplicaciones no deseadas que...
- Reparar tarjeta memoria SD dañada o estropeada
- Instalar aplicaciones Android en Windows 11: WSATo...
- Hackean servidores HP con CPUs AMD EPYC para minar...
- Logrotate: administra los registros (logs) de tu s...
- Las mejores shells para GNU/Linux
- Glosario términos en Linux: vocabulario básico
- Windows 10 versión 21H2 añade protecciones mejorad...
- Instalar varios sistemas operativos autoarrancable...
- Vulnerabilidad test de antígenos permite falsifica...
- Actualización de seguridad importante servidor web...
- Graves vulnerabilidades plugin SEO instalado en má...
- Vulnerabilidades Directorio Activo permiten hackea...
- Ministerio de Defensa de Bélgica es el primer país...
- La memoria DDR5 es apenas un 3% más rápida que la ...
- Actualizaciones de Windows 11 solucionan problemas...
- Disponible distro Hacking WiFi Wifislax de origen ...
- DuckDuckGo prepara navegador web que protegerá la ...
- Amazon patenta una red de cámaras que reconcen a p...
- Los mitos más comunes en ciberseguridad
- Hospital de Asturias (España) afectado por un ataq...
- Cable USB llamado BusKill permite borrar automátic...
- El hackeo con Pegasus para iPhone es uno de los at...
- Resumen de todas las vulnerabilidades de Log4j
- Instalación LineageOS en teléfonos Android
- Gestores de Contraseñas para Android
- Guía SysAdmin para SELinux
- Los mejores gestores de contraseñas gratuitos
- Configurar servidor DLNA para reproducir música y ...
- Instalar Kali Linux en tu teléfono móvil con NetHu...
- pfetch, screenfetch o neofetch : mostrar informaci...
- La estafa del supuesto familiar con la ‘maleta ret...
- Microsoft y Dell prepararan portátiles más reparables
- Contenedores en Firefox para mejorar privacidad al...
- Windows Terminal será la línea de comandos por def...
- Identificada una segunda vulnerabilidad en Log4j q...
- Protocolo WebDav permite conectar unidad de red re...
- Apple publica Tracker Detect para evitar que los u...
- Volvo Cars informa una brecha de seguridad
- Consejos de Seguridad para servidores Linux
- Vulnerabilidad en millones chips de WiFi y Bluetoo...
- Ataque de ransomware Lapsus al Ministerio de Salud...
- Configurar una VPN con Wireguard
- Distribuciones Linux para portátiles antiguos con ...
- Juegos retro para teléfonos móviles Androd e iPhone
- Solucionada vulnerabilidad de seguridad de Western...
- Ladrones de coches están utilizando AirTags de App...
- Cómo activar la autenticación en dos pasos en Goog...
- Detenida en España por estafar al Athletic de Bilb...
- ALPHV BlackCat es el ransomware más sofisticado de...
- Google permitirá ejecutar juegos de Android en Win...
- Google y Microsoft trabajan juntos para mejorar el...
- Vulnerabilidad crítica en Apache Log4j bautizada c...
- Nueva oferta de Microsoft 365 para los usuarios pi...
- Nueva versión de Kali Linux 2021.4 que mejora el s...
- Evitar que tus mails rastreen tus datos personales...
- Cómo configurar la privacidad y seguridad en Signal
- Google demanda a 2 rusos responsables de la botnet...
- Bots se hacen pasar por personal de Twitter para r...
- Importante vulnerabilidad en Grafana: actualizació...
- Descubiertos instaladores KMSPico para activar Win...
- Eltima SDK contiene hasta 27 múltiples vulnerabili...
- Mozilla publica Firefox 95 con mejoras destacadas ...
- Cómo migrar CentOS 8 a Rocky Linux 8, AlmaLinux 8 ...
- Freesync y G-Sync: tecnologías para monitores gami...
- Ansible permite automatizar tareas en distintos se...
- Syncthing es una herramienta gratuita multiplatafo...
- Curiosidades sobre el nuevo CEO de Twitter: 11.000...
- Filtros en Linux: pipes, tuberías: cut, sort, uniq...
- El auge del negocio de los ciberataques de denegac...
- ¿Qué son los (IoC) Indicadores de Compromiso?
- Teléfonos iPhone de empleados del Departamento de ...
- Mejores sistemas de rescate para recuperar fichero...
- Ciberataque denegación de servicio distribuido DDo...
- Hasta 9 routers de marcas muy conocidas acumulan u...
- Plantillas y archivos RTF de phishing contienen ma...
- Nvidia reedita la RTX 2060, ahora con 12 GB de RAM...
- Nueva versión IPFire mejora el rendimiento IPS e i...
- El perro robótico de Xiaomi usa Ubuntu de sistema ...
- WiFi 7 tendrá doble de velocidad (hasta 46 Gbps) y...
- Vulnerabilidad en impresoras HP tras 8 años afecta...
- ► septiembre (Total: 56 )
-
▼
diciembre
(Total:
103
)
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
En el panorama en constante evolución de la seguridad de redes, OpnSense se ha convertido en una formidable solución de firewall. Nacido de...
-
Pese a que Gemini ofrece multitudes de opciones, recientemente, se ha dado a conocer una situación fuera de lo común. Hace unos días, un es...
Filtros en Linux: pipes, tuberías: cut, sort, uniq, wc, tee, head, tail y grep
Conocimientos básicos, sobre los filtros en Linux. Para ello vamos a utilizar las herramientas más comunes de línea de comandos en sistemas UNIX y GNU/Linux. En concreto trataremos con las siguientes herramientas: cut, sort, uniq, wc, tee, head, tail y grep.
Filtros en Linux
Comando cut
El comando cut imprime partes seleccionadas de las
líneas de entrada. El delimitador predeterminado es tabulador, pero
podemos cambiar los delimitadores con la opción -d
. El parámetro -f
especifican qué campo incluir en la salida.
Comando sort
Este comando se encarga de ordenar las líneas de un texto. Aunque no es tan simple como parece. Digamos que podemos sacar más punta al lápiz, respecto a las partes exactas de cada línea que ordena y el orden final que se impondrá.
Sus opciones son:
- -b Ignora los espacios en blanco.
- -f No distingue entre mayúsculas y minúsculas.
- -k Especifica las columnas que forman la clave de clasificación.
- -n Compara campos con números enteros.
- -r Orden de clasificación inverso.
- -t Establece el separador de campo (por defecto es un espacio en blanco).
- -u Genera registros únicos.
En el apartado anterior sobre cut tenéis un ejemplo de uso.
Comando uniq
Se encarga de imprimir líneas únicas. Su uso es similar a sort -u
, pero tiene algunas opciones útiles que sort no emula: -c
para contar el número de instancias de cada línea, -d
para mostrar solo líneas duplicadas y -u
para mostrar solo líneas no duplicadas.
Ejemplo de uso de uniq:
Comando wc
Se encarga de contar líneas, palabras y carácteres. Existen una serie de opciones que seleccionan la información que queremos que se imprima. Siempre en este orden: nueva línea, palabra, carácter, byte y longitud máxima de línea.
- -c, –bytes, imprime los recuentos de bytes
- -m, –chars, imprime el recuerto de carácteres
- -l, –lines, imprime el recuento de líneas
- -L, –max-line-length, imprime la longitud de la línea más larga
- -w, –words, imprime el recuento de palabras
Comando tee
Una canalización de comandos suele ser lineal, pero a menudo es útil aprovechar el flujo de datos y enviar una copia a un archivo o a las ventanas de la terminal. Podemos hacer esto con el comando tee, que envía su entrada estándar tanto a la salida estándar como a un archivo dado que especifiquemos en la línea de comandos.
Una forma de uso básico sería:
wc -l file1.txt | tee file2.txt
Este comando comprobará el recuento de líneas del primer archivo y mostrará el resultado en la terminal, y a su vez lo guardará en el segundo archivo.
Comando head y tail
Estos comandos van a la par, se encargan de leer el principio o el final de un archivo. Leer líneas desde el principio o el final de un archivo es una operación administrativa bastante común.
Ambos comandos muestran diez líneas de forma predeterminada, pero podemos incluir parámetros para especificar cuantas líneas queremos ver.
Respecto a otros comandos como less, quizás head esta un poco anticuado; aún así es todavía muy utilizado en los scripts.
Uso del comando head
Se utiliza para mostrar información, si lo usamos sin parámetros, de las 10 primeras líneas de un archivo en la salida estándar. También se puede utilizar para mostrar información de varios ficheros a la vez.
No tiene un gran número de parámetros, el más importante es «-n«, donde indicamos el número de líneas que queremos que nos muestre.
Por ejemplo:
$ head -n 20 /var/log/messages
De esta manera, en vez de mostrar 10 líneas, nos mostrará 20. El mismo resultado lo podemos encontrar, de la siguiente manera, utilizando el guión «–»
$ head -20 /var/log/messages
El otro parámetro es «-c» , que imprime los primeros bytes indicados:
$ head -c 100 /var/log/messages
Uso del comando tail
Quizás el comando tail es uno de los que más utilizo en mi día a día de SysAdmin. Es genial para consultar registros de actividad. En su uso básico nos muestra las 10 últimas líneas de un archivo. Tiene un poco más de miga que el comando head, del que hemos hablado antes.
En lo que respecta a tail, en combinación con el parámetro -f
es particularmente útil para administradores de sistemas, sobre todo
para consultar los ficheros de registros en directo. En lugar de salir
inmediatamente después de imprimir el número de líneas solicitado:
tail -f
Espera a que se agreguen nuevas líneas al final del archivo y las imprime tal y como aparecen.
Su uso más habitual, por lo menos desde mi punto de vista, es junto con el parámetro «-f» , que genera información a medida que crece el archivo.
$ tail -f /var/log/apache/access.log
También le podemos indicar que nos muestre en pantalla un número dado de líneas:
$ tail -n 20 /var/log/messages
En este caso nos mostrará las 20 últimas líneas del fichero.
También le podemos decir que muestre la información a partir de una línea en concreto, de esta manera:
$ tail -n +20 /etc/passwd
De esta forma, utilizando el símbolo «+«, mostrará la información a partir de esa línea
Comando grep
El comando grep es una herramienta en sistemas operativos basados en Unix y Linux que se utiliza para buscar patrones dentro de archivos de texto. Su nombre proviene del comando «global/regular expression/print«, ya que se diseñó originalmente para buscar expresiones regulares en archivos y luego imprimir las líneas que coinciden. A lo largo de los años, grep ha evolucionado para incluir una amplia gama de funcionalidades y opciones. En esta guía, exploraremos en detalle el comando grep, sus opciones más comunes y ejemplos de uso.
Este popular comando busca un texto de entrada e imprime las líneas
que coinciden con un patrón dado. Su nombre se basa en el comando g/regular-expression/p
del antiguo editor ed, que venía con las primeras versiones de UNIX
Respecto a las expresiones regulares, podemos decir que se trata de patrones de coincidencia de texto, escritos en un estándar utilizado por la mayoría de los programas que hacen coincidencia de patrones, aunque existen variaciones menores entre las diferentes implementaciones.
Como la mayoría de los comandos en GNU/Linux, grep tiene un buen número de opciones, por ejemplo, con -c
podemos imprimir un recuento de líneas coincidentes, con -i
se ignoran el uso de mayúsculas y minúsculas en las coincidencias, y con -v
se imprimen las líneas que no coinciden. Otro parámetro interesante es -l
, que hace que grep imprima solo los nombres de los archivos coincidentes en lugar de imprimir cada línea.
Sintaxis básica
La sintaxis básica del comando grep es la siguiente:
grep [opciones] patrón [archivo(s)]
opciones
: Son los modificadores que ajustan el comportamiento degrep
.patrón
: Es la cadena de texto quegrep
buscará en el archivo.archivo(s)
: Son los archivos en los quegrep
buscará el patrón. Si no se especifican archivos,grep
buscará en la entrada estándar (por ejemplo, la salida de otro comando).
Opciones comunes de grep
A continuación, se detallan algunas de las opciones más utilizadas con el comando grep
:
-i, --ignore-case
: Ignora la distinción entre mayúsculas y minúsculas al buscar.-v, --invert-match
: Selecciona las líneas que no coinciden con el patrón.-c, --count
: Muestra el número de líneas que coinciden con el patrón en lugar de las líneas en sí.-n, --line-number
: Muestra el número de línea junto con la salida correspondiente.-r, --recursive
: Busca de manera recursiva en todos los archivos y directorios bajo el directorio dado.-w, --word-regexp
: Busca solo palabras completas que coincidan con el patrón.-E, --extended-regexp
: Interpreta el patrón como una expresión regular extendida.
Ejemplos de uso:
Supongamos que tenemos un archivo llamado datos.txt
que contiene el siguiente texto:
Linux es un sistema operativo de código abierto.
Es ampliamente utilizado en servidores y sistemas embebidos.
El ecosistema de Linux incluye una gran variedad de distribuciones como Ubuntu, CentOS, y Fedora.
A continuación le aplicaremos algunas de las opciones del comando grep.
- Opción
-i, --ignore-case
: Ignorar mayúsculas y minúsculas al buscar
Linux es un sistema operativo de código abierto.El ecosistema de Linux incluye una gran variedad de distribuciones como Ubuntu, CentOS, y Fedora.
- Opción
-v, --invert-match
: Seleccionar líneas que no coinciden con el patrón
Linux es un sistema operativo de código abierto.El ecosistema de Linux incluye una gran variedad de distribuciones como Ubuntu, CentOS, y Fedora.
- Opción
-c, --count
: Mostrar el número de líneas que coinciden con el patrón
2
- Opción
-n, --line-number
: Mostrar el número de línea junto con la salida correspondiente
3:El ecosistema de Linux incluye una gran variedad de distribuciones como Ubuntu, CentOS, y Fedora.
- Opción
-r, --recursive
: Buscar de manera recursiva en todos los archivos y directorios bajo el directorio dado:
Supongamos que tenemos una estructura de directorios como esta:
directorio/
├── datos.txt
└── subdirectorio
└── mas_datos.txt
Contenido de mas_datos.txt
:
Aplicamos la búsqueda sobre el directorio:
grep -r "Android" directorio/
directorio/subdirectorio/mas_datos.txt:Linux también es utilizado en dispositivos móviles a través de Android, una plataforma basada en el kernel de Linux.
- Opción
-w, --word-regexp
: Buscar solo palabras completas que coincidan con el patrón:
grep -w "es" datos.txt
Linux es un sistema operativo de código abierto.
- Opción
-E, --extended-regexp
: Interpreta el patrón como una expresión regular extendida:
Supongamos que queremos buscar todas las líneas que contienen «Linux» o «Ubuntu»:
grep -E "Linux|Ubuntu" datos.txt
Linux es un sistema operativo de código abierto.
El ecosistema de Linux incluye una gran variedad de distribuciones como Ubuntu, CentOS, y Fedora.
Estos ejemplos ilustran cómo cada opción del comando grep puede ser utilizada de manera práctica para buscar y filtrar información en archivos de texto en un sistema Unix o Linux.
El comando grep con su amplia gama de opciones te permite adaptar las búsquedas según las necesidades específicas del usuario. Al familiarizarse con las opciones y ejemplos proporcionados en esta guía, los usuarios pueden aprovechar al máximo las capacidades de grep para buscar y filtrar información de manera eficiente.
Fuentes:
https://www.ochobitshacenunbyte.com/2021/11/10/filtros-en-linux/
https://nosololinux.es/guia-completa-del-comando-grep-en-linux/
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.