Best 4 Ways To Create a File in Linux Command Line
In this guide, we aim to demonstrate several Different Ways To Create a File in the Linux Command Line. Creating files in Linux is a fundamental task, and the command line offers a variety of tools to accomplish this. You can easily use various Linux commands to create a file. This article will guide you through creating empty files, creating files and opening them in an editor, and creating files and writing content to them. Let’s explore how to Create a File in Linux Command Line.
To Create a File in Linux Command Line, you will need access to a Linux server, either as the root user or as a non-root user with sudo
privileges. If you need assistance setting up your server, resources are available online that provide initial server setup guides for various Linux distributions.
Now, let’s delve into the steps below to explore different Linux commands to Create a File in Linux Command Line.
Step 1 – Create an Empty File in the Linux Command Line
We’ll begin by exploring how to create an empty file in Linux. Several commands can achieve this.
Touch Command
The first Linux command-line utility we’ll use is the touch
command. This is a simple and efficient way to create an empty file. For example:
touch file.txt
This command will create an empty file named file.txt
. If you then use the cat
command to view the file’s contents, it will display nothing because the file is indeed empty.
Echo Command
Another command that can be used to create an empty file is the echo
command. While typically used for displaying text, it can be cleverly used to create empty files as well. The syntax is as follows:
echo -n > file2.txt
The -n
option tells echo
not to print a newline character, and the >
redirects the output (which is nothing, thanks to -n
) to a new file named file2.txt
.
Greater Than Operator >
The redirection operator >
is a simple way to create empty files. It works by redirecting the output of a command (or nothing at all) into a file.
> file3.txt
This single line creates an empty file named file3.txt
. You can verify its creation using the ls
command.
Printf Command
The printf
command can also create empty files. Similar to the echo
command, we can use empty strings to effectively create an empty file. Here’s how:
printf '' > file4.txt
The two single quotes ''
represent an empty string, which is then redirected to a new file named file4.txt
. Again, the ls
command will confirm the file’s creation.
Step 2 – Create an Empty File and Open it in the Linux Command Line
To Create a File in Linux Command Line and open it simultaneously, text editors like Nano, Vi, and Vim are your best friends. When you invoke these editors with a filename, they will check for the file’s existence. If the file exists, it will be opened. However, if the file does not exist, it will be created and then opened.
For example, let’s use the Vi Editor to create a Python file:
vi app.py
This command will open the app.py
file in the Vi editor. If app.py
doesn’t exist, it will be created.
~
~
~
"app.py" [New File]
Because we want to create an empty file, we don’t need to write anything to it. To exit the Vi editor without saving, you can use the command :q!
.
Note: If you don’t write anything to the file and exit without saving, the new file will not be created. You can confirm this by using the ls
and cat
commands.
Step 3 – Create a File and Write Into It in the Linux Command Line
Now let’s explore how to Create a File in Linux Command Line and write content to it. Similar to creating empty files with the echo
and printf
commands, these commands can also be used to write content to files.
Write into files with Echo and Printf Linux Commands
The echo
command is a versatile tool for creating files and adding content. For instance, we can create a text file and write a sample text to it with the following syntax:
echo 'This is a test text file from orcacore' > file5.txt
This command creates (or overwrites) file5.txt
and writes the specified text string into it. You can verify the file’s content with the following command:
cat file5.txt
Output
This is a test text file from orcacore
Similarly, you can Create a File in Linux Command Line and write to it using the printf
command, mirroring the functionality of the echo
command:
printf 'This is a test text file from orcacore' > file6.txt
Write into files with cat Linux Command
The cat
command, typically used for displaying file contents, can also be used to create files and write to them using the redirection operator >
.
cat > file7.txt
After running this command, the terminal will wait for you to input text. Any text you type will be written to file7.txt
. To finish writing and save the file, press Ctrl+D
.
orca@deb:~# cat > file7.txt
This is a test file
^C
You can then verify the content of the file using the cat
command:
cat file7.txt
Step 4 – Combine Multiple Files into One File in Linux
At times, you might want to combine the contents of several files into a single file. The cat
command provides a straightforward way to achieve this. For example, let’s create two files and add some content to them:
echo 'testcontent1' > f1
echo 'testcontent2' > f2
Now, to combine the contents of f1
and f2
into a new file named f3
, use the following cat
command:
cat f1 f2 > f3
Verifying the content of f3
should reveal the combined content of f1
and f2
:
cat f3
Output
testcontent1
testcontent2
Furthermore, the mv
command can be used to rename or relocate file content. If the destination file doesn’t exist, the mv
command will create it. For instance, to move the content of f3
to a new file named file8.txt
, use the following command:
mv f3 file8.txt
Verifying the new file should show the combined contents of the original files:
cat file8.txt
Output
testcontent1
testcontent2
That’s it! You’re done.
Conclusion
In this article, you’ve learned various ways to Create a File in Linux Command Line, write content into it, and combine multiple files into a new file. These commands are essential knowledge for any Linux user.
Hope you enjoy using it. You may also be interested in these articles:
Uninstall and Remove the PPA Repository From Ubuntu and Debian
Using Fasd in Linux for Quick Access to Files & Directories
Tail Command in Linux for Logs
Alternative Solutions for Creating Files in Linux
While the above methods are commonly used, here are two alternative approaches to create files in the Linux command line:
1. The dd
command
The dd
command is primarily used for copying and converting data, but it can also be employed to create files of a specific size, including empty files.
Explanation:
The dd
command reads from an input file (if
) and writes to an output file (of
). By specifying /dev/null
as the input, we read nothing. The bs
option specifies the block size (the amount of data read/written at a time), and count
specifies the number of blocks to read/write. Setting count
to 0 effectively creates an empty file.
Code Example:
dd if=/dev/null of=file9.txt bs=1 count=0
This command creates an empty file named file9.txt
.
2. Using truncate
command
The truncate
command is designed specifically for shrinking or extending the size of a file to a specified size. It’s an efficient way to create an empty file or to resize an existing one.
Explanation:
The truncate
command with the -s 0
option sets the size of the file to zero bytes, effectively creating an empty file. If the file doesn’t exist, it will be created.
Code Example:
truncate -s 0 file10.txt
This will create an empty file named file10.txt
. If file10.txt
already existed, its contents would be removed. The beauty of the truncate command is its directness and ease of understanding. This makes it a very useful and clean way to Create a File in Linux Command Line.