linux下快速创建文件占用磁盘

本文介绍了在测试环境中如何快速耗尽磁盘空间,包括使用tee、cp、dd、truncate和fallocate等命令。虽然这些方法在实际操作中速度和效果各异,但要短时间内占用10T空间仍具挑战。fallocate命令能迅速预分配空间,但实际占用取决于文件系统。
摘要由CSDN通过智能技术生成

在测试中有时间需要创造一些场景,比如服务器或主机中莫磁盘空间不足的情况,目前磁盘空间都很大,一般已T为单位,想要短时间把磁盘空间耗尽也不是件容易的事,想象下你需要耗尽10T空间的资源,需要多长时间?
实践中我尝试了多种方式:

tee创建文件占用空间

cat usr1.txt |tee 2022.1.9{1…1000}.txt
你可以选择比较大的usr1.txt文件,中括号中后面的数字也可以修改,以便创建更多的文件,占用更大的空间
创建好以后就可以看到下面的模样
在这里插入图片描述

直接拷贝文件来占用空间

cp filename path/test
你也可以写成脚本,一直不停的拷贝

用dd命令直接创建文件

dd if=/dev/zero of=test1 bs=1G count=1000
(bs的大小及文件个数可改)
test1文件真实存储,实际占用空间,通过这种方式占用空间耗时比较长,跟实际拷贝速度差不多
在这里插入图片描述

用truncate直接创建文件

truncate -s 10G test2
这种方式创建的文件被称为“空洞文件”,文件的部分内容并没有实际存在于硬盘上,用du命令查看文件占用的空间为0,创建文件不会报空间不足,速度快,但是不会真实占用空间
在这里插入图片描述

用fallocate命令创建文件*

fallocate -l 10G test3
fallocate 命令可以为文件预分配物理空间,du命令也可以看到文件的大小,如果空间不足会提示,且创建文件失败,速度很快
*
在这里插入图片描述

总结

占用空间的方式还有很多,不一 一列举,但是想要短时间把10T的空间给占用也不是一件很容易的事,前三种方法都是真实生成文件来占用空间,生成速度不会太快;后面两种可以理解上只是概念上的,truncate创建的文件不分配磁盘空间,只不过是一个空文件,所以并不能占用空间;fallocate是分配磁盘空间的,实践证明使用这个命令来占用空间最快。

参考:https://www.cnblogs.com/fqnb001/p/12577915.html

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux系统中,文件夹(也称为目录)包含其他文件夹时,这些子文件夹也会占用磁盘空间。当我们创建一个文件夹并在其中创建文件夹时,父文件夹会记录子文件夹的信息,并将它们的大小计算到父文件夹的磁盘使用量中。 当我们使用命令`du`查看文件夹大小时,它会递归地计算文件夹中所有文件和子文件夹的大小,并显示总大小。这意味着文件夹的实际大小是包含所有子文件夹的大小。 例如,如果我们有一个名为`/home`的文件夹,其中包含三个子文件夹`/home/user1`,`/home/user2`和`/home/user3`,而每个子文件夹的大小分别为100MB,200MB和300MB。当我们使用`du -sh /home`命令时,它将显示`600MB`作为`/home`文件夹的大小,这是三个子文件夹大小之和。 这种方式有助于我们了解整个文件夹层次结构的大小,同时也能够更好地管理磁盘空间。我们可以根据需要删除、移动或复制这些文件夹,以释放磁盘空间或进行其他操作。 总之,Linux文件夹中包含的子文件占用磁盘空间。在计算文件夹大小时,系统将递归地考虑所有子文件夹的大小,并将其包含在父文件夹的磁盘使用量中。 ### 回答2: Linux文件夹是一个包含子文件夹的文件夹,占用磁盘空间的计算方式与其他操作系统类似。当在Linux系统上创建一个文件夹时,系统会自动为该文件夹分配一定的磁盘空间。 在Linux中,文件夹本身只是一个用于组织和存储文件的集合,它不占用实际的磁盘空间。而文件夹中的子文件夹和文件才会占用磁盘空间。 每个文件文件夹都会消耗一定的磁盘空间,其大小取决于文件文件夹的实际内容。当一个文件夹包含多个子文件夹时,它们的磁盘空间会被累加计算。 要计算文件夹及其子文件夹所占用磁盘空间,可以使用一些命令行工具。例如,使用"du"命令可以获取文件夹及其子文件夹的磁盘空间使用情况。通过-duh选项,可以以人类可读的方式显示磁盘空间大小。 总结来说,在Linux中,文件占用磁盘空间是由其包含的子文件夹和文件的大小累加而来。计算文件占用磁盘空间可以使用命令行工具来获取准确的结果。 ### 回答3: 在Linux中,文件夹(也称为目录)包含子文件夹时,占用磁盘空间是由该目录及其子目录中的所有文件和子文件夹的大小总和决定的。当我们使用命令查看文件夹大小时,实际上是计算该文件夹下所有文件和子文件夹的大小,并将结果累加得到最终的值。 这个过程可以通过使用du命令来完成。du(磁盘使用)命令用于估算文件和目录的磁盘空间使用量。du命令默认情况下将递归地计算整个目录树下所有文件和子目录的大小。可以使用du命令的-h参数来以易读的方式显示目录和文件的大小。 例如,使用du -h命令查看当前目录下的文件夹及其子文件夹的大小: $ du -h 4.0K ./Desktop 72K ./Documents 8.0K ./Downloads 8.0K ./Pictures 20K ./Music 4.0K ./Videos 168K . 以上示例中,/目录(也就是当前目录)下的所有子文件夹大小累加起来为168KB。这个大小包括了当前目录下的所有文件和子文件夹的大小,以及它们的子目录的大小。 总而言之,Linux文件占用磁盘空间包括了目录本身以及其子目录中所有文件和子文件夹的大小。使用du命令可以帮助我们快速计算文件夹的大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值