Linux下 文件删除但是空间未被释放 或者 磁盘已满但找不到对应的大文件 的解决方案

news2024/9/23 11:18:41

Linux下文件删除但是空间未被释放的解决方案

  • 前言
  • 1. 查看当前磁盘占用情况
  • 2. 模拟进程占用
  • 3. 执行rm -rf 命令删除文件
  • 4. 查看被删除但是未释放空间的文件
  • 5. 执行清空文件操作

前言

linux磁盘空间已满,手动rm -rf 删除了大文件之后,df -h 查看一下发现空间占用还是不变,有时候会想rm -rf 删除只是逻辑删除到回收站一样?其实不然,通常这种情况都是文件被删除,但是还被进程占用,因此删除文件空间未释放

通常的建议是kill 掉对应的进程,但是如果是生成环境,不能轻易kill进程的话,可以通过置空文件的方式来释放空间

通过lsof | grep deleted 找到未能删除掉的文件,确定占用的进程号
通过 ls -l /proc/PID/fd/* | grep 文件名,找到相应文件句柄
清除文件内容 echo > /proc/PID/fd/FD_NUM

此操作不会删除文件,而是将文档内容清空的方法释放空间,文件仍存在

1. 查看当前磁盘占用情况

首先查看磁盘占用,然后创建了一个5GB的文件,然后继续查看磁盘占用,可以看到磁盘可用已经减少了5GB

# 查看磁盘占用
df -h
# 创建1个5000MB的文件
dd if=/dev/zero of=/delete.tmp bs=1000MB count=5

在这里插入图片描述

2. 模拟进程占用

这里使用tail -f 命令对文件进行占用

tail -f /delete.tmp

在这里插入图片描述

3. 执行rm -rf 命令删除文件

下图可以看到,由于文件被占用,执行删除命令成功后仍然没有释放空间

# 查看磁盘占用
df -h
# 删除创建文件
rm -f /delete.tmp

# 查看磁盘占用
df -h

在这里插入图片描述

4. 查看被删除但是未释放空间的文件

通过执行以下命令,可以看到tail 进行占用了delete.tmp文件,文件大小5GB

lsof | grep deleted 

在这里插入图片描述

5. 执行清空文件操作

语法:

# 通过PID查看文件句柄
ll /proc/PID/fd | grep delete.tmp

# 将指定进程下文件句柄的文件置空
echo > /proc/PID/PID/文件句柄

示例:

# 查看pid为17271的文件句柄
ll /proc/17271/fd | grep delete.tmp

# 置空文件
echo > /proc/17271/fd/3

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/673187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统第四章练习题

第一部分 教材习题(P152) 1、为什么要配置层次式存储器? 设置多个存储器能够使存储器两头的硬件能并行工作;采用多级存储系统,专门是Cache 技术,是减轻存储器带宽对系统性能影响的最佳结构方案;在微处置机内部设置各类缓冲存储器,减轻对存储…

【Android -- 面试】Android 面试题集锦(Java 基础)

Java 基础 1、Java 的类加载过程 jvm 将 .class 类文件信息加载到内存并解析成对应的 class 对象的过程, 注意:jvm 并不是一开始就把所有的类加载进内存中,只是在第一次遇到某个需要运行的类才会加载,并且只加载一次 主要分为三…

【ARMv8 SIMD和浮点指令编程】NEON 比较指令——比较的方方面面

比较指令是常见的一类指令,NEON 中当然也排除,下面涉及比较和测试位两类指令。 1 CMEQ (register) 按位比较相等(向量)。该指令将第一个源 SIMD&FP 寄存器中的每个向量元素与第二个源 SIMD&FP 寄存器中的相应向量元素进行比较,如果比较相等,则将目标 SIMD&…

基于Python+Django+mysql+html通讯录管理系统

基于PythonDjangomysqlhtml通讯录管理系统 一、系统介绍二、功能展示1.用户登陆2.用户注册3.密码修改4.查询5.添加6.修改7.删除 三、其它系统四、获取源码 一、系统介绍 该系统实现了 用户登陆、用户注册、密码修改、查询信息、添加信息,修改信息、删除信息 运行环…

vue2脚手架可视化小项目

vue2脚手架小项目 这个项目又数据可视化可以通过点击按钮修改数据,同时图形的内容也会随着变化这里面也又保存功能,搜索功能,添加功能用到的框架有vue2脚手架,语言有bootstrap,css,也用了echarts 下面会先…

从Web2.0走向Web3.0还有多远?

Web2.0时代给互联网带来了巨大的变革,让用户成为内容的创造者和共享者。然而,随着技术的不断发展和创新,我们正在逐渐迈向Web3.0时代,这将是一个更加去中心化、透明和安全的数字世界。那么,从Web2.0走向Web3.0还有多远…

202322读书笔记|《给你一个大抱抱:治愈系暖心绘本》——如果事与愿违,请相信一切自由安排

[TOC](202322读书笔记|《给你一个大抱抱:治愈系暖心绘本》——如果事与愿违,请相信一切自由安排 作者白开水DAWAN,治愈系小说,画面明媚有趣轻松🤪🤪😘&#…

learn C++ NO.10——string(3)

引言: 现在是北京时间2023年6月22日的早上8点。又是一年端午,时光如梭。这一年来发生的变化太多了,遥想去年此时,我还沉浸在被大学录取的喜悦中,转眼间大一就过去了。这里我也衷心的祝愿您和您的家人端午安康&#xf…

Triton教程 --- 自定义操作

Triton教程 — 自定义操作 Triton系列教程: 快速开始利用Triton部署你自己的模型Triton架构模型仓库存储代理模型设置优化动态批处理速率限制器模型管理 自定义操作 Triton 推理服务器部分支持允许自定义操作的建模框架。 自定义操作可以在构建时或启动时添加到 Triton&…

前端3D Three.js 在本地搭建一个官方网站

上文Web前端 3D开发入门规划 3D效果将不再是桌面应用的专利我们说了说 WEB 3D的一个发展和学习方向 那么 我们还是先搞定文档使用的问题 我们可以访问http://www.yanhuangxueyuan.com/Three.js/这里面可以查到使用方法 但不是最新的 而是别人用官方文档改的 真正的官方文档地址…

30 linux 新建进程的进程号是如何分配的?

前言 呵呵 进程号是我们经常使用到的, 但是 却从来 没有深究过的东西 这里 就来看一下 具体的进程号的生成方式 linux 新建进程是以 fork exec 的形式创建进程的 子进程 是 复制自 父进程 pid 是怎么生成的? 分配 pid 的地方调用堆栈如下, fork 之后, 会为 新进程 申…

全志V3S嵌入式驱动开发(基于usb otg的spi-nand镜像烧入)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过spi nand驱动,但是这个驱动是建立在linux系统从sd卡加载的情况下进行的。开发测试的情况下,这么做或许是可以的…

PWM详解(嵌入式学习)

这里写目录标题 前言定义参数工作原理应用练习 前言 在STM32微控制器中,PWM代表脉冲宽度调制(Pulse Width Modulation)。PWM是一种用于控制电子设备的技术,通过调整信号的脉冲宽度和周期,可以模拟出不同的电压或功率级…

【python】—— 基础语法(一)

序言: 在之前,我们已经对【python】的开发环境进行了相应的安装,紧接着本期我就讲给大家介绍它的相关语法。对于学过【C/C】或者其他语言的小伙伴来说,语法内容学习起来就会掌握的很快了。 目录 前言 (一&#xff0…

【架构师】零基础到精通——网关策略

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名退役Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小…

vue服务端渲染SSR

一:ssr的理解 1、服务端渲染 Server Side Render SSR解决方案,后端渲染出完整的首屏的dom结构返回,前端拿到的内容包括首屏及完整spa结构,应用激活后依然按照spa方式运行,这种页面渲染方式被称为服务端渲染 (server si…

ISO C++ 26 并发和并行性重大完善

ISO C 委员会举行会议正式通过了 C 26 的时间表。ISO C 标准委员会主席兼微软语言架构师 Herb Sutte,并发和并行小组仍在按计划推进 C26 的 std::execution 和 SIMD 并行 一、 C23 与C 26 开发时间表: 二、C26标准属性三大规则。非正式总结是: [已经在c …

【Python 基础篇】Python数据序列推导式

文章目录 前言一、列表推导式二、字典推导式三、集合推导式总结 前言 在Python中,推导式(Comprehension)是一种简洁而强大的语法,用于快速创建列表、字典和集合。推导式使得在一个简单的语句中就能生成一个新的数据结构&#xff…

忘记Gmail谷歌账号密码或者密码错误怎么办?用这种方法轻松搞定

有些朋友以前注册过谷歌邮箱,但很久很久没有再去使用。现在注册ChatGPT需要谷歌邮箱,于是打算把尘封已久的谷歌邮箱找出来,可是这时候你突然发现,谷歌邮箱的密码忘了。 今天重点来说说如何找回谷歌账号的密码,希望能够…

英语口语进阶:让你的疲劳与口渴表达更地道

前言 🏠个人主页:我是沐风晓月 🧑个人简介:大家好,我是沐风晓月,阿里云社区博客专家 😉😉 💕 座右铭: 先努力成长自己,再帮助更多的人,一起加油进…