
En informática , el clobbering es el acto de sobrescribir un recurso como un archivo , un registro del procesador o una región de memoria , de tal manera que se pierde su contenido. Generalmente, el término se usa en el contexto de la pérdida involuntaria de información, pero también puede usarse para la sobrescritura intencional. [ 1 ] El Jargon File define clobbering como
Sobrescribir, generalmente sin intención: "Me salí del final del array y destrocé la pila ". Compárese con mung , scribble , trash y smash the stack . [ 2 ]
El término se originó en la cerámica , donde «clobbering» es un término tradicional para la adición posterior, engañosa y fraudulenta, de decoración a una pieza originalmente lisa. Esto se hacía especialmente con la porcelana china , pero también con la cerámica europea. [ 3 ]
Ejemplos
Redirección de archivos
En muchos shells , el >operador de redirección de archivos sobrescribe si la ruta de salida hace referencia a un archivo existente. Esto se puede evitar en bash y ksh mediante el comando set -o noclobbery en csh y tcsh mediante set noclobber. Posteriormente, intentar sobrescribir mediante redirección falla con un mensaje de error . [ 4 ] Por ejemplo:
$ echo "Hola, mundo" >file.txt $ cat archivo.txt Hola Mundo $ echo "Esto sobrescribirá el primer saludo." >file.txt $ cat archivo.txt Esto sobrescribirá el primer saludo . $ set -o noclobber $ echo "¿Podemos sobrescribirlo de nuevo?" >file.txt -bash: archivo.txt: no se puede sobrescribir el archivo existente $ echo "Pero podemos usar el operador >| para ignorar noclobber." > | file.txt $ cat file.txt # Se sobrescribió correctamente el contenido de file.txt usando el operador >| Pero podemos usar el operador > | para ignorar noclobber . $ set +o noclobber # Revierte los cambios de configuraciónArchivo mv y cp
El comportamiento predeterminado de los mvcomandos cpes sobrescribir un archivo de destino existente. Este comportamiento se puede anular mediante la -iopción que solicita al usuario que confirme la sobrescritura del archivo. Alternativamente, la -nopción permite omitir las operaciones que sobrescribirían el archivo.
Archivos Make
Un make objetivo de uso común, llamado clobber , realiza una limpieza completa de los archivos y directorios generados por invocaciones previas del comando para un makefile específico . [ 5 ] Es una operación de limpieza más exhaustiva que clean y se usa comúnmente para desinstalar software. Algunos comandos relacionados con make invocan make clobberdurante su ejecución. Comprueban la variable de entorno CLOBBER . Si está configurada como OFF, no se realiza la eliminación de archivos. [ 6 ]
Asamblea
En la programación en lenguaje ensamblador (incluido el ensamblador en línea de GCC [ 7 ] ), un registro sobreescrito denota un registro cuyo valor puede ser sobrescrito en el curso de la ejecución de una instrucción.
Referencias
- ↑ "¿En informática, qué es Clobbering?" . wiseGEEK . 20 de junio de 2016. Archivado del original el 13 de junio de 2019 . Recuperado el 13 de junio de 2019 .
El término "clobbering" se usa de varias maneras diferentes en informática, y su significado suele quedar claro por el contexto. En un sentido, se refiere a sobrescribir archivos o entradas de memoria existentes. También puede usarse para hablar de sobrecargar ordenadores como servidores con solicitudes, lo que provoca una disminución del rendimiento. Este segundo uso de la palabra refleja el uso común de "clobber" como palabra para describir recibir una paliza.
- ↑ "Clobber" en el archivo de jerga
- ↑ Lucie-Smith, Edward , The Thames & Hudson Dictionary of Art Terms , p. 56, 2003 (2.ª ed.), Thames & Hudson, World of Art series, ISBN 0500203652
- ↑ "Unix Power Tools", por Shelley Powers, Jerry Peek, Tim O'Reilly, Mike Loukides, pág. 892
- ↑ Sistema UNIX V, Versión 4, Motorola Unix, Motorola, Inc., Inc. Motorola, pág. 28
- ↑ "Unix Unleashed", por Robin Burk y David B. Horvath
- ↑ "Ensamblador extendido (usando la colección de compiladores GNU (GCC))" . GCC, La colección de compiladores GNU . Consultado el 22 de marzo de 2021 .
- Terminología informática
- Cerámica