linux下创建文件过多,导致inode用光

前段时间在下发彩信的时候,只能收到title,查找发现是临时存彩信文件的目录太多文件了(当然,一个号码存一个彩信包估计也有问题),导致程序写不进目录,也读取不到彩信内容。

今天研究了一下,并且重现当时的情景。

按我理解,首先linux创建文件上限和两方面因素有关。1是磁盘容量,2就是索引节点inode了。

linux下用df命令查看磁盘空间和inode占用情况,网上一大堆。我比较喜欢用的是df -h 查看容量,df -ihT 查看inode和文件系统类型。

那么什么是inode呢?

简单的就是存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。可以用stat +文件名来查看

linux下inode和文件名是分离的,所以cp或者mv文件,只改变了文件名,但是他的inode不会变。有时候,文件名包含特殊字符,没办法用rm删除(用转义符号也没用),这时候可以直接删除inode节点

比如:我们在windows上传了一个带有特殊符号的文件,比如

首先用ls -il命令查看其inode,

然后使用命令find ./ -inum 36175886 -exec rm -i {} \;(使用find命令在当前目录下查找inode是36175886 的文件,将其作为参数传给rm命令,参数位置在{}里,以\;表示结束)。

当然,有时候还可以用双引号将要删除的文件名括起来

好了,回到创建文件过多的情况。这时候,创建文件也出错No space left on device,用vim打开文件也出错E138: Can't write viminfo file,只能删除了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值