发现交换文件“.swp”

发现交换文件“.swp”,第1张

在linux里编辑文件时,有时会非正常关闭文件。再次打开编辑时,会提示“交换文件 ".**.swp" 已存在!"”

因为vim打开一个文件时,会产生一个cmd.swap文件,用于保存数据,正常关闭文件,此文件就会被删除。非正常关闭文件时,此文件没有被删除。

解决方法:

有时候在用vim打开文件时提示类似以下的信息:E325: 注意发现交换文件 ".exportcert.cpp.swp"所有者:liuchuanliang日期: Thu Mar1 17:15:41 2012文件名:~liuchuanliang/ftsafe/EnterSafe-Shuttle-Linux-111114/i386/sample2/source/ExportCert/exportcert.cpp修改过: 是用户名:liuchuanliang主机名: liuchuanliang-desktop进程 ID: 4434正在打开文件 "exportcert.cpp"日期: Thu Mar8 10:56:17 2012比交换文件新!(1) 另一个程序可能也在编辑同一个文件。如果是这样,修改时请注意避免同一个文件产生两个不同的版本。退出,或小心地继续。(2) 上次编辑此文件时崩溃。如果是这样,请用":recover" 或 "vim -r exportcert.cpp"恢复修改的内容 (请见":help recovery")。如果你已经进行了恢复,请删除交换文件 ".exportcert.cpp.swp"以避免再看到此消息。交换文件 ".exportcert.cpp.swp" 已存在!以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)),中止((A)):这是因为,在用vim打开一个文件时,其会产生一个filename.swap文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件,此时你可以恢复文件:恢复以后把.swap文件删掉,在打开时就不会用提示良,注意.swap文件是个隐藏文件。可用:la查看。以.开头的是隐藏文件。

选a。用free命令也可以。

df命令是显示分区信息及其使用情况,但是交换文件就无法查看了。

有关参考资料:http://blog.chinaunix.net/u/27173/showart_415476.html

添加和删除swap,你有三种可选的办法:

1.创建/删除一个新的swap分区

2.创建/删除一个新的swap文件

3.在LVM2逻辑卷上扩展/减小swap空间

我先描述下实验环境:

RHEL5 AP一台,测试时,请使用install CD disk1引导系统进入rescue模式.

原因:RedHat Enterprise Linux 5.0.0 Deployment_Guide Page61 important提示

"The best way to achieve swap space modifications is to boot your system in rescue mode".

我的分区情况,/boot单独一个主分区,其他所有分区均在LVM下,我的习惯是这样.考虑到可扩展性.boot是引导分区

在LVM下无法正常启动.故单独做为一个分区.

Part One:使用LVM2逻辑卷添加和减少swap空间(前提:你的swap分区在lvm2上)

1.添加swap空间

首先disable swap.我的卷组名为VG0,为了方便辨认,我给swap分区就命名为swap.请参见自己实际分区情况酌情处理.

#swapoff -v /dev/VG0/swap

重新分配swap分区的大小,增加256M

#lvm lvresize /dev/VG0/swap -L +256M

格式化swap space

#mkswap /dev/VG0/swap

重新启用swap

#swapon -va

然后检查是否成功

cat /proc/swaps或者free

2.从LVM2逻辑卷中减少swap空间

禁用swap

#swapoff -v /dev/VG0/swap

减少swap空间

#lvm lvreduce /dev/VG0/swap -L 256M

格式化新生成的swap空间

#mkswap /dev/VG0/swap

启用swap

#swapon -va

测试是否成功

#cat /proc/swaps 或者free

Pate Two:在LVM2逻辑卷上创建和删除一个swap分区

1.创建swap分区(前提:你已经准备好了LVM卷)

首先在LVM2逻辑卷上为swap创建一个新的分区,分区大小由-L指定,为256M.

(我的卷组名仍然是VG0,新建的分区为swap2)

#lvm lvcreate VG0 -n swap2 -L 256M

然后格式化swap2

#mkswap /dev/VG0/swap2

修改/etc/fstab,添加如下内容,这样在开始时可以自动加载,永久生效:

/dev/VG0/swap2swapswapdefaults0 0

启用swap2

#swapon -va

测试是否成功

#cat /proc/swaps 或者free

2.删除逻辑卷上的swap2分区

同样还是先禁用swap2

#swapoff -v /dev/VG0/swap2

删除逻辑卷上的swap2

#lvm lvremove /dev/VG0/swap2

将下面这条信息从/etc/fstab中删除

/dev/VG0/swap2swapswapdefaults0 0

测试结果

#cat /proc/swaps 或者free

Part Three创建和删除swap文件(对于没有设置LVM2的朋友这个是最简单的办法)

1.创建swap文件(需要在交互式shell下使用root权限)我们假设给它64MB

#dd if=/dev/zero of=/swapfile bs=1024 count=65536

有关dd命令的详细用法,请使用man dd来查看

设置swap文件

#mkswap /swapfile

(mkswap不只是用与swap分区的,也用与swap文件,man mkswap)

启用swapfile,但这并不是永久生效的.

#swapon /swapfile

永久生效的启动swapfile,修改/etc/fstab,添加如下一行:

/swapfileswapswapdefaults0 0

检查是否生效

#cat /proc/swaps 或者free

2.删除swapfile文件

禁用swap

#swapoff -v /swapfile

删除/etc/fstab中的下面条目

/swapfileswapswapdefaults0 0

删除swapfile

#rm /swapfile

如果想了解更多内容,请参考RHEL5 Deployment_Guide,命令相关用法请使用man command


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8556498.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存