How to create a file in Linux from terminal window? [closed]

What's the easiest way to create a file in Linux terminal?

1

17 Answers

Depending on what you want the file to contain:

  • touch /path/to/file for an empty file
  • somecommand > /path/to/file for a file containing the output of some command.

     eg: grep --help > randomtext.txt echo "This is some text" > randomtext.txt
  • nano /path/to/file or vi /path/to/file (or any other editor emacs,gedit etc)
    It either opens the existing one for editing or creates & opens the empty file to enter, if it doesn't exist

14

Use touch

touch filename

Create the file using cat

$ cat > myfile.txt

Now, just type whatever you want in the file:

Hello World!

CTRL-D to save and exit

5

There are several possible solutions:

Create an empty file

touch file
>file
echo -n > file
printf '' > file

The echo version will work only if your version of echo supports the -n switch to suppress newlines. This is a non-standard addition. The other examples will all work in a POSIX shell.

Create a file containing a newline and nothing else

echo '' > file
printf '\n' > file

This is a valid "text file" because it ends in a newline.

Write text into a file

"$EDITOR" file
echo 'text' > file
cat > file <<END \
text
END
printf 'text\n' > file

These are equivalent. The $EDITOR command assumes that you have an interactive text editor defined in the EDITOR environment variable and that you interactively enter equivalent text. The cat version presumes a literal newline after the \ and after each other line. Other than that these will all work in a POSIX shell.

Of course there are many other methods of writing and creating files, too.

Also, create an empty file:

touch myfile.txt

You can use touch command, as the others said:

touch filename

To write on file on command line, you can use echo or printf:

echo "Foo" > filename
printf "Foo" > filename

Maybe you can have problems with permissions. If you are getting the following error: bash: filename: Permission denied, you need to use sudo bash -c 'echo "Foo" > filename', as described here:

1

How to create a text file on Linux:

  • Using touch to create a text file: $ touch NewFile.txt
  • Using cat to create a new file: $ cat NewFile.txt
    The file is created, but it's empty and still waiting for the input from the user. You can type any text into the terminal, and once done CTRL-D will close it, or CTRL-C will escape you out.
  • Simply using > to create a text file: $ > NewFile.txt
  • Lastly, we can use any text editor name and then create the file, such as:
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName

haha! it's easy! try this:

$ touch filename
1

1st method

echo -n > filename.txt

2nd method

> filename.txt

3rd method

touch filename.txt

To view the file contents

vi filename.txt
2

This will create an empty file with the current timestamp

touch filename
touch filename

for permission denied error use sudo command as:

sudo touch filename

Simple as that :

> filename

You can use the touch command to create a new empty file.

I like the nano command-line editor (text):

nano filename

In case you guys are trying to create a new file, but it says: 'File does not exist', it's simply because you are also accessing a directory, which does not exist yet. You have to create all non existent directories first, using the mkdir /path/to/dir command.

To create a blank file with ownership and permissions using install.

sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt
3

One of the easiest way and quick

$ vim filename

You Might Also Like