Create Multiple Files with Random Size in Linux ?
truncate -s 10M file{1..10}.txt
for f in file{1..10}.txt; do fallocate -l 10M "$f"; done
for i in {1..100}; do dd if=/dev/urandom bs=$(shuf -i 1-100 -n 1) count=1 | base64 | tr -dc 'a-zA-Z0-9' | head -c $(shuf -i 1-1000 -n 1) > file$i.txt; done
There are several methods to create files of specific size in Linux. Here are some of the most common methods:
To create a file of a specific size in Linux for purposes such as testing upload or download speed on a file server, or extending a swap partition, you can use one of the following methods.
1. Using `dd` command: The `dd` command can be used to create files of specific size by specifying the block size and number of blocks. For example, the following command creates a file of 1 GB size:
```
dd if=/dev/zero of=outputfile bs=1G count=1
```
2. Using `truncate` command: The `truncate` command can be used to create files of specific size by specifying the size in bytes. For example, the following command creates a file of 1 GB size:
```
truncate -s 1G outputfile
```
3. Using `fallocate` command: The `fallocate` command can be used to preallocate space for a file, effectively creating a file of specific size. For example, the following command creates a file of 1 GB size:
```
fallocate -l 1G outputfile
```
4. Using `head` command: The `head` command can be used to create files of specific size by redirecting the output to a file. For example, the following command creates a file of 1 GB size:
```
head -c 1G /dev/urandom > outputfile
```
This command generates random data from `/dev/urandom` and truncates it to 1 GB size using the `head` command, then redirects the output to a file.
5.`xfs_mkfile` is a command that can be used to create a file of a specified size in an XFS file system. For example, the following command creates a file of 1 GB size in the current directory:
```
xfs_mkfile 1G outputfile
```
This command creates a file named `outputfile` with a size of 1 GB.
While `xfs_mkfile` is a valid option for creating files in an XFS file system, the other methods I mentioned (`dd`, `truncate`, `fallocate`, and `head`) are more general and can be used with a wider range of file systems.