Flashcards: 103.2 - Filtros De Texto
48 tarjetas de repaso. Usa el sistema de repeticion espaciada para memorizar.
P: Un administrador necesita ver en tiempo real las nuevas lineas que se van anadiendo a un archivo de log. Cual de los siguientes comandos es el mas adecuado?
R: C) tail -f /var/log/syslog. La opcion -f (follow) de tail permite monitorizar un archivo en tiempo real, mostrando las nuevas lineas a medida que se escriben. Es el metodo estandar para seguir archivos de log. head no tiene opcion -f. cat -f no es una opcion valida para este proposito. less se usa para visualizacion interactiva paginada, no para seguimiento en tiempo real.
P: Dado el archivo datos.txt con el siguiente contenido: manzana naranja manzana pera naranja manzana Que comando muestra cada fruta unica con su numero de ocurrencias, ordenado de mayor a menor frecuencia?
R: B) sort datos.txt | uniq -c | sort -rn. uniq solo elimina duplicados adyacentes, por lo que primero debemos ordenar con sort para que las lineas identicas queden juntas. Luego uniq -c cuenta las ocurrencias de cada linea. Finalmente sort -rn ordena numericamente en orden reverso (de mayor a menor). La opcion A fallaria porque uniq sin sort previo no eliminaria todos los duplicados. La opcion C tiene el mismo problema. La opcion D solo contaria cuantas frutas unicas hay, sin dar la frecuencia. La salida seria: 3 manzana 2 naranja 1 pera
P: Cual de los siguientes comandos extrae correctamente los nombres de usuario (primer campo) del archivo /etc/passwd?
R: B) cut -d ":" -f 1 /etc/passwd. El archivo /etc/passwd usa : como delimitador de campos. La opcion -d ":" define el delimitador y -f 1 selecciona el primer campo (nombre de usuario). La opcion A usa el delimitador por defecto (TAB), que no es correcto para /etc/passwd. La opcion C extrae solo el primer caracter de cada linea, no el primer campo. La opcion D usa espacio como delimitador, que tampoco es correcto.
P: Que hace el siguiente comando?
R: C) Reemplaza todas las ocurrencias de “error” por “ERROR” en el archivo, guardando una copia del original como registro.log.bak. El comando sed con la opcion -i.bak modifica el archivo in-place (directamente en el archivo) y guarda una copia del archivo original con la extension .bak (registro.log.bak). El patron s/error/ERROR/g sustituye (s) todas (g = global) las ocurrencias de “error” por “ERROR”. Sin la g al final, solo se reemplazaria la primera ocurrencia en cada linea.
P: Un usuario tiene un archivo con lineas de texto que contienen retornos de carro de Windows (\r\n) y necesita convertirlo al formato Linux (\n). Cual es el comando correcto?
R: B) tr -d '\r' < archivo.txt > archivo_limpio.txt. El comando tr -d '\r' elimina todos los caracteres de retorno de carro (\r, que es el caracter adicional que Windows usa en los finales de linea). La entrada se redirige desde el archivo con < (ya que tr no acepta nombres de archivo como argumento, solo lee de stdin) y la salida limpia se redirige a un nuevo archivo. La opcion A haria lo contrario (anadira retornos de carro). Las opciones C y D no estan disenadas para este proposito.
P: Que comando se utilizaria para dividir un archivo de 10 GB en partes de 500 MB cada una con el prefijo “parte_”?
R: C) split -b 500M archivo.bin parte_. split -b 500M divide el archivo en partes de 500 megabytes cada una. El prefijo “parte_” se usa para nombrar los archivos resultantes (parte_aa, parte_ab, parte_ac, etc.). La opcion A divide por lineas (-l), no por tamanho. La opcion B usa cut que es para extraer columnas/campos, no para dividir archivos. La opcion D usa dd que puede copiar bloques pero no divide automaticamente en multiples archivos con nombres secuenciales.
P: Dado el siguiente archivo numeros.txt: 5 3 8 3 1 5 Cual sera la salida del comando sort -n numeros.txt | uniq -d?
R: A) 3 y 5 (las lineas duplicadas). Primero sort -n ordena numericamente: 1, 3, 3, 5, 5, 8. Luego uniq -d muestra solo las lineas que aparecen mas de una vez (duplicadas). Como 3 y 5 aparecen dos veces cada una, esas son las que se muestran. La opcion -d de uniq es lo contrario de -u (que mostraria solo las unicas: 1 y 8). La salida seria: 3 5
P: Un administrador necesita verificar que un archivo ISO descargado no se ha corrompido. Dispone del hash SHA-256 proporcionado por el sitio web. Cual de los siguientes comandos genera el hash SHA-256 del archivo descargado para compararlo?
R: B) sha256sum ubuntu.iso. sha256sum genera el hash SHA-256 de un archivo, que se puede comparar con el hash proporcionado por la fuente original para verificar la integridad del archivo. La opcion A genera un hash MD5, que es un algoritmo diferente y su hash no coincidiria con un SHA-256. La opcion C no es un comando valido en Linux. La opcion D genera un hash SHA-512, que tampoco coincidiria con un SHA-256. Tambien se puede verificar automaticamente con sha256sum -c archivo.sha256 si se tiene un archivo con el hash esperado.
P: Cual es la diferencia entre cat -n y cat -b al numerar lineas de un archivo?
R: b) -n numera todas las lineas, -b numera solo las lineas no vacias. cat -n numera todas las lineas del archivo, incluyendo las lineas vacias. cat -b numera solo las lineas que contienen texto, omitiendo las lineas vacias del conteo. El comando nl por defecto se comporta como cat -b, numerando solo lineas no vacias. Para que nl numere todas las lineas se usa nl -b a. Esta distincion es relevante para el examen LPIC-1.
P: Que hace el comando tac archivo.txt?
R: b) Muestra el archivo con las lineas en orden inverso (la ultima primero). tac es cat escrito al reves y hace exactamente eso: invierte el orden de las lineas de un archivo, mostrando la ultima linea primero y la primera al final. No invierte los caracteres dentro de cada linea ni las columnas. Es util para ver logs donde las entradas mas recientes estan al final del archivo. tac puede recibir multiples archivos como argumentos, invirtiendo las lineas de cada uno independientemente.
P: Un administrador quiere ordenar el archivo /etc/passwd numericamente por el tercer campo (UID), usando : como delimitador. Cual es el comando correcto?
R: b) sort -t ":" -k 3 -n /etc/passwd. La opcion -t ":" define el delimitador de campos como dos puntos (el separador usado en /etc/passwd). -k 3 indica ordenar por el tercer campo. -n indica ordenacion numerica en lugar de alfabetica. Sin -t, sort usaria espacios y tabulaciones como delimitadores, lo que no funcionaria para /etc/passwd. La opcion A no define el delimitador y fallaria. La opcion C usa -d que no es la opcion de delimitador en sort. La opcion D tiene sintaxis inventada.
P: Que comando convierte todas las letras minusculas a mayusculas usando tr?
R: c) tr 'a-z' 'A-Z' < archivo.txt. tr 'a-z' 'A-Z' traduce (reemplaza) cada letra minuscula por su equivalente mayuscula. Tambien se puede usar con clases de caracteres: tr '[:lower:]' '[:upper:]'. La opcion A hace lo contrario (mayusculas a minusculas). La opcion B elimina (-d) todas las letras minusculas. La opcion D comprime (-s) letras minusculas repetidas. Es importante recordar que tr no acepta nombres de archivo como argumento y siempre lee de la entrada estandar.
P: Que hace el comando head -n -3 archivo.txt?
R: c) Muestra todas las lineas excepto las 3 ultimas. Cuando head recibe un numero negativo con -n, muestra todas las lineas del archivo excepto las N ultimas. Asi, head -n -3 archivo.txt muestra todo el contenido menos las 3 ultimas lineas. De forma complementaria, tail -n +3 archivo.txt muestra desde la linea 3 hasta el final. head -n 3 (sin signo negativo) muestra las primeras 3 lineas. Estos modificadores con signo son una herramienta poderosa para extraer rangos especificos de lineas.
P: Que comando paste une todas las lineas de un archivo en una sola linea separada por comas?
R: b) paste -s -d "," archivo.txt. La opcion -s (serial) de paste une todas las lineas del archivo en una sola linea. La opcion -d "," establece la coma como delimitador entre los elementos. Sin -s, paste une lineas de multiples archivos lado a lado (por columnas). Sin -d, el delimitador por defecto es el tabulador. La opcion D tambien produciria un resultado similar pero con una coma extra al final, y no es la forma idiomatica de hacerlo.
P: Que paginador se considera mas potente que more y permite navegar hacia atras y buscar en ambas direcciones?
R: c) less. less es una version mejorada de more que permite navegacion completa en ambas direcciones. Su nombre viene del dicho “less is more”. Permite avanzar y retroceder paginas (con Space/b), buscar hacia adelante (/patron) y hacia atras (?patron), ir al inicio (g) y al final (G). Las paginas de manual (man) usan less como paginador por defecto. more solo permite avanzar (con soporte limitado para retroceder en algunos sistemas). cat muestra todo el contenido de una vez sin paginacion.
P: Que hace la opcion -i en el comando sed -i 's/foo/bar/g' archivo.txt?
R: b) Modifica el archivo directamente (in-place) sin crear una copia. La opcion -i de sed modifica el archivo directamente en lugar de mostrar el resultado en la salida estandar. Sin -i, sed muestra el resultado modificado en la terminal pero el archivo original no cambia. Se puede crear un backup automatico anadiendo una extension: sed -i.bak 's/foo/bar/g' archivo.txt crea archivo.txt.bak con el contenido original antes de modificar. La opcion para ignorar mayusculas es la flag i al final del patron: s/foo/bar/gi.
P: Que comando muestra el contenido de un archivo comprimido con gzip sin necesidad de descomprimirlo?
R: c) zcat archivo.txt.gz. zcat muestra el contenido de archivos comprimidos con gzip (.gz) en la salida estandar sin descomprimirlos en disco. Es equivalente a gunzip -c. Para archivos comprimidos con bzip2 (.bz2) se usa bzcat y para xz (.xz) se usa xzcat. La opcion A intentaria mostrar el contenido binario comprimido, mostrando caracteres ilegibles. La opcion B descomprimiria el archivo en disco (eliminando el .gz). La opcion D muestra informacion de compresion (ratio, tamanos) pero no el contenido.
P: Que comando sed elimina todas las lineas que contienen la palabra “error” en un archivo?
R: b) sed '/error/d' archivo.txt. sed '/error/d' busca las lineas que contienen el patron “error” y las elimina (d = delete). La opcion A sustituye la primera ocurrencia de “error” por nada en cada linea, pero no elimina la linea completa. La opcion C con -n y p hace lo contrario: muestra solo las lineas que contienen “error”. La opcion D tiene una sintaxis invalida. Para eliminar lineas por numero se usa sed '3d' (elimina linea 3) o sed '2,5d' (elimina lineas 2 a 5).
P: Que comando usarias para numerar todas las lineas de un archivo, incluyendo las vacias, usando nl?
R: nl -b a archivo.txt. nl -b a numera todas las lineas del archivo, incluyendo las vacias. La opcion -b define el estilo de numeracion del cuerpo: a (all) numera todas las lineas, t (text, por defecto) numera solo lineas no vacias. Otras opciones utiles de nl son -s '. ' para definir el separador despues del numero, -w 3 para definir el ancho del numero y -n rz para alinear a la derecha con ceros (001, 002…).
P: Que comando usarias para contar el numero de lineas en un archivo?
R: wc -l archivo.txt. wc -l cuenta el numero de lineas de un archivo. Sin opciones, wc muestra tres valores: lineas, palabras y bytes. Otras opciones utiles son -w (palabras), -c (bytes), -m (caracteres) y -L (longitud de la linea mas larga). wc -l se usa frecuentemente con pipes: ls /etc | wc -l cuenta cuantos archivos hay en /etc, y cat /etc/passwd | wc -l cuenta cuantos usuarios hay en el sistema.
P: Que comando usarias para convertir tabulaciones en 4 espacios en un archivo?
R: expand -t 4 archivo.txt. expand convierte tabulaciones en espacios. La opcion -t 4 indica que cada tabulacion se reemplaza por 4 espacios (por defecto son 8). El comando contrario es unexpand, que convierte espacios en tabulaciones. unexpand -a convierte todos los espacios (no solo los iniciales) y unexpand -t 4 establece 4 espacios como equivalente a un tabulador. Estos comandos son utiles para estandarizar la indentacion en archivos de texto.
P: Que comando reformatea un archivo de texto para que las lineas tengan un maximo de 60 caracteres?
R: fmt -w 60 archivo.txt. fmt reformatea texto ajustando el ancho de las lineas. La opcion -w 60 establece el ancho maximo en 60 caracteres por linea (por defecto es 75). fmt intenta mantener las palabras completas, partiendo las lineas en espacios. La opcion -u establece espaciado uniforme (un espacio entre palabras, dos despues de punto). fmt es util para reformatear textos que tienen lineas muy largas o muy cortas.
P: Que comando usarias para mostrar solo la linea 5 de un archivo usando sed?
R: sed -n ‘5p’ archivo.txt. sed -n '5p' muestra unicamente la linea 5 del archivo. La opcion -n suprime la salida por defecto de sed (que normalmente imprime todas las lineas) y p (print) imprime solo la linea especificada. Sin -n, la linea 5 apareceria duplicada. Para mostrar un rango de lineas se usa sed -n '2,5p' (lineas 2 a 5). Para mostrar lineas que contienen un patron: sed -n '/patron/p'.
P: Tip de examen: tac es simplemente cat escrito al reves y hace exactamente eso: invierte el …
R: tac es simplemente cat escrito al reves y hace exactamente eso: invierte el orden de las lineas.
P: Tip de examen: less es mas potente que more (permite retroceder, buscar hacia atras). Las p…
R: less es mas potente que more (permite retroceder, buscar hacia atras). Las paginas de manual (man) usan less como paginador por defecto. Las teclas de navegacion de less son iguales a las de man y vi.
P: Tip de examen: uniq solo elimina duplicados adyacentes. Si las lineas duplicadas no estan…
R: uniq solo elimina duplicados adyacentes. Si las lineas duplicadas no estan juntas, no las detectara. Por eso casi siempre se usa junto con sort.
P: Tip de examen: -d define el delimitador (por defecto TAB), -f selecciona campos, -c selec…
R: -d define el delimitador (por defecto TAB), -f selecciona campos, -c selecciona caracteres.
P: Tip de examen: MD5 se considera inseguro para criptografia pero sigue siendo util para verifica…
R: MD5 se considera inseguro para criptografia pero sigue siendo util para verificacion de integridad basica. SHA-256 y SHA-512 son mas seguros.
P: Que hace el comando b?
R: Retroceder una pagina (no en todos los sistemas)
P: Que hace el comando n?
R: Siguiente coincidencia de busqueda
P: Que hace el comando v?
R: Abrir el archivo en el editor ($EDITOR)
P: Que hace el comando -N?
R: Alternar numeros de linea (estando dentro de less)
P: Que es/son 2b. Paginadores: less y more?
R: Los paginadores permiten visualizar archivos largos pagina por pagina, sin cargar todo el contenido a la vez.
P: Que es/son 3. sort?
R: sort ordena las lineas de un archivo o flujo de texto.
P: Que es/son 4. uniq?
R: uniq filtra lineas adyacentes duplicadas. Requiere que la entrada este ordenada para eliminar todos los duplicados (o se usa en combinacion con sort).
P: Que es/son 5. wc (word count)?
R: wc cuenta lineas, palabras y bytes de un archivo.
P: Que es/son 6. cut?
R: cut extrae secciones (columnas o campos) de cada linea de un archivo.
P: Que es/son 7. paste?
R: paste une lineas de multiples archivos lado a lado (por columnas), usando un delimitador (TAB por defecto).
P: Que es/son 8. join?
R: join une lineas de dos archivos que comparten un campo comun (similar a un JOIN en SQL). Los archivos deben estar ordenados por el campo de union.
P: Que es/son 9. tr (translate)?
R: tr traduce, elimina o comprime caracteres. Solo lee de la entrada estandar (no acepta archivos como argumento).
P: Que es/son 11. fmt?
R: fmt reformatea texto ajustando el ancho de las lineas:
P: Que es/son 12. pr?
R: pr prepara archivos de texto para impresion, anadiendo cabeceras con fecha, nombre del archivo y numero de pagina.
P: Que es/son 13. nl (numerar lineas)?
R: nl numera las lineas de un archivo con mas opciones que cat -n:
P: Que es/son 15. split?
R: split divide un archivo grande en archivos mas pequenos:
P: Que es/son 16. sed (stream editor)?
R: sed es un editor de flujos que transforma texto linea por linea. Es extremadamente poderoso y solo se cubren los basicos en este objetivo.
P: Que es/son 17. Checksums (sumas de verificacion)?
R: Los checksums se usan para verificar la integridad de archivos. Generan un hash unico basado en el contenido.
P: Que es/son 18. Lectores de archivos comprimidos?
R: Estos comandos permiten ver el contenido de archivos comprimidos sin descomprimirlos:
P: Que es/son Trampas del examen?
R: > Errores comunes y distinciones criticas que LPI suele evaluar en este subtema: