How to Create a File in a Directory in Linux

This minHour article teaches you how to create a file in a directory in Linux.  There are many ways you can create files using the Terminal in Linux.  You can create simple text files using short Terminal commands, or you can use one of Linux's built-in text editors to create complex documents.

Using the “Touch” Command

Press Ctrl+Alt+T to open the Terminal.

The Terminal is a command-line interface that is available on most Linux distributions. It typically has an icon that resembles a black screen with a white text cursor. You can either click the Terminal icon in the Apps menu, or press + + at the same time to open the Terminal.

Navigate to the directory you want to create a file in.

To do so, type cd followed by the path to the directory you want to create a file in and press .. For example, you could type cd /home/username/Documents to navigate to your Documents folder.

  • Alternatively, you can type cd / to navigate to the Root directory, or type cd ~ to navigate to your Home/User directory.
  • You can also type cd ~ followed by the path relative to your Home/User folder to navigate to a directory. For example, type cd ~/Documents and press enter to navigate to “/home/user/Documents” directory.
  • Type pwd and press Enter to see what directory you are currently in.
  • Type mkdir followed by the directory name to create a new directory in the directory you are currently in.

Type touch.

The “touch” command is used to create an empty file in Linux. This is the easiest way to create a file in Linux.

Type the name of the file and press ↵ Enter.

You can type the filename by itself (i.e. “touch blank_file”}} or add a file extension to the end of it (i.e. “touch blank_file.txt”). This creates a blank file.

  • Add multiple filenames after the “touch” command to create multiple files (i.e. “touch file_1 file_2 file_3”).
  • Alternatively, you can create a file in any directory you want by adding the directory path after the “touch” command (i.e “touch /home/username/Documents/blank_file.txt”)
  • You can create a file in multiple directories by adding the directory names after the touch command. For example touch category/file1.txt subcategory/blank_file.txt or touch {category,subcategory}/blank_file.txt.
  • If the file you are trying to create already exists in the directory, the time stamp for that file will be updated instead.

Type ls and press ↵ Enter.

This displays a list of all files in your current directory and allows you to verify that the file you just created is present.

Using the “Cat” Command

Press Ctrl+Alt+T to open the Terminal.

The Terminal is a command-line interface that is available on most Linux distributions. It typically has an icon that resembles a black screen with a white text cursor. You can either click the Terminal icon in the Apps menu, or press + + at the same time to open the Terminal.

Navigate to the directory you want to create a file in.

To do so, type cd followed by the path to the directory you want to create a file in and press .. For example, you could type cd /home/username/Documents to navigate to your Documents folder.

  • Alternatively, you can type cd / to navigate to the Root directory, or type cd ~ to navigate to your Home/User directory.
  • You can also type cd ~ followed by the path relative to your Home/User folder to navigate to a directory. For example, type cd ~/Documents and press enter to navigate to “/home/user/Documents” directory.
  • Type pwd and press Enter to see what directory you are currently in.
  • Type mkdir followed by the directory name to create a new directory in the directory you are currently in.

Type cat > followed by the file name and press +↵ Enter.

For example, you can type cat >README.txt to create a new text file. You can type the filename by itself (i.e. “README”) or add a file extension to the end of it (i.e. “cat >hello.txt”). Use the “cat” command to create files that contain text or code.

  • Alternatively, you can use the command cat >> to append an existing file. If no file exists with the specified file name, a new file will be created. If a file by that name already exists, then the text you add will be appended to the end of the file instead of replacing the existing text.

Type the text you want to go in the file.

After creating a file using the “cat” command, the Terminal enters write mode allowing you to add text to the file. Type the text you want the file to contain on the next line.

Press Ctrl+d.

This saves the file with the text and exits write mode in the Terminal.

  • To view the text in the file, simply type “cat” (without the “>” symbol) followed by the file name and press Enter (i.e. cat README.txt). This displays the text in the Terminal.

Type ls and press ↵ Enter.

This displays a list of all files in your current directory and allows you to verify that the file you just created is present.

Using the Nano Text Editor

Press Ctrl+Alt+T to open the Terminal.

The Terminal is a command-line interface that is available on most Linux distributions. It typically has an icon that resembles a black screen with a white text cursor. You can either click the Terminal icon in the Apps menu, or press + + at the same time to open the Terminal.

Navigate to the directory you want to create a file in.

To do so, type cd followed by the path to the directory you want to create a file in and press .. For example, you could type cd /home/username/Documents to navigate to your Documents folder.

  • Alternatively, you can type cd / to navigate to the Root directory, or type cd ~ to navigate to your Home/User directory.
  • You can also type cd ~ followed by the path relative to your Home/User folder to navigate to a directory. For example, type cd ~/Documents and press enter to navigate to “/home/user/Documents” directory.
  • Type pwd and press Enter to see what directory you are currently in.
  • Type mkdir followed by the directory name to create a new directory in the directory you are currently in.

Type nano followed by a file name and press ↵ Enter.

You can type the filename by itself (i.e. “nano text_file”}} or add a file extension to the end of it (i.e. “nano python_program.py”). This creates a new file and opens it in Nano.

  • Nano may not be available on all Linux distributions. To install Nano, type sudo apt install nano and press Enter to install Nano on Ubuntu/Debian. Type sudo yum install nano and press Enter to install Nano on CentOS/Fedora.
  • You can also specify which directory you want to create the file in by entering the path of the directory after the “vi” command (i.e nano /home/username/Documents/website/main.php).

Type the text you want your file to contain.

As soon as Nano opens, you can begin entering your text.

Press Ctrl+X.

Use this keyboard shortcut to save and exit Nano when you are done editing your text.

Press y followed by ↵ Enter.

This confirms that you want to save your file and exits Nano. You will be returned to the standard Terminal command-line.

Using the “Echo” Command

Press Ctrl+Alt+T to open the Terminal.

The Terminal is a command-line interface that is available on most Linux distributions. It typically has an icon that resembles a black screen with a white text cursor. You can either click the Terminal icon in the Apps menu, or press + + at the same time to open the Terminal.

Navigate to the directory you want to create a file in.

To do so, type cd followed by the path to the directory you want to create a file in and press .. For example, you could type cd /home/username/Documents to navigate to your Documents folder.

  • Alternatively, you can type cd / to navigate to the Root directory, or type cd ~ to navigate to your Home/User directory.
  • You can also type cd ~ followed by the path relative to your Home/User folder to navigate to a directory. For example, type cd ~/Documents and press enter to navigate to “/home/user/Documents” directory.
  • Type pwd and press Enter to see what directory you are currently in.
  • Type mkdir followed by the directory name to create a new directory in the directory you are currently in.

Type echo followed by some text in quotations.

The text you enter in quotations will be saved to the file. Use the “echo” command to create files with short lines of text.

Type > followed by the file name and press ↵ Enter.

The entire command should look something like this echo “Hello World” >hello_world.txt. This saves the file with the text in quotations.

  • Alternatively, you can add >> at the end of the text. This will create a new file if no file by the file name specified exists. If a file by that name already exists, the text will be appended to the end of the existing file text.

Type ls and press ↵ Enter.

This displays a list of all files in your current directory and allows you to verify that the file you just created is present.

Using the VI and VIM Text Editor

Press Ctrl+Alt+T to open the Terminal.

The Terminal is a command-line interface that is available on most Linux distributions. It typically has an icon that resembles a black screen with a white text cursor. You can either click the Terminal icon in the Apps menu, or press + + at the same time to open the Terminal.

Navigate to the directory you want to create a file in.

To do so, type cd followed by the path to the directory you want to create a file in and press .. For example, you could type cd /home/username/Documents to navigate to your Documents folder.

  • Alternatively, you can type cd / to navigate to the Root directory, or type cd ~ to navigate to your Home/User directory.
  • You can also type cd ~ followed by the path relative to your Home/User folder to navigate to a directory. For example, type cd ~/Documents and press enter to navigate to “/home/user/Documents” directory.
  • Type pwd and press Enter to see what directory you are currently in.
  • Type mkdir followed by the directory name to create a new directory in the directory you are currently in.

Type vi followed by the a file name and press ↵ Enter.

You can type the filename by itself (i.e. “vi file1”}} or add a file extension to the end of it (i.e. “vi file1.txt”). This creates a new file by the name specified and opens the file in the VI text editor. VI is a Terminal-based text editor. It is the oldest text editor for Linux and works in all versions of Linux.

  • Alternatively, you can use the vim in place of the {[kbd|vi}} command. This opens the VIM text editor, which is a newer and more user-friendly version of VI. VIM may not be available on all Linux distributions. If VIM is not installed on your Linux distribution, type sudo apt install vim and press Enter to install VIM on Ubuntu/Debian. Type sudo yum install vim and press Enter to install VIM on CentOS/Fedora. .
  • You can also specify which directory you want to create the file in by entering the path of the directory after the “vi” command (i.e., “vi /home/username/Documents/Website/index.html”).

Press i to switch to Insert mode.

VI has two modes, Command mode and Insert mode. Command mode allows you to perform various tasks using the keyboard keys. Insert mode allows you to enter text. Press to switch to Insert mode.

Type the text you want to add.

Now that you are in “Insert” mode, you can type the text the way you would using any other text editor. Enter the text you want the file to contain.

Press Esc.

This switches from Insert mode back to Command mode..

Type the command to save and exit VI.

To do so, type :wq and press . This saves the file and returns to the standard Terminal command-line.

Leave a Comment