Bird
Raised Fist0
Linux CLIscripting~20 mins

ls (list files and directories) in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
ls Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of ls -l in a directory with one file named file.txt?
You run the command ls -l in a directory containing a single file named file.txt. What will the output look like?
Linux CLI
ls -l
A
total 0
-rw-r--r-- 1 user user 0 Apr 27 12:00 file.txt
B-rw-r--r-- 1 user user 0 Apr 27 12:00 file.txt
C
total 1
-rw-r--r-- 1 user user 0 Apr 27 12:00 file.txt
Dfile.txt
Attempts:
2 left
💡 Hint
The -l option shows detailed info including permissions, owner, size, and date.
💻 Command Output
intermediate
2:00remaining
What does ls -a show in a directory with files file1, .hidden?
You run ls -a in a directory containing two files: file1 and .hidden. What will the output be?
Linux CLI
ls -a
Afile1
Bfile1 .hidden
C.hidden
D. .. file1 .hidden
Attempts:
2 left
💡 Hint
The -a option shows all files, including hidden and special entries.
📝 Syntax
advanced
2:00remaining
Which ls command lists files sorted by modification time, newest first?
You want to list files sorted by modification time, newest first. Which command is correct?
Als -ltr
Bls -lt
Cls -ltu
Dls -lS
Attempts:
2 left
💡 Hint
The -t option sorts by modification time, -r reverses order.
🔧 Debug
advanced
2:00remaining
Why does ls -l /nonexistent produce an error?
You run ls -l /nonexistent but get an error message. What is the reason?
AThe -l option is invalid with absolute paths
BYou need root permissions to list /nonexistent
CThe directory /nonexistent does not exist
DThe command requires a trailing slash on directories
Attempts:
2 left
💡 Hint
Check if the directory exists before listing.
🚀 Application
expert
2:00remaining
How to list only directories in current folder using ls and shell features?
You want to list only directories (not files) in the current folder using ls combined with shell commands. Which command achieves this?
Als -d */
Bls -l | grep '^d'
Cls -a | grep -v '^-'
Dls -F | grep '/'
Attempts:
2 left
💡 Hint
The -d option lists directories themselves, and */ matches directories.

Practice

(1/5)
1. What does the ls command do in Linux?
easy
A. Creates a new directory
B. Deletes files from the current folder
C. Lists files and directories in the current folder
D. Moves files to another folder

Solution

  1. Step 1: Understand the purpose of ls

    The ls command is used to show what files and folders are inside a directory.
  2. Step 2: Identify the correct description

    Among the options, only listing files and directories matches what ls does.
  3. Final Answer:

    Lists files and directories in the current folder -> Option C
  4. Quick Check:

    ls = list files [OK]
Hint: Remember: ls = list files and folders [OK]
Common Mistakes:
  • Confusing ls with commands like rm or mkdir
  • Thinking ls deletes or moves files
  • Assuming ls creates directories
2. Which of these is the correct syntax to list all files including hidden ones in a directory?
easy
A. ls -l
B. ls -r
C. ls -h
D. ls -a

Solution

  1. Step 1: Recall option meanings for ls

    -a shows all files including hidden (those starting with a dot).
  2. Step 2: Match option to requirement

    Only ls -a lists hidden files; others do different things like long format or reverse order.
  3. Final Answer:

    ls -a -> Option D
  4. Quick Check:

    -a means all files [OK]
Hint: Use -a to see hidden files starting with . [OK]
Common Mistakes:
  • Using -l instead of -a to see hidden files
  • Confusing -r (reverse) with -a
  • Thinking -h shows hidden files
3. What will be the output of the command ls -l /tmp if the /tmp directory contains two files named file1.txt and file2.log?
medium
A. file1.txt file2.log
B. Detailed list showing permissions, owner, size, and date for file1.txt and file2.log
C. Only hidden files in /tmp
D. An error saying /tmp does not exist

Solution

  1. Step 1: Understand -l option with ls

    The -l option shows a detailed list including permissions, owner, size, and modification date.
  2. Step 2: Apply to /tmp directory contents

    Since /tmp has two files, the command will show detailed info lines for both files.
  3. Final Answer:

    Detailed list showing permissions, owner, size, and date for file1.txt and file2.log -> Option B
  4. Quick Check:

    ls -l = detailed list [OK]
Hint: -l means long detailed listing [OK]
Common Mistakes:
  • Expecting just filenames without details
  • Thinking it lists only hidden files
  • Assuming it shows an error if directory exists
4. You run ls -la /home/user but get an error: ls: cannot access '/home/user': No such file or directory. What is the most likely cause?
medium
A. /home/user directory does not exist
B. You forgot to add the -a option
C. You need to run the command as root
D. The ls command is misspelled

Solution

  1. Step 1: Analyze the error message

    The error says the directory '/home/user' cannot be accessed because it does not exist.
  2. Step 2: Check other options

    Options -a and running as root do not cause this error; misspelling ls would cause a different error.
  3. Final Answer:

    /home/user directory does not exist -> Option A
  4. Quick Check:

    Directory missing = cannot access error [OK]
Hint: Check if directory exists before blaming options [OK]
Common Mistakes:
  • Assuming missing -a causes error
  • Thinking root is always needed
  • Confusing command misspelling with directory missing
5. You want to list all files in the directory /var/log sorted by modification time, newest first, including hidden files. Which command should you use?
hard
A. ls -lat /var/log
B. ls -ltr /var/log
C. ls -al /var/log
D. ls -lh /var/log

Solution

  1. Step 1: Identify options needed

    -a shows hidden files, -t sorts by modification time, newest first, and -l gives detailed listing.
  2. Step 2: Match options to command

    Only ls -lat /var/log combines all needed options correctly.
  3. Final Answer:

    ls -lat /var/log -> Option A
  4. Quick Check:

    -lat = list all, sort by time [OK]
Hint: Use -lat to list all files sorted by time [OK]
Common Mistakes:
  • Using -ltr which sorts oldest first
  • Forgetting -a to show hidden files
  • Using -lh which shows size but not sorting
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