Normally, we will use the touch command to create an empty file. However, in some specific scenarios, such as when troubleshooting or testing, we may need to create large files of a specific size, such as 500 MB or 2 GB. At this point, it is obviously not advisable to create an empty file and then write a large amount of text data.
So, is there a better way to create new files of a specific size? Below, we will introduce several ways to create large files for your reference.
dd command is used to copy and convert files. Its most common use is to create a live Linux USB.
The dd command actually writes to the hard disk. The speed at which the file is generated depends on the read and write speed of the hard disk. Depending on the size of the file, the command will take some time to complete.
Assuming we want to create a 2 GB text file named rumenz.img, we can do the following:
dd if=/dev/zero of=rumenz.img bs=2G count=1
We can change the block size and number of blocks as needed. For example, you can use bs=1M and count=1024 to get a 1024 Mb file.
The truncate command shrinks or expands a file to the desired size. Use the -s option to specify the file size.
Next, we use the truncare command to create a 2GB file.
truncate -s 2G rumenz.img
You can use the ls -lh rumenz.img
command to view the generated file.
By default, if the requested output file does not exist, the truncate command will create a new file. We can use -c option to avoid creating new files.
The fallocate command is my recommended method for creating large files, because it creates large files the fastest.
Assuming we want to create a 1 GB file, we can do the following:
fallocate -l 1G rumenz.img
You can use ls -lh rumenz.img
to view the generated file.
The files created by dd and truncate are sparse files. In the computer world, sparse files are special files that have different apparent file sizes (the maximum size they can expand to) and real file sizes (how much space is allocated for data on disk).
The fallocate command will not create sparse files, and it is faster. This is why I recommend using fallocate to create large files.
The above is the detailed content of How to create a 2GB large file in Linux in seconds?. For more information, please follow other related articles on the PHP Chinese website!