问:

linux编辑文件后如何删除交换文件

答:
在Linux系统中编辑文件时,会生成对应的交换文件,文件名通常为原文件名加上扩展名”.swp”。这些交换文件包含编辑文件时的临时数据,如果不删除会占用一定的磁盘空间。编辑文件后,删除交换文件方法如下:
1. 退出编辑器后立即删除。使用vi/vim编辑文件后,按“:wq”保存并退出,此时会自动删除交换文件。如果使用emacs,保存并退出后,交换文件也会被自动删除。所以正常退出编辑器是最简单的删除交换文件的方式。
2. 手动删除交换文件。如果编辑器异常退出,交换文件不会自动删除,这时需要手动删除。交换文件名为原文件名加”.swp”扩展名,直接使用rm命令删除即可,如”rm test.c.swp”。
3. 根据编辑器进程删除交换文件。vi/vim编辑器的交换文件锁定与编辑进程有关,结束进程即可删除交换文件。可以使用“ps -ef|grep vi/vim”查找编辑进程ID,然后“kill -9 ID”强制结束进程,交换文件锁定将被解除,可以手动删除交换文件。
4. 重启编辑器解除交换文件锁定。如果无法结束编辑器进程,可以重新启动编辑器,此时原有的交换文件锁定将被新的编辑进程取代,从而可以手动删除旧的交换文件。但此方法有文件数据丢失的风险,需谨慎操作。
5. 等待临时文件系统清理。Linux系统会定期清理/tmp目录下的临时文件,交换文件也位于此目录。如果不是急于删除交换文件,可以等待系统自动清理,一般几天后交换文件会被删除。但这不是一种靠谱的删除方法,不建议长期依赖。
综上,编辑文件后删除交换文件的最可靠方法是退出编辑器后立即手动删除,或结束相关编辑进程后手动删除。如果无法立即删除,可以重新启动编辑器以解除文件锁定,但需要注意可能的数据丢失风险。不建议长期等待系统自动清理交换文件。