What's the easiest way to create a file in Linux terminal?
Depending on what you want the file to contain:
touch /path/to/file
for an empty filesomecommand > /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
orvi /path/to/file
(orany 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
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
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
haha! it's easy! try this:
$ touch filename
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:
https://askubuntu.com/questions/103643/cannot-echo-hello-x-txt-even-with-sudo
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
1st method
echo -n > filename.txt
2nd method
> filename.txt
3rd method
touch filename.txt
To view the file contents
vi filename.txt
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
You can use the touch
command to create a new empty file.
Simple as that :
> filename
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
One of the easiest way and quick
$ vim filename
来源:https://stackoverflow.com/questions/9381463/how-to-create-a-file-in-linux-from-terminal-window