#干货满满#如何快速清空 Linux 中的文件或大文件?
  

Hacking 6662人觉得有帮助

{{ttag.title}}
列出目录下所有文件的大小
如果你是想腾空间,就需要用到下面的命令了,如果单纯的想写空某文件中的内容,忽略这步。
du -sh * /pwd
# * 是目录下所有文件
# /pwd是路径,如果不指定路径默认列出当前路径下的所有文件

清空文件的几种方法
1. 通过重定向到null清空文件内容【最简单的方法】
使用 shell 重定向null(不存在的对象)到文件的最简单方法来清空文件内容
> file  
# file可以是任何文件【不能是目录】

2.使用true命令重定向清空文件
这里我们将使用一个符号,:是一个shell内置命令,本质上等同于true命令
另一种方法是将:或true内置命令的输出重定向到文件
#是不是觉得还是1方便?

: > file  

true > file

# file可以是任何文件【不能是目录】

3. 使用 /dev/null 或 cat/cp/dd 应用程序清空文件
在 Linux 中,null设备主要用于丢弃进程不需要的输出流,或者作为输入流。这通常是通过重定向机制完成的。
/dev/null设备文件是一个特殊文件,它会吞噬发送给它的任何输入,或者它的输出与空文件的输出相同。

此外,你可以通过/dev/null使用cat 命令将输出重定向到文件作为输入来清空文件的内容

cat /dev/null > file

# 原理就是,将空值写入到需要清空的文件中
# file可以是任何文件【不能是目录】

也可以使用cp 命令将文件内容清空
cp /dev/null file  

# cp与cat同理同效
# file可以是任何文件【不能是目录】

4.使用dd清空文件
在下面的命令中,if指的是输入文件,of指的是输出文件。
dd if=/dev/null of=file  

# if是固定的,of中的 file可以是任何文件【不能是目录】

5. 使用 echo 命令清空文件
在这里,你可以使用带有空字符串的echo 命令并将其重定向到文件
echo "" > file  

echo > file  

# file可以是任何文件【不能是目录】

空字符串与 null 不同。一个字符串是一个对象,它可能是空的。而null意味着一个不存在的对象。

因此将上面的echo 命令的输出重定向到文件中,并使用cat 命令查看文件内容时,会打印一个空行要发送一个空输出到文件,使用该标志-n告诉echo 不输出换行符。

echo -n "" > file  
# file可以是任何文件【不能是目录】

6. 使用 truncate 命令清空文件
truncate命令将文件的大小缩小或扩展到定义的大小。

你可以将它与-s指定文件大小的选项一起使用。要清空文件内容使用-s 0参数。

truncate -s 0 file

# file可以是任何文件【不能是目录】

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

cyq 发表于 2022-4-8 13:42
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
cyq 发表于 2022-5-5 08:35
  
感谢分享有助于工作和学习!
cyq 发表于 2022-5-8 08:38
  
感谢分享有助于工作和学习!
平凡的小网工 发表于 2022-6-19 12:51
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
干货满满
新版本体验
技术笔记
功能体验
产品连连看
标准化排查
技术晨报
技术咨询
信服课堂视频
2023技术争霸赛专题
GIF动图学习
运维工具
用户认证
解决方案
VPN 对接
专家分享
社区帮助指南
自助服务平台操作指引
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
安装部署配置
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
云计算知识
原创分享
sangfor周刊
项目案例
SANGFOR资讯
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
秒懂零信任
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人