¿Qué causa la creación de archivos de intercambio?


31

Como parte del programa que escribí, constantemente leo y escribo datos de archivos. Me di cuenta de que, como parte de esto, estoy creando inadvertidamente .swparchivos de intercambio .

¿Qué crees que está pasando? ¿Qué causaría que aparezcan los archivos de intercambio si tuviera que reproducir el problema?

Respuestas:


41

El archivo .swp no es un archivo de intercambio en el sentido del sistema operativo. Es un archivo de estado. Mantiene sus cambios desde el último guardado (excepto los últimos 200 caracteres), almacenamientos intermedios que ha guardado, macros no guardados y la estructura de deshacer.

Puede leer más en la ayuda de VIM: vim +help\ swap-file. Si hay un bloqueo (falla de energía, bloqueo del sistema operativo, etc.), puede recuperar sus cambios utilizando este archivo de intercambio. Después de guardar los cambios del archivo de intercambio en el archivo original, deberá salir de vim y eliminar el archivo de intercambio usted mismo.


Por alguna razón, mi archivo ~ / .swp es de 11.7GB. Acabo de borrarlo.
Daniel Cheung

19

.swpVim crea los archivos , deben eliminarse automáticamente cuando cierra el archivo y sale del editor.


1
¿Se pueden crear desde afuera Vim? En mi caso, los archivos se escriben directamente desde mi programa, sin usar el editor
JAM

@JAM: ¿Con qué idioma y bibliotecas está escrito este programa?
jwodder

55
@JAM Generalmente no, es una característica de Vim. Dudo que estos archivos se escriban directamente desde su programa sin que usted lo sepa, no tiene sentido. Es mucho más probable que esté confundido, estos archivos se crean mientras edita los archivos con Vim y los está atribuyendo a su programa.
Juliano

4

Los archivos .swp no son más que un tipo de archivo de bloqueo que su editor, generalmente vim, crea para indicar que el archivo se está editando. De esta manera, si abre el archivo en otra instancia de vim o si alguien en la red lo hizo, verá una advertencia de que el archivo se está editando.
No necesita eliminarlos manualmente. Su editor eliminará el archivo de intercambio una vez que cierre el archivo en su editor.


2

Acabo de ejecutar un comando mv en un archivo de 31GB y se creó un archivo .swp de 13GB, sin edición.

mv X.csv Y.csv creado Y.csv y .Y.csv.swp

CentOS 6.5, sistema de archivos ext4


Gracias. ¿Has tenido una experiencia similar con 'rsync' también?
Imriss
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.