Published January 21, 2019
Explore three ways to create files using the CLI
Hi everyone, this is Brian and today we’re going to look at three ways to create files.
The first way to create files is with the
touch command. Usually, you use
touch to update the timestamp on a file. But if the file doesn’t exist,
touch creates a blank one.
Let’s create three files with the
$ touch one.txt two.txt three.txt
This one command creates three files. You can specify as many files as you’d like.
Now list the contents of the directory and you’ll see the files:
$ ls one.txt two.txt three.txt
These files are empty, but you can edit them in your favorite editor.
The second way to create files is with the
echo command and shell redirection. Here’s how:
$ echo "Hello there." > four.txt
The text “Hello there.” is redirected into that file instead of being printed to the screen. Look at the file’s contents with
$ cat four.txt Hello there.
A single arrow always replaces the file content. To add another line, use two arrows:
$ echo "This is another line." >> four.txt
You can keep appending text to the file this way.
You can save the output of any program that prints to the screen. For example, save the output of the directory listing to the file ‘list.txt’
$ ls > list.txt
Instead of seeing the directory listing on the screen, it’s in the file.
$ cat list.txt
The third way to create files is to use
cat and a here-document. We’ll tell the
cat command to accept a
here-document and read in all of the text that follows until it finds the line
EOF. Then we’ll tell it to save the result to the file
cat << 'EOF' > five.txt > This is a line > So is this. > This is line 3 EOF
The file saves. We can use
cat to look at the file contents:
$ cat five.txt This is a line So is this. This is line 3
There you have it. Three methods to create files. Practice with these and see if you can figure out which method works for you.
Thanks for watching. For more videos like this, subscribe to the channel. Share and like this video if you found it useful. You can learn more about command-line tools and techniques in my book Small Sharp Software Tools, available at smallsharpsoftwaretools.com.