Bird
Raised Fist0
Linux CLIscripting~5 mins

Linux distributions overview (Ubuntu, CentOS, Fedora) in Linux CLI - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Linux distributions overview (Ubuntu, CentOS, Fedora)
O(n)
Understanding Time Complexity

When working with Linux distributions, it's helpful to understand how tasks scale as system size or data grows.

We ask: how does the time to complete commands or scripts change with input size?

Scenario Under Consideration

Analyze the time complexity of listing files recursively in a directory.


# List all files in a directory and its subdirectories
ls -R /path/to/directory
    

This command lists files in the given directory and all nested folders.

Identify Repeating Operations

Look for repeated actions that grow with input.

  • Primary operation: Reading directory contents and listing files.
  • How many times: Once per directory and subdirectory found.
How Execution Grows With Input

As the number of files and folders increases, the command takes longer.

Input Size (n)Approx. Operations
10 files/foldersAbout 10 directory reads
100 files/foldersAbout 100 directory reads
1000 files/foldersAbout 1000 directory reads

Pattern observation: The time grows roughly in direct proportion to the number of directories and files.

Final Time Complexity

Time Complexity: O(n)

This means the time to list files grows linearly with the number of files and folders.

Common Mistake

[X] Wrong: "Listing files always takes the same time no matter how many files there are."

[OK] Correct: More files and folders mean more work for the command, so time increases with size.

Interview Connect

Understanding how commands scale helps you write better scripts and troubleshoot performance in real Linux environments.

Self-Check

What if we changed from listing files recursively to listing only the top-level directory? How would the time complexity change?

Practice

(1/5)
1. Which Linux distribution is known for being beginner-friendly and suitable for general use?
easy
A. Ubuntu
B. CentOS
C. Fedora
D. Arch Linux

Solution

  1. Step 1: Understand beginner-friendly distributions

    Ubuntu is widely recognized for its ease of use and beginner-friendly interface.
  2. Step 2: Compare with other distributions

    CentOS is more server-focused and Fedora targets advanced users, so they are less beginner-friendly.
  3. Final Answer:

    Ubuntu -> Option A
  4. Quick Check:

    Beginner-friendly = Ubuntu [OK]
Hint: Ubuntu = beginner-friendly, CentOS = servers, Fedora = advanced [OK]
Common Mistakes:
  • Confusing CentOS as beginner-friendly
  • Thinking Fedora is for beginners
  • Choosing Arch Linux which is advanced
2. Which command correctly installs a package on CentOS using the default package manager?
easy
A. apt-get install httpd
B. pacman -S httpd
C. dnf install httpd
D. yum install httpd

Solution

  1. Step 1: Identify CentOS package manager

    CentOS traditionally uses yum as its package manager.
  2. Step 2: Check command syntax

    yum install httpd is the correct syntax to install the Apache web server on CentOS.
  3. Final Answer:

    yum install httpd -> Option D
  4. Quick Check:

    CentOS uses yum = yum install [OK]
Hint: CentOS uses yum, Ubuntu uses apt, Fedora uses dnf [OK]
Common Mistakes:
  • Using apt-get on CentOS
  • Using pacman which is for Arch Linux
  • Confusing dnf as default on CentOS
3. What will be the output of the command cat /etc/os-release | grep '^ID=' on a Fedora system?
medium
A. ID=fedora
B. ID=centos
C. ID=ubuntu
D. ID=debian

Solution

  1. Step 1: Understand /etc/os-release file

    This file contains identification info about the Linux distribution, including the ID field.
  2. Step 2: Recognize Fedora's ID value

    Fedora's ID in this file is fedora, so the grep command outputs ID=fedora.
  3. Final Answer:

    ID=fedora -> Option A
  4. Quick Check:

    Fedora ID = fedora [OK]
Hint: Fedora's ID in os-release is 'fedora' [OK]
Common Mistakes:
  • Assuming ID=ubuntu on Fedora
  • Confusing CentOS and Fedora IDs
  • Not using grep correctly
4. You try to update packages on Fedora using yum update but get an error. What is the likely cause?
medium
A. CentOS commands work on Fedora without changes
B. You need to run 'apt-get update' instead
C. Fedora uses 'dnf' instead of 'yum' for package management
D. You must use 'pacman' on Fedora

Solution

  1. Step 1: Identify Fedora's package manager

    Fedora uses dnf as its default package manager, replacing yum.
  2. Step 2: Understand error cause

    Using yum update on Fedora may fail because yum is deprecated or not installed by default.
  3. Final Answer:

    Fedora uses 'dnf' instead of 'yum' for package management -> Option C
  4. Quick Check:

    Fedora package manager = dnf [OK]
Hint: Fedora uses dnf, not yum, for updates [OK]
Common Mistakes:
  • Trying apt-get on Fedora
  • Assuming CentOS commands always work
  • Using pacman which is Arch Linux's manager
5. You want to set up a stable web server environment with long-term support and minimal updates. Which Linux distribution should you choose?
hard
A. Ubuntu
B. CentOS
C. Fedora
D. Debian Testing

Solution

  1. Step 1: Understand stability and support needs

    Stable web servers require long-term support and minimal frequent updates to avoid disruptions.
  2. Step 2: Match distribution to requirements

    CentOS is known for its stability and long-term support, making it ideal for servers.
  3. Step 3: Compare other options

    Fedora is cutting-edge and updates often; Ubuntu is user-friendly but less stable long-term; Debian Testing is unstable.
  4. Final Answer:

    CentOS -> Option B
  5. Quick Check:

    Stable server = CentOS [OK]
Hint: Choose CentOS for stable, long-term server setups [OK]
Common Mistakes:
  • Choosing Fedora for stability
  • Assuming Ubuntu is best for servers
  • Picking Debian Testing for production
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