# Create Multiple Files With Brace Expansion


You know you can create files using the `touch` command, but if you have to create multiple files you have to specify each filename.

```command
touch chapter1.md chapter2.md chapter3.md chapter4.md
```

Brace expansion is a mechanism for generating arbitrary strings. Using brace expansion and a range, you can create these files with the following command:

```command
touch chapter{1..4}.md
```

In this example, brace expansion works by expanding the sequence inside the braces and combining it with the surrounding text.

1. The sequence `{1..4}` generates the list 1, 2, 3, 4.
2. Each item in the generated list gets combined with the surrounding text `chapter` and `.md`.

You can use brace expansion when creating directories as well. For example, to create a `website` directory with `images`, `stylesheets`, and `scripts` folders, you'd use the following command:

```command
mkdir -v -p website/{images,stylesheets,scripts}
```

You'll see the following output:

```output
mkdir: created directory 'website'
mkdir: created directory 'website/images'
mkdir: created directory 'website/stylesheets'
mkdir: created directory 'website/scripts'
```

Using brace expansion can save some typing, especially if you have a large number of files and folders.
