Making a new file in Linux is easy, and you can use one of the several applications to create a file in a specific format.
However, the fastest way to create a file in Linux is still through the terminal or command line. It is a fundamental skill for all users, especially server admins, who need to quickly create text files, scripts, or configuration files for their work.
This guide will take you through the process of creating files using command line tools like touch and echo and text editors like nano, Vi, and Vim. Whether you’re a beginner or an experienced user, mastering this skill is crucial for optimizing Linux operations.
Let’s start with the prerequisites for the process.
Prerequisites
Before you learn how to create a file in Linux using the command line, you’ll need:
- A command line environment or terminal window.
- An account with sudo privileges. Note that it’s not always a strict requirement for creating some files and directories.
How to Create a File in Linux Using the Command Line
At its heart, Linux is all about using the command line to speed up essential tasks such as creating files. As such, Linux offers several methods of carrying out this essential task.
Let’s discuss several popular ways of creating files in Linux from the command line.
Method #1: Use the touch Command to Create a Text File
The most straightforward approach to generating a new blank text file in Linux is to use the touch command.
Launch the terminal and enter the following command to create a file without any contents in the current directory (since we aren’t mentioning a specific location in the following command):
# touch testfile.txt
Next, use the ls command to verify that the touch command has created the testfile.txt:
# ls
Method #2: Use the Redirect Operator to Create a New Empty File
A redirection operator is a special character that alters where the standard output is shown in the command mode. Usually, the redirection operator is represented by a right-facing angle bracket (>).
You can use this operator to specify a file where the system should redirect the output. As you can guess, you can use this method to create a new blank file with the name textfile1.txt in the current working directory.
# > testfile1.txt
Next, use the ls command to list the items in the current directory and see that the file has been successfully created.
# ls
Method #3: Use the cat Command to Create a New File
In Linux, the cat (concatenate) command is typically used to view the contents of one or more files or segments of a file. For our purposes, if you specify a non-existent file, the cat command will create it.
Launch the terminal and enter the following command:
# cat > testfile3.txt
Note that we used the redirection operator to redirect the output of the cat command to the textfile3.txt. This alters the command’s usual behavior of displaying the file in the standard output. The redirection operator instructs the system to redirect the output to the file. Since this file doesn’t exist, the command first creates it.
You can verify the file creation with the ls command:
Method #4: Use the echo Command to Create a New File
The echo command duplicates the provided text and saves a copy in a file. Let’s see this command in action. The following command will create a file named textfile4.txt and save the provided text in it.
# echo ‘We are RedSwitchestest’ > testfile4.txt
Again, use the ls command to verify that the new file has been created.
# ls
If you wish, you can use the cat command to print the contents of the textfile4 in the terminal.
# cat testfile4.txt
Method #5: Use the printf Command to Create a New File
The printf command works like the echo command and brings additional formatting capabilities.
Run the following command in the terminal to create a file named textfile5.txt and add a line to it:
# printf 'Hello World, We are RedSwitches\n’ testfile5.txt
You can use the \n separator to add multiple lines to the file. To demonstrate this, use the following command:
# printf 'Hello World, We are RedSwitches\n Bare Metal Server Providers’ testfile6.txt
Use the cat command to view the contents of these files:
# cat testfile5.txt
# cat testfile6.txt
Method #6: Use Text Editors to Create a File in Linux
Every Linux distribution comes with at least one built-in command-line text editor. In addition, you can install several command-line text editors to take advantage of unique strengths and capabilities.
We will introduce you to three of the most widely used terminal-based text editors and demonstrate how you can create a file in Linux.
Vi Text Editor (vi)>
The Vi text editor is the classic non-GUI text editor on Linux. Almost every mainstream Linux distribution has Vi as one of the core packages. That’s why every Linux user, especially system admins and developers, should be familiar with the Vi text editor.
Let’s create a file in the terminal with the following command that uses vi as the text editor:
# vi testfile7.txt
The display will transform, indicating you are now in the text editor. Hit the i key to enter the insert mode, and then enter some text.
To save your changes and exit, press Esc and then 😡. Press Enter to confirm the command.
Vim Text Editor (vim)
To be fair, Vi is not very intuitive, and many users tend to avoid it because of its complicated command sequences.
Vim (short for Vi Improved) text editor is a more modern terminal-based text editor that adds user-friendliness to Vi’s capabilities.
Enter the following command to create a new text file using the Vim text editor:
# vim tesfilet8.txt
The Vim’s interface resembles Vi’s, and they share functionality and commands.
Press i to initiate the insert mode and then type your text. To save the file and exit, enter the following command sequence:
Esc :wq! Enter
Nano Text Editor
Nano is a more contemporary text editor with a simpler and more user-friendly experience.
Follow these steps to create a new text file with nano.
# nano test9.txt
By default, Nano launches into the edit mode and conveniently presents a list of useful commands at the screen’s bottom for easy reference.
Type your text and press Ctrl+O to save the file. Next, press Ctrl+X to leave the editor.
Conclusion
Creating a file in Linux using the terminal is a fundamental skill that uses commands and command-line text editors. Whether you choose the time-tested Vi, the enhanced Vim, or the user-friendly Nano, you can start with a blank slate and create a file for your use.
You can also take advantage of the commands such as cat and echo to spin up files. In most cases, admins use these commands in scripts that need files for their operation.
Want to experience high-resource dedicated hosting? Unlock blazing-fast performance and unparalleled reliability for your online ventures. Get started with RedSwitches and elevate your hosting experience today.
We offer the best dedicated server pricing and deliver instant dedicated servers, usually on the same day the order gets approved. Whether you need a dedicated server, a traffic-friendly 10Gbps dedicated server, or a powerful bare metal server, we are your trusted hosting partner.
FAQs
Q. What is the terminal?
In Linux operating systems, the terminal—often called the command line or command prompt—is a textual interface that allows you to execute commands directly to communicate with the system.
Q. What’s the process for generating a new file in Linux through the command line?
Initiating a new file via the command line in Linux can be done by executing the touch command along with the desired file name. For example, to create a file named example.txt, use the command touch example.txt.
Q. What is a text file?
A text file is a type of file that contains plain text and can be opened and edited with a text editor. It contains no formatting or special coding, just the raw text.
Q. What are the steps to make a text file in Linux?
To create a text file in Linux, you can use various methods such as the touch or cat commands, or a text editor like nano.
Q. How can I create a text file using the cat command?
You can create a text file with the cat command by typing cat > filename.txt, entering your text, and then pressing Ctrl+D to save and exit.
Q. How do files differ from directories in Linux?
Files in Linux are individual data entities with a name for storage purposes. In contrast, directories serve as organizational units that hold files and further subdirectories, akin to folders containing documents in a filing system.
Q. Are there other ways to create a new file in Linux?
Yes, besides the touch command and the cat command, you can also create a file using a text editor like nano or by redirecting the output of a command to a file using the > symbol.
Q. How do I create a new text file using the nano command?
To create a new text file using nano, you can simply type nano filename.txt in the terminal, where filename.txt is the name you want to give to the file. This will open the nano text editor, and you can start typing the file’s content.
Q. How can I create a file with specific content using the command line?
There are several ways to create a file with specific content using the command line. You can use commands like echo, printf, or cat combined with input redirection to specify the content.
Q. What methods are available for creating a file with predetermined content via the command line?
To populate a file with specific content through the command line, you can employ tools such as echo or printf commands, or use the cat command alongside redirection operators to direct the desired content into a new file.
Q. Can I create a file in Linux for reading only?
Yes, you can create a file in Linux for reading only. You can create the file with the desired content and then change its permissions to make it read-only using the chmod command.
Q. What is the -p option in Linux file creation?
The -p option allows creating parent directories along with the specified file or directory if they don’t already exist. It simplifies the process by avoiding the need to create each directory individually.
Q. How do I add a timestamp to a file in Linux?
You can add a timestamp to a file in Linux using the touch command followed by the file name. This updates the access and modification times of the file to the current time.
Q. How do I delete a file in Linux?
To delete a file in Linux, you can use the rm command followed by the file name. For instance, rm myfile.txt deletes the file named myfile.txt. You should be careful, as this action is irreversible. Alternatively, you can check out our tutorial on deleting directories in Linux. This often removes the files in the directories.