Bird
Raised Fist0
Linux CLIscripting~5 mins

Shell concept (Bash, Zsh) in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a shell in Linux?
A shell is a program that lets you type commands to control the computer. It acts like a translator between you and the system.
Click to reveal answer
beginner
Name two popular shells used in Linux.
Bash and Zsh are two popular shells. Bash is common and simple, Zsh has more features and customization.
Click to reveal answer
beginner
What does the command prompt in a shell represent?
The prompt shows that the shell is ready to accept your commands. It often shows your username, computer name, and current folder.
Click to reveal answer
beginner
How does a shell script help you?
A shell script is a file with commands you want to run automatically. It saves time by doing tasks for you without typing each command.
Click to reveal answer
intermediate
What is the difference between Bash and Zsh?
Bash is the default shell on many systems and is simple to use. Zsh offers more features like better auto-completion, themes, and plugins for easier use.
Click to reveal answer
What is the main role of a shell in Linux?
ATo store files on the computer
BTo display images on the screen
CTo accept and run commands typed by the user
DTo manage internet connections
Which shell is known for having many features and customization options?
AZsh
BCmd
CBash
DPowerShell
What does a shell script do?
ARuns a set of commands automatically
BCreates a new user account
CFormats the hard drive
DDisplays system hardware info
What information might you see in a shell prompt?
AWeather forecast
BUsername and current folder
CList of installed apps
DBattery percentage
Which shell is usually the default on many Linux systems?
ATcsh
BZsh
CFish
DBash
Explain what a shell is and why it is useful in Linux.
Think of the shell as your helper to talk to the computer.
You got /3 concepts.
    Describe the main differences between Bash and Zsh shells.
    Compare their features and user experience.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is a shell in Linux or macOS?
      easy
      A. A programming language for creating websites
      B. A program that lets you type commands to control your computer
      C. A graphical interface for editing photos
      D. A type of hardware component inside the computer

      Solution

      1. Step 1: Understand the role of a shell

        A shell is a program that takes your typed commands and runs them on the computer.
      2. Step 2: Compare options

        Options A, B, and C describe web programming, hardware, and graphics, which are not shells.
      3. Final Answer:

        A program that lets you type commands to control your computer -> Option B
      4. Quick Check:

        Shell = command program [OK]
      Hint: Shell = command line program to control computer [OK]
      Common Mistakes:
      • Thinking shell is hardware
      • Confusing shell with graphical apps
      • Mixing shell with programming languages
      2. Which of these is the correct way to run a command with an option in Bash?
      easy
      A. ls -ll
      B. ls -l -
      C. ls l-
      D. ls -l

      Solution

      1. Step 1: Identify correct option syntax

        Options start with a dash (-) followed by letters, so '-l' is correct.
      2. Step 2: Check each option

        A: 'ls -l' is correct. B has extra dash, C has wrong order, D uses '-ll' which repeats the option unnecessarily.
      3. Final Answer:

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

        Options start with dash and letter [OK]
      Hint: Options start with dash (-) followed by letters [OK]
      Common Mistakes:
      • Adding extra dash after options
      • Writing options without dash
      • Combining options incorrectly
      3. What will the following Bash command output?
      echo "Hello"; echo "World"
      medium
      A. Hello World (two lines)
      B. Hello\nWorld
      C. Hello World
      D. Hello World

      Solution

      1. Step 1: Understand the echo command

        Each echo prints its argument followed by a new line by default.
      2. Step 2: Analyze the command sequence

        First echo prints 'Hello' then newline, second echo prints 'World' then newline, so output is two lines.
      3. Final Answer:

        Hello World (two lines) -> Option A
      4. Quick Check:

        echo prints with newline [OK]
      Hint: echo prints text then newline by default [OK]
      Common Mistakes:
      • Thinking echo joins output on one line
      • Confusing literal \n with newline
      • Ignoring semicolon separates commands
      4. What is wrong with this Bash script snippet?
      for i in 1 2 3
      do
      echo $i
      done
      medium
      A. Missing semicolon after '3'
      B. Incorrect loop syntax, should use parentheses
      C. No error, script runs fine
      D. Missing 'do' keyword

      Solution

      1. Step 1: Check for loop syntax

        The for loop syntax 'for i in 1 2 3; do ... done' is correct. The semicolon after '3' is optional if 'do' is on next line.
      2. Step 2: Verify keywords and structure

        'do' is present, parentheses are not needed in Bash for this loop, so no syntax error.
      3. Final Answer:

        No error, script runs fine -> Option C
      4. Quick Check:

        Bash for loop syntax correct without semicolon if newline before do [OK]
      Hint: Newline before 'do' replaces semicolon in for loops [OK]
      Common Mistakes:
      • Thinking semicolon is always required
      • Confusing Bash syntax with other languages
      • Missing 'do' keyword
      5. You want to list all files in a directory including hidden ones, sorted by modification time. Which command should you use?
      hard
      A. ls -a -t
      B. ls -l -h
      C. ls -r -S
      D. ls -d .*

      Solution

      1. Step 1: Understand options needed

        '-a' shows all files including hidden, '-t' sorts by modification time.
      2. Step 2: Evaluate each option

        A: 'ls -r -S' reverses and sorts by size (no hidden). B: 'ls -l -h' long format with human sizes (no hidden, no time sort). C: 'ls -a -t' shows all including hidden, sorted by mod time. D: 'ls -d .*' shows only dot entries.
      3. Final Answer:

        ls -a -t -> Option A
      4. Quick Check:

        Show hidden + sort by time = ls -a -t [OK]
      Hint: Use -a for hidden, -t for time sort [OK]
      Common Mistakes:
      • Using -l instead of -a to show hidden
      • Confusing -S (size) with -t (time)
      • Using -d .* lists only hidden files
      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