What command makes a new file in terminal?
Categories:
Creating New Files in the Terminal: A Comprehensive Guide

Learn the essential commands to create new files quickly and efficiently across various operating systems directly from your command line interface.
Creating new files is a fundamental operation in any operating system, and performing this task directly from the terminal offers speed and flexibility, especially for developers, system administrators, and power users. This guide will walk you through the most common and effective commands for generating new files on Linux, macOS, and Windows command-line environments.
Understanding File Creation Commands
Different operating systems and shells provide various utilities for file creation. While some commands are universal, others are specific to certain environments. We'll explore the most popular ones, focusing on their syntax and use cases.
flowchart TD A[Start] --> B{Choose OS/Shell}; B --> C{Linux/macOS}; B --> D{Windows (CMD/PowerShell)}; C --> E[Use 'touch' for empty file]; C --> F[Use 'echo >' for file with content]; C --> G[Use 'cat >' for interactive input]; D --> H[Use 'type nul >' for empty file (CMD)]; D --> I[Use 'New-Item' for empty file (PowerShell)]; D --> J[Use 'echo >' for file with content (CMD/PowerShell)]; E --> K[End]; F --> K; G --> K; H --> K; I --> K; J --> K;
Decision flow for creating files in different terminal environments.
Creating Empty Files
The simplest form of file creation is generating an empty file. This is often useful as a placeholder or when you plan to add content later using a text editor.
Linux/macOS (touch)
The touch
command is the standard way to create an empty file or update the timestamp of an existing file.
touch newfile.txt
To create multiple empty files at once:
touch file1.txt file2.md another_file.log
Windows Command Prompt (CMD)
In Command Prompt, you can create an empty file by redirecting the output of type nul
to a new file.
type nul > newfile.txt
Windows PowerShell
PowerShell offers the New-Item
cmdlet, which is versatile for creating various types of items, including files.
New-Item -Path newfile.txt -ItemType File
Alternatively, a shorter alias for New-Item
is ni
:
ni newfile.txt -ItemType File
touch
on Linux/macOS, if the file already exists, touch
will update its last modified timestamp without altering its content. This can be useful for triggering build systems or other processes that monitor file changes.Creating Files with Initial Content
Sometimes you need to create a file and immediately populate it with some text. This is commonly done for configuration files, simple scripts, or quick notes.
Linux/macOS (echo)
The echo
command, combined with output redirection (>
), is perfect for this. The >
operator creates a new file or overwrites an existing one. Use >>
to append content to an existing file.
echo "Hello, world! This is my new file." > myfile.txt
To add another line without overwriting:
echo "This is a second line." >> myfile.txt
Linux/macOS (cat)
The cat
command can also be used for interactive file creation. When you use cat > filename
, the terminal waits for your input. Press Ctrl+D
(or Cmd+D
on macOS) on a new line to save and exit.
cat > interactive_file.txt
This is the first line.
This is the second line.
(Press Ctrl+D here)
Windows Command Prompt (CMD)
Similar to Linux, echo
with redirection works in CMD.
echo Hello, world! This is my new file. > myfile.txt
Note that echo
in CMD adds a newline character by default. To avoid this, you might need to use set /p
or other methods for more precise control.
Windows PowerShell
PowerShell's Set-Content
cmdlet is ideal for writing content to a file. It will create the file if it doesn't exist or overwrite it if it does.
"Hello, world! This is my new file." | Set-Content -Path myfile.txt
To append content, use Add-Content
:
"This is a second line." | Add-Content -Path myfile.txt
>
(redirection) operator. If the file already exists, >
will overwrite its entire content without warning. Use >>
to append content if you want to preserve existing data.Practical Steps for File Creation
Here's a quick summary of how to create files in your preferred terminal environment.
1. Open Your Terminal
Launch your terminal application (e.g., Terminal on macOS, Git Bash/WSL on Windows, Command Prompt/PowerShell on Windows, or any Linux terminal).
2. Navigate to Desired Directory (Optional)
Use the cd
command to change to the directory where you want to create the file. For example: cd Documents/Projects
.
3. Choose Your Command
Based on your operating system and whether you need an empty file or one with content, select the appropriate command from the examples above.
4. Verify File Creation
After executing the command, use ls
(Linux/macOS) or dir
(Windows) to list the files in the current directory and confirm your new file exists. You can also use cat filename.txt
(Linux/macOS) or type filename.txt
(Windows) to view its content.