{"id":427,"date":"2025-03-24T19:33:53","date_gmt":"2025-03-24T18:33:53","guid":{"rendered":"https:\/\/cienciaytecnology.com\/wordpress\/?p=427"},"modified":"2025-03-25T11:18:39","modified_gmt":"2025-03-25T10:18:39","slug":"utilidades-linux","status":"publish","type":"post","link":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/","title":{"rendered":"Utilidades Linux"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Bat<\/h3>\n\n\n\n<p>batcat (a menudo conocido simplemente como bat) es una alternativa mejorada al comando cat en Linux. Es una herramienta que no solo permite mostrar el contenido de archivos, como cat, sino que a\u00f1ade caracter\u00edsticas \u00fatiles como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resaltado de sintaxis para archivos de c\u00f3digo fuente u otros tipos de archivo reconocidos.<\/li>\n\n\n\n<li>Numeraci\u00f3n de l\u00edneas, muy \u00fatil para revisar archivos largos.<\/li>\n\n\n\n<li>Integraci\u00f3n con Git, mostrando cambios en el archivo si forma parte de un repositorio.<\/li>\n\n\n\n<li>Funcionalidades adicionales como dividir la salida en p\u00e1ginas cuando el archivo es muy largo (similar a less).<\/li>\n<\/ul>\n\n\n\n<p>En resumen, batcat combina las funcionalidades de cat con mejoras visuales y de usabilidad que hacen m\u00e1s f\u00e1cil trabajar con archivos en la terminal.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">C\u00f3mo instalar batcat:<\/h4>\n\n\n\n<p>En sistemas basados en Debian\/Ubuntu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nsudo apt update\nsudo apt install bat<\/code><\/pre>\n\n\n\n<p><br>En algunas distribuciones puede estar disponible como batcat. Si lo instalas as\u00ed, el ejecutable ser\u00e1 batcat en lugar de bat.<\/p>\n\n\n\n<p>En sistemas basados en Fedora:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nsudo dnf install bat<\/code><\/pre>\n\n\n\n<p><br>En Arch Linux (y derivadas como Manjaro):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nsudo pacman -S bat<\/code><\/pre>\n\n\n\n<p><br>Usando Snap: Si tu sistema soporta Snap, tambi\u00e9n puedes instalarlo con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nsudo snap install bat\n<\/code><\/pre>\n\n\n\n<p>Usando Homebrew: Si tienes instalado Homebrew en Linux:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nbrew install bat\n<\/code><\/pre>\n\n\n\n<p>Una vez instalado, puedes comenzar a usarlo simplemente reemplazando cat por bat o batcat, por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nbat archivo.txt<\/code><\/pre>\n\n\n\n<p><br>Si quieres explorar m\u00e1s de sus funciones, puedes ejecutar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>bat --help<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Paginador de bat:<\/h4>\n\n\n\n<p>Por defecto, <code>batcat<\/code> utiliza un paginador como <code>less<\/code> para manejar archivos extensos. Este paginador es interactivo y te permite realizar varias acciones desde esos dos puntos (<code>:<\/code>) al estilo de Vim. Aqu\u00ed te dejo las opciones principales que puedes usar:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comandos b\u00e1sicos en el paginador:<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Moverse por el archivo<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Espacio<\/strong>: Avanzar una p\u00e1gina.<\/li>\n\n\n\n<li><strong>Enter<\/strong>: Avanzar una l\u00ednea.<\/li>\n\n\n\n<li><strong>b<\/strong>: Retroceder una p\u00e1gina.<\/li>\n\n\n\n<li><strong>g<\/strong>: Ir al principio del archivo.<\/li>\n\n\n\n<li><strong>G<\/strong>: Ir al final del archivo.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Buscar texto<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>\/<\/strong>: Iniciar una b\u00fasqueda (escribe el texto que quieres buscar y presiona Enter).<\/li>\n\n\n\n<li><strong>n<\/strong>: Ir a la siguiente coincidencia en la b\u00fasqueda.<\/li>\n\n\n\n<li><strong>N<\/strong>: Ir a la coincidencia anterior.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Opciones adicionales<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>q<\/strong>: Salir del paginador y regresar al terminal.<\/li>\n\n\n\n<li><strong>h<\/strong>: Mostrar ayuda sobre los comandos del paginador.<\/li>\n\n\n\n<li><strong>&amp;<\/strong>: Filtrar l\u00edneas que coincidan con un patr\u00f3n (similar al uso de grep).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cambiar modos de visualizaci\u00f3n<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>F<\/strong>: Activar seguimiento en tiempo real, \u00fatil para ver c\u00f3mo se actualiza el archivo en vivo (similar al comando <code>tail -f<\/code>).<\/li>\n\n\n\n<li><strong>v<\/strong>: Abrir el archivo en Vim directamente desde el paginador.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Configuraci\u00f3n adicional:<\/h3>\n\n\n\n<p>Si prefieres que <code>batcat<\/code> muestre el contenido sin usar el paginador (especialmente \u00fatil para archivos peque\u00f1os), puedes desactivar esta funci\u00f3n usando el siguiente comando:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>batcat --paging=never archivo.txt\n<\/code><\/pre>\n\n\n\n<p>Por otro lado, si quieres personalizar el paginador (por ejemplo, usar <code>more<\/code> en lugar de <code>less<\/code>), puedes configurar una variable de entorno en tu terminal:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export BAT_PAGER=\"more\"\n<\/code><\/pre>\n\n\n\n<p>Luego, agrega esta l\u00ednea en tu archivo <code>~\/.bashrc<\/code> o <code>~\/.zshrc<\/code> para que sea permanente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Xclip<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u00bfQu\u00e9 es xclip?<\/h4>\n\n\n\n<p><br>xclip es una utilidad de l\u00ednea de comandos en Linux que permite interactuar con el portapapeles del sistema. Con xclip, puedes copiar y pegar texto desde la terminal hacia cualquier aplicaci\u00f3n gr\u00e1fica, o viceversa.<\/p>\n\n\n\n<p><strong>Desglose del comando xclip -selection clipboard<\/strong><br>-selection: Este par\u00e1metro especifica qu\u00e9 \u00abselecci\u00f3n\u00bb del portapapeles se utilizar\u00e1. En los sistemas gr\u00e1ficos de Linux (especialmente los basados en X11), existen diferentes \u00abselecciones\u00bb para interactuar con el portapapeles:<\/p>\n\n\n\n<p>primary: Es la selecci\u00f3n primaria, que se genera autom\u00e1ticamente cuando seleccionas texto con el rat\u00f3n. Puedes pegar el texto seleccionado presionando el bot\u00f3n central del rat\u00f3n.<\/p>\n\n\n\n<p>secondary: Se utiliza raramente, ya que no tiene un prop\u00f3sito claro en la mayor\u00eda de los sistemas.<\/p>\n\n\n\n<p>clipboard: Es la selecci\u00f3n m\u00e1s com\u00fan y la que usamos cuando copiamos texto con Ctrl+C y lo pegamos con Ctrl+V. Este es el portapapeles tradicional.<\/p>\n\n\n\n<p>En el comando que diste (-selection clipboard), est\u00e1s especificando que el texto debe copiarse al portapapeles est\u00e1ndar del sistema.<\/p>\n\n\n\n<p>clipboard: Es el valor que se pasa al par\u00e1metro -selection para indicar que quieres trabajar con el portapapeles convencional (el que usas con Ctrl+C y Ctrl+V).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">C\u00f3mo usar xclip una vez instalado<\/h4>\n\n\n\n<p><br>Aqu\u00ed te explico los usos m\u00e1s comunes de xclip:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Copiar texto al portapapeles<br>Puedes usar xclip para copiar texto desde la terminal. Por ejemplo:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\necho \"Hola, mundo\" | xclip -selection clipboard\n<\/code><\/pre>\n\n\n\n<p>Esto copia la cadena \u00abHola, mundo\u00bb al portapapeles. Luego puedes pegarla en cualquier aplicaci\u00f3n gr\u00e1fica con Ctrl+V.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Pegar texto desde el portapapeles al terminal<br>Si tienes algo copiado en el portapapeles, puedes pegarlo en la terminal utilizando este comando:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nxclip -selection clipboard -o<\/code><\/pre>\n\n\n\n<p><br>El par\u00e1metro -o indica que quieres \u00aboutput\u00bb (salida) del texto almacenado en el portapapeles.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Copiar contenido de un archivo<br>Si quieres copiar el contenido completo de un archivo al portapapeles:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>xclip -selection clipboard &lt; archivo.txt<\/code><\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Guardar contenido del portapapeles en un archivo<br>Puedes guardar el contenido del portapapeles en un archivo as\u00ed:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nxclip -selection clipboard -o &gt; salida.txt\n<\/code><\/pre>\n\n\n\n<p>Comandos pr\u00e1cticos<br>Ver ayuda completa de xclip:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash\nxclip --help\n<\/code><\/pre>\n\n\n\n<p>Consultar m\u00e1s ejemplos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>man xclip<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Comando tr<\/h3>\n\n\n\n<p><br><strong>tr<\/strong> significa translate (traducir). Es una utilidad para traducir, eliminar o comprimir caracteres en un texto o flujo de datos de entrada (usualmente canalizado). Trabaja solo sobre la entrada est\u00e1ndar (stdin) y env\u00eda el resultado a la salida est\u00e1ndar (stdout).<\/p>\n\n\n\n<p><strong>Sintaxis b\u00e1sica<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nbash\ntr &#91;opciones] SET1 &#91;SET2]<\/code><\/pre>\n\n\n\n<p><br>SET1: El conjunto de caracteres que se quiere buscar.<\/p>\n\n\n\n<p>SET2: El conjunto de caracteres a los que se quiere traducir.<\/p>\n\n\n\n<p><strong>Opciones comunes<\/strong><br>-d: Elimina caracteres especificados en SET1.<\/p>\n\n\n\n<p>-s: Suprime (comprime) m\u00faltiples ocurrencias de un car\u00e1cter consecutivo en uno solo.<\/p>\n\n\n\n<p>-c: Utiliza el complemento de SET1 (todos los caracteres que no est\u00e1n en SET1).<\/p>\n\n\n\n<p>Ejemplos pr\u00e1cticos:<br>Reemplazar caracteres: Cambiar todas las letras min\u00fasculas por may\u00fasculas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>echo \"hola mundo\" | tr 'a-z' 'A-Z'<\/code><\/pre>\n\n\n\n<p>Resultado: HOLA MUNDO<\/p>\n\n\n\n<p><strong>Eliminar caracteres: <\/strong>Eliminar todas las vocales:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>echo \"hola mundo\" | tr -d 'aeiou'<\/code><\/pre>\n\n\n\n<p>Resultado: hl mnd<\/p>\n\n\n\n<p><strong>Comprimir repeticiones: <\/strong>Comprimir m\u00faltiples espacios en uno solo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>echo \"hola mundo\" | tr -s ' '<\/code><\/pre>\n\n\n\n<p>Resultado: hola mundo<\/p>\n\n\n\n<p><strong>Trabajar con el complemento: <\/strong>Eliminar todo excepto d\u00edgitos (0-9):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash<br>echo \"hola 123 mundo\" | tr -cd '0-9'<\/code><\/pre>\n\n\n\n<p>Resultado: 123<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>El comando <\/strong><code>xargs<\/code><\/h3>\n\n\n\n<p><code>xargs<\/code> es una herramienta que toma un flujo de datos de entrada (por ejemplo, l\u00edneas, palabras o cualquier texto) y lo pasa como argumentos a otro comando. Se utiliza cuando necesitas procesar un conjunto de elementos con un comando que no acepta entrada est\u00e1ndar directamente.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Sintaxis b\u00e1sica<\/strong><\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>xargs &#91;opciones] &#91;comando]\n<\/code><\/pre>\n\n\n\n<p>Por defecto, <code>xargs<\/code> usa <code>echo<\/code> como comando si no se especifica otro.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Opciones comunes<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-n N<\/code>: Procesa un m\u00e1ximo de <code>N<\/code> elementos por cada ejecuci\u00f3n del comando.<\/li>\n\n\n\n<li><code>-d DELIM<\/code>: Especifica un delimitador personalizado para dividir la entrada.<\/li>\n\n\n\n<li><code>-p<\/code>: Pregunta antes de ejecutar cada comando.<\/li>\n\n\n\n<li><code>-I REPLACE_STRING<\/code>: Reemplaza una cadena en el comando con cada elemento de entrada.<\/li>\n\n\n\n<li><code>--null<\/code><strong> o <\/strong><code>-0<\/code>: Procesa entradas delimitadas por un car\u00e1cter nulo (\u00fatil con <code>find -print0<\/code>).<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Ejemplos pr\u00e1cticos<\/strong>:<\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Pasar entrada est\u00e1ndar como argumentos<\/strong>: Imagina que tienes una lista de archivos y quieres eliminarlos:bash<code>echo \"archivo1 archivo2 archivo3\" | xargs rm # Se ejecuta como: rm archivo1 archivo2 archivo3<\/code><\/li>\n\n\n\n<li><strong>Controlar la cantidad de argumentos por ejecuci\u00f3n<\/strong>: Imprime dos palabras por ejecuci\u00f3n del comando <code>echo<\/code>:bash<code>echo \"uno dos tres cuatro\" | xargs -n 2 echo # Resultado: # uno dos # tres cuatro<\/code><\/li>\n\n\n\n<li><strong>Reemplazar en un comando<\/strong>: Utilizar <code>curl<\/code> para descargar URLs de una lista:bash<code>cat urls.txt | xargs -I {} curl -O {}<\/code><\/li>\n\n\n\n<li><strong>Trabajar con delimitadores nulos<\/strong>: Procesar archivos con nombres complejos (que contienen espacios):bash<code>find . -type f -print0 | xargs -0 rm<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Comando Find<br><\/h3>\n\n\n\n<p>El comando <code>find<\/code> de Linux es una herramienta poderosa para buscar archivos y directorios en el sistema basado en criterios espec\u00edficos. Con \u00e9l, puedes realizar b\u00fasquedas complejas y combinarlas con otros comandos para maximizar su utilidad. Aqu\u00ed tienes una explicaci\u00f3n exhaustiva de todas sus posibilidades, con ejemplos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sintaxis b\u00e1sica<\/strong><\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find &#91;ruta] &#91;condiciones] &#91;acciones]\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ruta<\/code>: Especifica el directorio en el que realizar la b\u00fasqueda. Puede ser un directorio espec\u00edfico o el actual (<code>.<\/code>).<\/li>\n\n\n\n<li><code>condiciones<\/code>: Define los criterios para filtrar resultados (nombre, tama\u00f1o, tipo, etc.).<\/li>\n\n\n\n<li><code>acciones<\/code>: Indica qu\u00e9 hacer con los resultados encontrados (como imprimirlos, eliminarlos o ejecutarlos).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Par\u00e1metros principales<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. <strong>Buscar por nombre<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exacto<\/strong>:bash<code>find \/ruta -name \"archivo.txt\" <\/code>Busca archivos con el nombre exacto \u00abarchivo.txt\u00bb.<\/li>\n\n\n\n<li><strong>Ignorar may\u00fasculas\/min\u00fasculas<\/strong>:bash<code>find \/ruta -iname \"archivo.txt\"<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. <strong>Buscar por tipo<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Archivos normales<\/strong>:bash<code>find \/ruta -type f<\/code><\/li>\n\n\n\n<li><strong>Directorios<\/strong>:bash<code>find \/ruta -type d<\/code><\/li>\n\n\n\n<li><strong>Enlaces simb\u00f3licos<\/strong>:bash<code>find \/ruta -type l<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">3. <strong>Buscar por tama\u00f1o<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mayor que<\/strong>:bash<code>find \/ruta -size +100M <\/code>Archivos mayores a 100 MB.<\/li>\n\n\n\n<li><strong>Menor que<\/strong>:bash<code>find \/ruta -size -1k <\/code>Archivos menores a 1 KB.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4. <strong>Buscar por tiempo<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Archivos modificados hace X d\u00edas<\/strong>:bash<code>find \/ruta -mtime -7 <\/code>Archivos modificados en los \u00faltimos 7 d\u00edas.<\/li>\n\n\n\n<li><strong>Archivos creados hace X minutos<\/strong>:bash<code>find \/ruta -mmin -30 <\/code>Archivos modificados en los \u00faltimos 30 minutos.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5. <strong>Buscar por permisos<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Archivos con permisos espec\u00edficos<\/strong>:bash<code>find \/ruta -perm 644<\/code><\/li>\n\n\n\n<li><strong>Archivos que cumplen parcialmente los permisos<\/strong>:bash<code>find \/ruta -perm \/u=w <\/code>Archivos donde el usuario tiene permiso de escritura.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">6. <strong>Buscar por propietario o grupo<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Por usuario<\/strong>:bash<code>find \/ruta -user nombre_usuario<\/code><\/li>\n\n\n\n<li><strong>Por grupo<\/strong>:bash<code>find \/ruta -group nombre_grupo<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">7. <strong>Buscar por contenido<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Buscar archivos que contengan texto espec\u00edfico dentro:bash<code>find \/ruta -type f -exec grep -l \"texto\" {} + <\/code>Encuentra archivos que contienen \u00abtexto\u00bb.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Acciones<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. <strong>Imprimir resultados<\/strong><\/h4>\n\n\n\n<p>Por defecto, <code>find<\/code> imprime los resultados, pero puedes usar:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -name \"archivo.txt\" -print\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2. <strong>Ejecutar comandos sobre los resultados<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Eliminar archivos<\/strong>:bash<code>find \/ruta -name \"*.log\" -exec rm {} \\;<\/code><\/li>\n\n\n\n<li><strong>Mover archivos<\/strong>:bash<code>find \/ruta -name \"*.txt\" -exec mv {} \/nuevo\/directorio\/ \\;<\/code><\/li>\n\n\n\n<li><strong>Cambiar permisos<\/strong>:bash<code>find \/ruta -type f -exec chmod 644 {} \\;<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">3. <strong>Acciones m\u00faltiples<\/strong><\/h4>\n\n\n\n<p>Puedes combinar acciones con <code>-exec<\/code> o usar <code>-ok<\/code> para confirmarlas:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -name \"*.bak\" -ok rm {} \\;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Buscar en m\u00faltiples directorios<\/strong><\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/dir1 \/dir2 -name \"*.txt\"\n<\/code><\/pre>\n\n\n\n<p>Busca archivos <code>.txt<\/code> en dos directorios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Buscar y excluir elementos<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Excluir directorios espec\u00edficos:<\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -name \"*.log\" -not -path \"\/ruta\/excluida\/*\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Excluir archivos por condiciones:<\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -type f ! -name \"*.txt\"\n<\/code><\/pre>\n\n\n\n<p>Encuentra todos los archivos excepto los <code>.txt<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Optimizaci\u00f3n con b\u00fasqueda paralela<\/strong><\/h3>\n\n\n\n<p>Con <code>find<\/code> puedes mejorar el rendimiento combin\u00e1ndolo con <code>xargs<\/code>:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -name \"*.log\" | xargs rm\n<\/code><\/pre>\n\n\n\n<p>Esto elimina archivos m\u00e1s r\u00e1pido que con <code>-exec<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Uso avanzado: buscar en sistemas grandes<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Buscar archivos y copiar:<\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -type f -name \"*.jpg\" -exec cp {} \/backup\/ \\;\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Crear un listado de archivos:<\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -type f &gt; lista_archivos.txt\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Buscar y comprimir archivos grandes:<\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ruta -size +500M -exec gzip {} \\;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ejemplos espec\u00edficos<\/strong><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Buscar y contar archivos de texto<\/strong>:bash<code>find \/ruta -name \"*.txt\" | wc -l<\/code><\/li>\n\n\n\n<li><strong>Encontrar archivos duplicados por nombre<\/strong>:bash<code>find \/ruta -type f -printf \"%f\\n\" | sort | uniq -d<\/code><\/li>\n\n\n\n<li><strong>Buscar archivos antiguos y eliminarlos<\/strong>:bash<code>find \/ruta -type f -mtime +30 -exec rm {} \\;<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Integraci\u00f3n con scripts<\/strong><\/h3>\n\n\n\n<p>Puedes usar <code>find<\/code> en scripts para automatizar tareas. Ejemplo:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\nfind \/ruta -name \"*.log\" -mtime +7 -exec rm {} \\;\necho \"Archivos antiguos eliminados.\"\n<\/code><\/pre>\n\n\n\n<p><code>find<\/code> es una herramienta extremadamente vers\u00e1til y poderosa, ideal para administrar sistemas, limpiar archivos antiguos, y mucho m\u00e1s.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comando Grep<\/h2>\n\n\n\n<p>El comando <code>grep<\/code> es una poderosa herramienta en Linux\/Unix que se utiliza para buscar patrones de texto dentro de archivos o en la entrada est\u00e1ndar. Su nombre viene de \u00abGlobal Regular Expression Print\u00bb. A continuaci\u00f3n, te explico c\u00f3mo funciona y cu\u00e1les son sus par\u00e1metros m\u00e1s \u00fatiles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sintaxis b\u00e1sica<\/strong><\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep &#91;opciones] 'patr\u00f3n' archivo(s)\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>patr\u00f3n<\/code>: Es el texto o expresi\u00f3n regular que deseas buscar.<\/li>\n\n\n\n<li><code>archivo(s)<\/code>: Son los archivos donde deseas realizar la b\u00fasqueda. Si no se especifica, <code>grep<\/code> buscar\u00e1 en la entrada est\u00e1ndar.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Opciones comunes de <\/strong><code>grep<\/code><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><code>-i<\/code>: Ignora may\u00fasculas y min\u00fasculas durante la b\u00fasqueda.bash<code>grep -i 'hola' archivo.txt # Encuentra \"hola\", \"Hola\", \"HOLA\", etc.<\/code><\/li>\n\n\n\n<li>**<code>-r<\/code> o <code>-R<\/code>: Realiza una b\u00fasqueda recursiva en subdirectorios.bash<code>grep -r 'error' \/var\/log<\/code><\/li>\n\n\n\n<li><code>-v<\/code>: Muestra las l\u00edneas que <strong>no<\/strong> coinciden con el patr\u00f3n.bash<code>grep -v 'fallo' archivo.txt<\/code><\/li>\n\n\n\n<li><code>-c<\/code>: Muestra el n\u00famero de l\u00edneas que coinciden con el patr\u00f3n en lugar del contenido de las l\u00edneas.bash<code>grep -c 'usuario' archivo.txt<\/code><\/li>\n\n\n\n<li><code>-l<\/code>: Lista los nombres de los archivos que contienen el patr\u00f3n, sin mostrar el contenido.bash<code>grep -l 'main' *.c<\/code><\/li>\n\n\n\n<li><code>-n<\/code>: Muestra el n\u00famero de l\u00ednea de cada coincidencia.bash<code>grep -n 'import' script.py<\/code><\/li>\n\n\n\n<li><code>-w<\/code>: Busca coincidencias exactas de palabras (no como parte de otras).bash<code>grep -w 'echo' archivo.txt<\/code><\/li>\n\n\n\n<li><code>-A N<\/code><strong> y <\/strong><code>-B N<\/code>: Muestra l\u00edneas adicionales antes o despu\u00e9s de una coincidencia:<ul><li><code>-A N<\/code>: Muestra <code>N<\/code> l\u00edneas despu\u00e9s de la coincidencia.<\/li><li><code>-B N<\/code>: Muestra <code>N<\/code> l\u00edneas antes de la coincidencia.<\/li><li><code>-C N<\/code>: Muestra <code>N<\/code> l\u00edneas antes y despu\u00e9s de la coincidencia.<\/li><\/ul>bash<code>grep -A 2 'error' archivo.log<\/code><\/li>\n\n\n\n<li><code>-e<\/code>: Permite especificar m\u00faltiples patrones de b\u00fasqueda.bash<code>grep -e 'error' -e 'warning' archivo.txt<\/code><\/li>\n\n\n\n<li><code>-f<\/code>: Permite leer los patrones de un archivo.bash<code>grep -f patrones.txt archivo.txt<\/code><\/li>\n\n\n\n<li><code>--color<\/code>: Resalta las coincidencias del patr\u00f3n en el resultado (en muchos sistemas ya es la opci\u00f3n predeterminada).bash<code>grep --color 'error' archivo.txt<\/code><\/li>\n\n\n\n<li><code>-P<\/code>: Activa el uso de expresiones regulares de Perl (Perl-Compatible Regular Expressions, PCREs).bash<code>grep -P '\\d{3}-\\d{2}-\\d{4}' archivo.txt # Busca patrones como n\u00fameros de tel\u00e9fono o formatos espec\u00edficos.<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ejemplos pr\u00e1cticos<\/strong><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Buscar un texto espec\u00edfico dentro de un archivo<\/strong>:bash<code>grep 'error' \/var\/log\/syslog<\/code><\/li>\n\n\n\n<li><strong>Buscar un texto en varios archivos al mismo tiempo<\/strong>:bash<code>grep 'TODO' *.py<\/code><\/li>\n\n\n\n<li><strong>Hacer una b\u00fasqueda insensible a may\u00fasculas\/min\u00fasculas<\/strong>:bash<code>grep -i 'usuario' usuarios.txt<\/code><\/li>\n\n\n\n<li><strong>Contar l\u00edneas que coincidan con un patr\u00f3n<\/strong>:bash<code>grep -c 'DEBUG' log.txt<\/code><\/li>\n\n\n\n<li><strong>Ver nombres de archivos con coincidencias<\/strong>:bash<code>grep -l 'password' *.conf<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expresiones regulares en <\/strong><code>grep<\/code><\/h3>\n\n\n\n<p><code>grep<\/code> admite expresiones regulares b\u00e1sicas y extendidas (con la opci\u00f3n <code>-E<\/code>). Algunos ejemplos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Patr\u00f3n simple<\/strong>: <code>grep 'abc' archivo.txt<\/code> busca la cadena \u00ababc\u00bb.<\/li>\n\n\n\n<li><strong>Comod\u00edn<\/strong>: <code>grep 'a.c' archivo.txt<\/code> busca \u00aba*c\u00bb, donde <code>.<\/code> puede ser cualquier car\u00e1cter.<\/li>\n\n\n\n<li><strong>Inicio de l\u00ednea<\/strong>: <code>grep '^abc' archivo.txt<\/code> busca l\u00edneas que comiencen con \u00ababc\u00bb.<\/li>\n\n\n\n<li><strong>Fin de l\u00ednea<\/strong>: <code>grep 'abc$' archivo.txt<\/code> busca l\u00edneas que terminen con \u00ababc\u00bb.<\/li>\n<\/ul>\n\n\n\n<p>Entender las <strong>expresiones regulares<\/strong> (regex) te abrir\u00e1 un universo de posibilidades para trabajar con texto en Bash y en muchas otras herramientas. Primero, te explicar\u00e9 qu\u00e9 son las expresiones regulares b\u00e1sicas y extendidas, luego cu\u00e1ndo usar la opci\u00f3n <code>-E<\/code> y, finalmente, una gu\u00eda completa sobre las expresiones regulares en general.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expresiones Regulares B\u00e1sicas y Extendidas<\/strong><\/h3>\n\n\n\n<p>Las expresiones regulares son patrones que se usan para buscar, coincidir y manipular texto. En Bash, los comandos como <code>grep<\/code>, <code>sed<\/code> y <code>awk<\/code> pueden usar expresiones regulares.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Expresiones Regulares B\u00e1sicas (BRE &#8211; Basic Regular Expressions):<\/strong><ul><li>Son compatibles por defecto con herramientas como <code>grep<\/code> (sin la opci\u00f3n <code>-E<\/code>).<\/li><li>Para usar caracteres especiales (metacaracteres), a menudo necesitas escaparlos con una barra invertida (<code>\\<\/code>).<\/li><li>Ejemplo de metacaracteres b\u00e1sicos en BRE:<ul><li><code>.<\/code>: Representa cualquier car\u00e1cter.<\/li><li><code>*<\/code>: Cero o m\u00e1s repeticiones del car\u00e1cter anterior.<\/li><li><code>^<\/code>: Coincide con el inicio de una l\u00ednea.<\/li><li><code>$<\/code>: Coincide con el final de una l\u00ednea.<\/li><\/ul><\/li><\/ul><strong>Ejemplo en <\/strong><code>grep<\/code>:bash<code>echo \"abc\" | grep \"a.c\" # Coincide con \"abc\" porque \".\" representa cualquier car\u00e1cter. <\/code>Para buscar, por ejemplo, \u00aba\\*\u00bb literalmente (en lugar de \u00abcero o m\u00e1s a\u00bb):bash<code>echo \"a*\" | grep \"a\\*\"<\/code><\/li>\n\n\n\n<li><strong>Expresiones Regulares Extendidas (ERE &#8211; Extended Regular Expressions):<\/strong><ul><li>Son m\u00e1s potentes y f\u00e1ciles de usar porque no necesitas escapar muchos caracteres especiales.<\/li><li>Para habilitar ERE en <code>grep<\/code>, necesitas usar la opci\u00f3n <code>-E<\/code> (o usar el comando <code>egrep<\/code>, que es equivalente a <code>grep -E<\/code>).<\/li><li>Incluyen m\u00e1s metacaracteres:<ul><li><code>+<\/code>: Una o m\u00e1s repeticiones del car\u00e1cter anterior.<\/li><li><code>?<\/code>: Cero o una repetici\u00f3n del car\u00e1cter anterior.<\/li><li><code>|<\/code>: Operador \u00abo\u00bb (OR).<\/li><li><code>()<\/code>: Agrupaci\u00f3n (no es necesario escaparlos como en BRE).<\/li><\/ul><\/li><\/ul><strong>Ejemplo en <\/strong><code>grep -E<\/code>:bash<code>echo \"abc\" | grep -E \"a(b|c)\" # Coincide con \"ab\" o \"ac\". <\/code>Sin <code>-E<\/code> tendr\u00edas que escapar ciertos metacaracteres:bash<code>echo \"abc\" | grep \"a\\(b\\|c\\)\"<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00bfCu\u00e1ndo usar <\/strong><code>grep -E<\/code><strong> (ERE)?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Usa <code>-E<\/code> cuando trabajes con patrones m\u00e1s complejos que incluyan metacaracteres como <code>+<\/code>, <code>?<\/code>, <code>|<\/code> o agrupaciones con <code>()<\/code>.<\/li>\n\n\n\n<li>Si necesitas escribir patrones simples, las expresiones regulares b\u00e1sicas (BRE) pueden ser suficientes.<\/li>\n\n\n\n<li>En resumen:\n<ul class=\"wp-block-list\">\n<li>BRE: B\u00fasquedas simples (menos necesidad de metacaracteres avanzados).<\/li>\n\n\n\n<li>ERE: Cuando necesitas patrones avanzados y quieres evitar escapar demasiados metacaracteres.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Gu\u00eda Completa de Expresiones Regulares<\/strong><\/h3>\n\n\n\n<p>Aqu\u00ed tienes un desglose de los principales metacaracteres y c\u00f3mo utilizarlos:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. Caracteres b\u00e1sicos<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>.<\/code>: Coincide con cualquier car\u00e1cter (excepto saltos de l\u00ednea).bash<code>echo \"cat\" | grep \"c.t\" # Coincide con \"cat\", \"cot\", \"cut\", etc.<\/code><\/li>\n\n\n\n<li><code>[ ]<\/code>: Coincide con cualquier car\u00e1cter dentro del rango especificado.bash<code>echo \"cat\" | grep \"c[aou]t\" # Coincide con \"cat\", \"cot\" o \"cut\".<\/code><\/li>\n\n\n\n<li><code>[^ ]<\/code>: Coincide con cualquier car\u00e1cter que NO est\u00e9 en el rango.bash<code>echo \"cat\" | grep \"c[^aeiou]t\" # No coincidir\u00eda con \"cat\".<\/code><\/li>\n\n\n\n<li><code>^<\/code>: Coincide con el inicio de una l\u00ednea.bash<code>echo \"hello world\" | grep \"^hello\" # Coincide porque \"hello\" est\u00e1 al inicio de la l\u00ednea.<\/code><\/li>\n\n\n\n<li><code>$<\/code>: Coincide con el final de una l\u00ednea.bash<code>echo \"hello world\" | grep \"world$\" # Coincide porque \"world\" est\u00e1 al final de la l\u00ednea.<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. Cuantificadores<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>*<\/code>: Cero o m\u00e1s repeticiones del car\u00e1cter anterior.bash<code>echo \"aaa\" | grep \"a*\" # Coincide con \"aaa\", \"aa\", \"a\" o incluso una l\u00ednea vac\u00eda.<\/code><\/li>\n\n\n\n<li><code>+<\/code> (ERE): Una o m\u00e1s repeticiones.bash<code>echo \"aaa\" | grep -E \"a+\" # Coincide con \"aaa\", \"aa\", \"a\".<\/code><\/li>\n\n\n\n<li><code>?<\/code> (ERE): Cero o una repetici\u00f3n.bash<code>echo \"color\" | grep -E \"colou?r\" # Coincide con \"color\" y \"colour\".<\/code><\/li>\n\n\n\n<li><code>{n,m}<\/code>: Entre <code>n<\/code> y <code>m<\/code> repeticiones.bash<code>echo \"aaa\" | grep -E \"a{2,3}\" # Coincide con \"aa\" o \"aaa\".<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. Agrupaci\u00f3n y alternativas<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>()<\/code> (ERE): Agrupa expresiones.bash<code>echo \"cat\" | grep -E \"(cat|dog)\" # Coincide con \"cat\" o \"dog\".<\/code><\/li>\n\n\n\n<li><code>|<\/code> (ERE): Operador OR.bash<code>echo \"cat\" | grep -E \"cat|dog\" # Coincide con \"cat\" o \"dog\".<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. Escapado (<\/strong><code>\\<\/code><strong>)<\/strong><\/h4>\n\n\n\n<p>Escapa metacaracteres para tratarlos como texto literal.<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"1+1=2\" | grep \"1\\+1\"\n# Coincide con \"1+1\".\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ejemplos pr\u00e1cticos en otros comandos<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>sed<\/code> (Stream Editor): Reemplaza \u00abfoo\u00bb por \u00abbar\u00bb:bash<code>echo \"foo\" | sed 's\/foo\/bar\/'<\/code><\/li>\n\n\n\n<li><code>awk<\/code>: Imprime l\u00edneas que contienen un n\u00famero:bash<code>echo \"line 1\\nline 2\" | awk '\/[0-9]\/'<\/code><\/li>\n<\/ul>\n\n\n\n<p>Las expresiones regulares son fundamentales en Bash y muchas otras herramientas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comando Sed<\/h3>\n\n\n\n<p>El comando <code>sed<\/code> (Stream Editor) en Linux es una herramienta poderosa para procesar y transformar texto. Se utiliza para buscar, reemplazar, insertar o eliminar texto en archivos o flujos de datos sin necesidad de abrirlos en un editor. Aqu\u00ed tienes una explicaci\u00f3n detallada:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sintaxis b\u00e1sica<\/strong><\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sed &#91;opciones] 'comando' archivo\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>opciones<\/code>: Modifican el comportamiento de <code>sed<\/code>.<\/li>\n\n\n\n<li><code>comando<\/code>: Define la operaci\u00f3n a realizar.<\/li>\n\n\n\n<li><code>archivo<\/code>: Es el archivo de texto sobre el que se aplicar\u00e1 el comando.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Opciones comunes<\/strong><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><code>-n<\/code>: Suprime la salida est\u00e1ndar, mostrando solo lo que se especifica con el comando <code>p<\/code>.<\/li>\n\n\n\n<li><code>-e<\/code>: Permite ejecutar m\u00faltiples comandos.<\/li>\n\n\n\n<li><code>-f<\/code>: Lee comandos desde un archivo.<\/li>\n\n\n\n<li><code>-i<\/code>: Edita el archivo original directamente (modo in-place).<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comandos b\u00e1sicos<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>s\/patr\u00f3n\/reemplazo\/<\/code>: Sustituye el <code>patr\u00f3n<\/code> por el <code>reemplazo<\/code>.<\/li>\n\n\n\n<li><code>d<\/code>: Elimina l\u00edneas.<\/li>\n\n\n\n<li><code>p<\/code>: Imprime l\u00edneas.<\/li>\n\n\n\n<li><code>a\\ texto<\/code>: A\u00f1ade texto despu\u00e9s de una l\u00ednea.<\/li>\n\n\n\n<li><code>i\\ texto<\/code>: Inserta texto antes de una l\u00ednea.<\/li>\n\n\n\n<li><code>c\\ texto<\/code>: Reemplaza una l\u00ednea completa con texto.<\/li>\n\n\n\n<li><code>q<\/code>: Finaliza la ejecuci\u00f3n despu\u00e9s de una l\u00ednea espec\u00edfica.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ejemplos pr\u00e1cticos<\/strong><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Reemplazar texto en un archivo<\/strong>:bash<code>sed 's\/hola\/adi\u00f3s\/' archivo.txt <\/code>Cambia la primera aparici\u00f3n de \u00abhola\u00bb por \u00abadi\u00f3s\u00bb en cada l\u00ednea.<\/li>\n\n\n\n<li><strong>Reemplazo global<\/strong>:bash<code>sed 's\/hola\/adi\u00f3s\/g' archivo.txt <\/code>Cambia todas las apariciones de \u00abhola\u00bb por \u00abadi\u00f3s\u00bb.<\/li>\n\n\n\n<li><strong>Eliminar l\u00edneas espec\u00edficas<\/strong>:bash<code>sed '3d' archivo.txt <\/code>Elimina la l\u00ednea 3 del archivo.<\/li>\n\n\n\n<li><strong>Imprimir l\u00edneas espec\u00edficas<\/strong>:bash<code>sed -n '2,4p' archivo.txt <\/code>Muestra solo las l\u00edneas 2 a 4.<\/li>\n\n\n\n<li><strong>Insertar texto<\/strong>:bash<code>sed '2a\\ Este es un texto nuevo' archivo.txt <\/code>A\u00f1ade \u00abEste es un texto nuevo\u00bb despu\u00e9s de la l\u00ednea 2.<\/li>\n\n\n\n<li><strong>Editar directamente el archivo<\/strong>:bash<code>sed -i 's\/hola\/adi\u00f3s\/' archivo.txt <\/code>Realiza los cambios directamente en el archivo.<\/li>\n\n\n\n<li><strong>Eliminar l\u00edneas vac\u00edas<\/strong>:bash<code>sed '\/^$\/d' archivo.txt <\/code>Borra todas las l\u00edneas vac\u00edas.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Uso avanzado<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Expresiones regulares<\/strong>: <code>sed<\/code> soporta patrones complejos para b\u00fasquedas avanzadas.<\/li>\n\n\n\n<li><strong>Combinaci\u00f3n con tuber\u00edas<\/strong>:bash<code>cat archivo.txt | sed 's\/hola\/adi\u00f3s\/' <\/code>Procesa la salida de un comando anterior.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Comando awk<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Sumar valores de una columna<\/strong>:bash<code>awk '{suma += $2} END {print suma}' archivo.txt <\/code>Calcula la suma de los valores de la columna 2.<\/li>\n\n\n\n<li><strong>Imprimir el n\u00famero de campos por l\u00ednea<\/strong>:bash<code>awk '{print \"L\u00ednea:\", NR, \"Campos:\", NF}' archivo.txt<\/code><\/li>\n\n\n\n<li><strong>Reemplazar el separador de salida<\/strong>:bash<code>awk 'BEGIN {OFS=\"|\"} {print $1, $2}' archivo.txt <\/code>Cambia el separador de salida a <code>|<\/code>.<\/li>\n\n\n\n<li><strong>Usar variables definidas por el usuario<\/strong>:bash<code>awk -v umbral=50 '$2 &gt; umbral {print $1, $2}' archivo.txt <\/code>Solo imprime l\u00edneas donde la columna 2 sea mayor a 50.<\/li>\n\n\n\n<li><strong>Ejecutar m\u00faltiples comandos<\/strong>:bash<code>awk '{print $1; print $2}' archivo.txt<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Funciones integradas \u00fatiles<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>length($N)<\/code>: Calcula la longitud de un campo.<\/li>\n\n\n\n<li><code>tolower($N)<\/code> \/ <code>toupper($N)<\/code>: Convierte texto a min\u00fasculas o may\u00fasculas.<\/li>\n\n\n\n<li><code>substr($N, inicio, longitud)<\/code>: Extrae una subcadena.<\/li>\n<\/ul>\n\n\n\n<p>Por ejemplo:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>awk '{print substr($1, 1, 3)}' archivo.txt\n<\/code><\/pre>\n\n\n\n<p>Imprime los tres primeros caracteres del primer campo.<\/p>\n\n\n\n<p><code>awk<\/code> es incre\u00edblemente flexible y poderoso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Otras herramientas <\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\n<ul class=\"wp-block-list\">\n<li><code>uptime<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>top<\/code><strong> y <\/strong><code>htop<\/code>\n<ul class=\"wp-block-list\">\n<li>Monitorean el uso de recursos del sistema en tiempo real.<\/li>\n\n\n\n<li><code>top<\/code> es m\u00e1s b\u00e1sico, mientras que <code>htop<\/code> es m\u00e1s interactivo.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>netstat<\/code> \/ <code>ss<\/code>\n<ul class=\"wp-block-list\">\n<li>Monitorean conexiones de red activas, puertos abiertos y estad\u00edsticas.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>:bash<code>netstat -tuln<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>cron<\/code>\n<ul class=\"wp-block-list\">\n<li>Administra tareas programadas.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>: Editar el archivo crontab.bash<code>crontab -e<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>systemctl<\/code>\n<ul class=\"wp-block-list\">\n<li>Administra servicios en sistemas basados en systemd.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>:bash<code>systemctl status nginx<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comandos para seguridad<\/strong><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><code>chmod<\/code><strong> y <\/strong><code>chown<\/code>\n<ul class=\"wp-block-list\">\n<li><code>chmod<\/code>: Cambia los permisos de archivos.bash<code>chmod 755 archivo.sh<\/code><\/li>\n\n\n\n<li><code>chown<\/code>: Cambia el propietario de archivos.bash<code>chown usuario:grupo archivo.txt<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>iptables<\/code><strong> \/ <\/strong><code>ufw<\/code>\n<ul class=\"wp-block-list\">\n<li>Configuran reglas de cortafuegos.<\/li>\n\n\n\n<li><strong>Ejemplo (ufw)<\/strong>:bash<code>ufw allow 22<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>fail2ban<\/code>\n<ul class=\"wp-block-list\">\n<li>Detecta y bloquea direcciones IP sospechosas autom\u00e1ticamente.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>**<code>hash<\/code> y <code>sha256sum<\/code>\n<ul class=\"wp-block-list\">\n<li>Generan valores hash de archivos.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>:bash<code>sha256sum archivo.iso<\/code><\/li>\n\n\n\n<li>Verifica la integridad de archivos descargados.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>nmap<\/code>\n<ul class=\"wp-block-list\">\n<li>Escanea puertos abiertos y detecta servicios en redes.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>:bash<code>nmap -sV localhost<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>tcpdump<\/code>\n<ul class=\"wp-block-list\">\n<li>Captura tr\u00e1fico de red para an\u00e1lisis.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>:bash<code>tcpdump -i eth0<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>auditd<\/code>\n<ul class=\"wp-block-list\">\n<li>Monitorea eventos y cambios en el sistema para auditor\u00edas.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>gpg<\/code>\n<ul class=\"wp-block-list\">\n<li>Encripta y firma archivos.<\/li>\n\n\n\n<li><strong>Ejemplo<\/strong>:bash<code>gpg --encrypt --recipient usuario archivo.txt<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Estos son solo algunos ejemplos de comandos \u00fatiles. Linux es un universo lleno de herramientas para optimizar tareas, proteger sistemas y automatizar procesos.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bat batcat (a menudo conocido simplemente como bat) es una alternativa mejorada al comando cat en Linux. Es una herramienta que no solo permite mostrar el contenido de archivos, como cat, sino que a\u00f1ade caracter\u00edsticas \u00fatiles como: En resumen, batcat combina las funcionalidades de cat con mejoras visuales y de usabilidad que hacen m\u00e1s f\u00e1cil&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[63,61,60],"tags":[307,303,308,304,311,306,305,309,302,310],"class_list":["post-427","post","type-post","status-publish","format-standard","hentry","category-https-cienciaytecnology-com-wordpress-categoria-hacking","category-https-cienciaytecnology-com-wordpress-categoria-linux","category-programacion","tag-aplicacin","tag-copiar","tag-grfica","tag-pegar","tag-puedes-copiar","tag-terminal","tag-texto","tag-viceversa","tag-xclip","tag-xclip-puedes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Utilidades Linux - Ciencia y Tecnologia<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utilidades Linux - Ciencia y Tecnologia\" \/>\n<meta property=\"og:description\" content=\"Bat batcat (a menudo conocido simplemente como bat) es una alternativa mejorada al comando cat en Linux. Es una herramienta que no solo permite mostrar el contenido de archivos, como cat, sino que a\u00f1ade caracter\u00edsticas \u00fatiles como: En resumen, batcat combina las funcionalidades de cat con mejoras visuales y de usabilidad que hacen m\u00e1s f\u00e1cil...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"Ciencia y Tecnologia\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-24T18:33:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-25T10:18:39+00:00\" \/>\n<meta name=\"author\" content=\"david\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"david\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/\"},\"author\":{\"name\":\"david\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"headline\":\"Utilidades Linux\",\"datePublished\":\"2025-03-24T18:33:53+00:00\",\"dateModified\":\"2025-03-25T10:18:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/\"},\"wordCount\":2876,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"keywords\":[\"aplicaci\u00f3n\",\"copiar\",\"gr\u00e1fica\",\"pegar\",\"puedes copiar\",\"terminal\",\"texto\",\"viceversa\",\"xclip\",\"xclip puedes\"],\"articleSection\":[\"Hacking\",\"Linux\",\"Programacion\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/\",\"name\":\"Utilidades Linux - Ciencia y Tecnologia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#website\"},\"datePublished\":\"2025-03-24T18:33:53+00:00\",\"dateModified\":\"2025-03-25T10:18:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/utilidades-linux\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utilidades Linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/\",\"name\":\"Ciencia y Tecnologia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\",\"name\":\"david\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\",\"contentUrl\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"david\"},\"logo\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\"},\"sameAs\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\"],\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/author\\\/david\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Utilidades Linux - Ciencia y Tecnologia","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Utilidades Linux - Ciencia y Tecnologia","og_description":"Bat batcat (a menudo conocido simplemente como bat) es una alternativa mejorada al comando cat en Linux. Es una herramienta que no solo permite mostrar el contenido de archivos, como cat, sino que a\u00f1ade caracter\u00edsticas \u00fatiles como: En resumen, batcat combina las funcionalidades de cat con mejoras visuales y de usabilidad que hacen m\u00e1s f\u00e1cil...","og_url":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/","og_site_name":"Ciencia y Tecnologia","article_published_time":"2025-03-24T18:33:53+00:00","article_modified_time":"2025-03-25T10:18:39+00:00","author":"david","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"david","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/#article","isPartOf":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/"},"author":{"name":"david","@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"headline":"Utilidades Linux","datePublished":"2025-03-24T18:33:53+00:00","dateModified":"2025-03-25T10:18:39+00:00","mainEntityOfPage":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/"},"wordCount":2876,"commentCount":0,"publisher":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"keywords":["aplicaci\u00f3n","copiar","gr\u00e1fica","pegar","puedes copiar","terminal","texto","viceversa","xclip","xclip puedes"],"articleSection":["Hacking","Linux","Programacion"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/","url":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/","name":"Utilidades Linux - Ciencia y Tecnologia","isPartOf":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#website"},"datePublished":"2025-03-24T18:33:53+00:00","dateModified":"2025-03-25T10:18:39+00:00","breadcrumb":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cienciaytecnology.com\/wordpress\/utilidades-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/cienciaytecnology.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Utilidades Linux"}]},{"@type":"WebSite","@id":"https:\/\/cienciaytecnology.com\/wordpress\/#website","url":"https:\/\/cienciaytecnology.com\/wordpress\/","name":"Ciencia y Tecnologia","description":"","publisher":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cienciaytecnology.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b","name":"david","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg","url":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg","contentUrl":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg","width":1024,"height":1024,"caption":"david"},"logo":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg"},"sameAs":["https:\/\/cienciaytecnology.com\/wordpress"],"url":"https:\/\/cienciaytecnology.com\/wordpress\/author\/david\/"}]}},"_links":{"self":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/comments?post=427"}],"version-history":[{"count":7,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/427\/revisions"}],"predecessor-version":[{"id":439,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/427\/revisions\/439"}],"wp:attachment":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/media?parent=427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/categories?post=427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/tags?post=427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}