Creating files on Linux is not a cumbersome task, however, those who are new to it or just shifting from Windows to Ubuntu-like systems may face some problems with creating files using command line especially.
Well, even on Linux anybody can create files and folders using a graphical user interface that works just like a charm. Simply right-click and select the New folder or New Document for text files. However, this is not true with every Linux system. For example on Ubuntu right-clicking will give you the only option to create a new folder, thus when it comes to creating a text using GUI you will get stuck.
Therefore, to create a file on Ubuntu Linux, there are two options either using the command terminal or enabling the “new document” option in the right-click context menu of Ubuntu. We will show both the methods.
Create a file in Ubuntu 20.04 using GUI & right-click
Although here we are using Ubuntu 20.04 LTS, the steps given below are applicable for Ubuntu 19.04/18.04 and previous versions.
By default, when we right-click inside anywhere in the Ubuntu Nautilus file manager, it will not give us the “New document” option. Thus, to get this missing option, we need to run a command.
- Open Ubuntu command terminal.
- Run command-
mkdir -p ~/Templates/Text cd ~/Templates/Text touch document
- Now, go to your Linux File Manager and right-click where you want to create a new file
- Select New Document and then Text Document
- This will instantly create a new text file on your Linux OS.
For example, I want to create some text document files on my Linux Desktop, then inside the Desktop folder I will right-click, rest of the below picture can describe.
Command-Line to create a new document on Ubuntu Linux
There are a couple of ways to create an empty file without any content or one with some on Linux, here we show all the best possible ways to do that using the command terminal. The below-given commands are applicable for all types of Linux distros.
5 Best Ways to create a new file on Linux
- Using Touch command
- Nano Text editor
- VIM/VI text editor
- Echo command
- Cat command
Note: Inside any folder that was created with root rights, create a file there. we have to use
sudo with every command given below.
1. Using the Touch command
As we already have seen in the GUI method, how we have created an empty document using the Touch command in the terminal. Thus, in the same way anywhere in any directory, we can use the touch tool to create an empty file.
The command syntax is:
Now, here we can define the extension to let the system what kind of file we want to create such as a txt, docx.
For example, I want to create a Text file or Docx, thus the command will be:
Here is the example screenshot, where we have created a file on the Ubuntu Desktop using command terminal and touch command:
2. Nano Editor
Nano is the popular and easy-to-use command-line visual text editor that not allows users to edit any existing file on the system using the terminal but also lets us create a new file to add some content and save it anywhere on Linux.
Some Linux may not have nano editor by default, thus to install it run:
For Ubuntu/Debian –
sudo apt install nano
For REHL based Linux-
sudo yum install nano
Now, how to use a nano text editor to create a new file? Well, it is quite simple, on command terminal type- nano along with the filename.
for example, I want to create a text file then the command will be:
Add some lines or just press the Enter key. Then save the file by pressing
Y, and hit the Enter key.
3. Vim or Vi text editor
Vi is a command-line text editor that is available to use on every Linux including Ubuntu out of the box, thus no need to install anything, just use its command to create or edit an existing file on your system.
Now, what is the difference between VIM and VI text editors? Vi is the early implementation of a visual text editor and that is why it is available on all Linux systems, whereas VIM that stands for Vi IMproved, is the enhanced version for Vi text editor with many additions. Thus, you may not find VIM by default on all Linux distros and need to install it manually.
To install VIM on Ubuntu/Debian type-
sudo apt install vim
For RHEL based–
sudo yum install vim
Nevertheless, the syntax to create a new file on Linux using both the editors will be the same. However, they are slightly complex to use as compared to
To create a file using Vim or Vi type
To add the content, press the “INSERT” key on your keyboard. Once you are done and want to save the created file’s content press the Esc key and then type
:wq , and finally hit the Enter key to exit.
4. Echo command using Redirect operator
The echo command is another one available on all Linux distros to not only create a new file but also add the text in the same. I mean you can add the text into your file right the moment you are creating it.
echo > file-name
Let’s see some examples using the Echo command:
So, if I want to create a new file on Linux with echo and at the same time I also want to add some text into it, let’s say “My name is Linux” thus the command will be like this:
echo "My name is linux" > h2s.txt
In the above, the command h2s.txt file will be created having the content “My name is Linux“.
If you want to create a blank file with echo then don’t type anything before Redirect > operator i.e
echo > h2s.txt
5. Cat command
Cat is also easy to use Linux command that can create a file using a command-line interface.
cat > file-name
cat > h2s.txt
Add the text you want in your file and hit the Enter button. To save the file, press-
Note: For empty files don’t add any text and use only the shortcut to save it.
If you want to read the text of any existing file without opening it, then
cat can be used.
For example, let’s create a file demo.txt and then add the text “My name is Linux” into it. Once done, save it and again call the same using the cat to read its text directly inside the terminal but without actually opening the file.
cat > demo.txt
Add text and hit the Enter key
Save the file –
Ctrl + d
If you want to read the text of the file using the
cat command then type: