Bird
Raised Fist0
Linux CLIscripting~3 mins

touch (create empty files) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you need to create a new empty file quickly or update the timestamp of an existing file. The touch command helps you do this easily from the command line without opening any editor.
When you want to create a new empty file to start writing content later.
When you need to update the last modified time of a file without changing its content.
When a script requires a file to exist before running but you don't have the content yet.
When you want to create multiple empty files at once for organizing your project.
When you want to reset the timestamp of a file to the current time for tracking purposes.
Commands
This command creates a new empty file named example.txt in the current directory. If the file already exists, it updates its last modified time to the current time.
Terminal
touch example.txt
Expected OutputExpected
No output (command runs silently)
This command lists the details of example.txt so you can verify that the file exists and see its timestamp.
Terminal
ls -l example.txt
Expected OutputExpected
-rw-r--r-- 1 user user 0 Jun 10 12:00 example.txt
→
-l - Shows detailed information including permissions, owner, size, and timestamp.
This command creates three empty files named file1.txt, file2.txt, and file3.txt at once.
Terminal
touch file1.txt file2.txt file3.txt
Expected OutputExpected
No output (command runs silently)
This command tries to update the timestamp of missing.txt but does not create it if it does not exist, because of the -c flag.
Terminal
touch -c missing.txt
Expected OutputExpected
No output (command runs silently)
→
-c - Do not create any files; only update existing ones.
Key Concept

If you remember nothing else from this pattern, remember: touch creates empty files or updates timestamps without changing file content.

Common Mistakes
Expecting touch to add content to the file.
Touch only creates empty files or updates timestamps; it does not write any text.
Use a text editor or echo command to add content after creating the file.
Using touch with a filename that does not exist and expecting no file to be created.
By default, touch creates the file if it does not exist.
Use the -c flag to avoid creating new files when updating timestamps.
Not verifying the file creation with ls or similar commands.
You might think the file was created but it might be in a different directory or not created due to permissions.
Always check with ls -l or similar commands to confirm file creation.
Summary
Use touch filename to create an empty file or update its timestamp.
Use touch with multiple filenames to create several empty files at once.
Use touch -c filename to update timestamps without creating new files.
Verify file creation or timestamp update with ls -l filename.

Practice

(1/5)
1. What does the touch command do in Linux?
easy
A. Copies a file to another location
B. Deletes a file permanently
C. Creates an empty file or updates the timestamp of an existing file
D. Displays the contents of a file

Solution

  1. Step 1: Understand the purpose of touch

    The touch command is used to create empty files or update the modification time of existing files.
  2. Step 2: Compare with other commands

    Deleting files is done with rm, copying with cp, and displaying contents with cat. None of these are touch.
  3. Final Answer:

    Creates an empty file or updates the timestamp of an existing file -> Option C
  4. Quick Check:

    touch = create/update file time [OK]
Hint: Remember: touch makes or updates files fast [OK]
Common Mistakes:
  • Confusing touch with delete or copy commands
  • Thinking touch shows file content
  • Assuming touch edits file content
2. Which of the following is the correct syntax to create an empty file named notes.txt using touch?
easy
A. touch notes.txt
B. touch -c notes.txt
C. touch > notes.txt
D. touch -r notes.txt

Solution

  1. Step 1: Identify the basic syntax of touch

    The basic command to create or update a file is touch filename. So touch notes.txt is correct.
  2. Step 2: Understand other options

    -c prevents creating a file if it doesn't exist, > is shell redirection (not touch syntax), and -r copies timestamps from another file.
  3. Final Answer:

    touch notes.txt -> Option A
  4. Quick Check:

    Basic touch syntax = touch filename [OK]
Hint: Use simple: touch filename to create empty file [OK]
Common Mistakes:
  • Using shell redirection instead of touch syntax
  • Adding unnecessary options like -c or -r
  • Confusing touch options with other commands
3. What will be the output of the following commands?
touch file1.txt file2.txt
ls -l file1.txt file2.txt
medium
A. Creates only file1.txt and ignores file2.txt
B. Shows an error because multiple files cannot be created with touch
C. Deletes file1.txt and file2.txt
D. Lists details of file1.txt and file2.txt, both created as empty files

Solution

  1. Step 1: Understand touch with multiple files

    The touch command can create multiple files at once by listing them separated by spaces.
  2. Step 2: Check ls -l output

    The ls -l command lists detailed info of the files, showing their size (0 bytes if empty) and timestamps.
  3. Final Answer:

    Lists details of file1.txt and file2.txt, both created as empty files -> Option D
  4. Quick Check:

    touch multiple files = creates all listed [OK]
Hint: touch can create many files at once by listing them [OK]
Common Mistakes:
  • Thinking touch only creates one file at a time
  • Expecting an error with multiple filenames
  • Confusing touch with delete or move commands
4. You run touch newfile.txt but get an error: touch: cannot touch 'newfile.txt': Permission denied. What is the likely cause?
medium
A. You do not have write permission in the directory
B. The file newfile.txt already exists
C. The touch command is misspelled
D. The disk is full

Solution

  1. Step 1: Analyze the error message

    The error says "Permission denied" which means the user lacks rights to create or modify files in the directory.
  2. Step 2: Check other options

    If the file exists, touch updates timestamp without error. Misspelling touch causes command not found, not permission denied. Disk full causes different errors.
  3. Final Answer:

    You do not have write permission in the directory -> Option A
  4. Quick Check:

    Permission denied = no write access [OK]
Hint: Permission denied means no write rights in folder [OK]
Common Mistakes:
  • Assuming file existence causes permission error
  • Thinking touch command typo causes permission error
  • Ignoring directory permissions
5. You want to create empty files named log1.txt, log2.txt, ..., log5.txt quickly using a single command. Which command achieves this?
hard
A. touch log*.txt
B. touch log{1..5}.txt
C. touch log1.txt log2.txt log3.txt log4.txt log5.txt
D. touch log[1-5].txt

Solution

  1. Step 1: Understand brace expansion

    The syntax log{1..5}.txt uses brace expansion to create multiple filenames from 1 to 5.
  2. Step 2: Evaluate other options

    log[1-5].txt matches single characters in brackets, not ranges. Listing all files manually works but is long. log*.txt matches existing files, not create new ones.
  3. Final Answer:

    touch log{1..5}.txt -> Option B
  4. Quick Check:

    Brace expansion creates multiple files fast [OK]
Hint: Use brace expansion: touch file{1..5}.ext [OK]
Common Mistakes:
  • Using square brackets instead of braces for ranges
  • Typing all filenames manually instead of using expansion
  • Using wildcard which matches existing files only
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard