Bird
Raised Fist0
Linux CLIscripting~5 mins

useradd and userdel in Linux CLI - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: useradd and userdel
O(n)
Understanding Time Complexity

When using commands like useradd and userdel, it's helpful to understand how their execution time changes as the number of users grows.

We want to know how the time to add or delete a user changes when the system has more users.

Scenario Under Consideration

Analyze the time complexity of these commands:

useradd newuser
userdel olduser

These commands add or remove a user account on a Linux system by updating system files.

Identify Repeating Operations

Look at what happens inside these commands:

  • Primary operation: Searching and updating user records in system files like /etc/passwd and /etc/shadow.
  • How many times: The system reads through these files once per command to find or add the user.
How Execution Grows With Input

As the number of users (n) increases, the time to find or update a user grows roughly in a straight line.

Input Size (n)Approx. Operations
10About 10 lines checked
100About 100 lines checked
1000About 1000 lines checked

Pattern observation: The time grows directly with the number of users because the system scans the user list line by line.

Final Time Complexity

Time Complexity: O(n)

This means the time to add or delete a user grows linearly with the number of existing users.

Common Mistake

[X] Wrong: "Adding or deleting a user takes the same time no matter how many users exist."

[OK] Correct: The system must scan user files line by line, so more users mean more lines to check, increasing time.

Interview Connect

Understanding how simple system commands scale helps you reason about performance in real systems, a useful skill in scripting and automation roles.

Self-Check

"What if the system used a database instead of text files for users? How would the time complexity change?"

Practice

(1/5)
1. What does the useradd command do in Linux?
easy
A. Lists all users on the system
B. Deletes an existing user account
C. Changes the password of a user
D. Creates a new user account

Solution

  1. Step 1: Understand the purpose of useradd

    The useradd command is used to create new user accounts on a Linux system.
  2. Step 2: Differentiate from other commands

    userdel deletes users, passwd changes passwords, and listing users is done by other commands like cat /etc/passwd.
  3. Final Answer:

    Creates a new user account -> Option D
  4. Quick Check:

    useradd = create user [OK]
Hint: Remember: add means create, del means delete [OK]
Common Mistakes:
  • Confusing useradd with userdel
  • Thinking useradd lists users
  • Mixing useradd with password commands
2. Which of the following is the correct syntax to create a user with a home directory?
easy
A. useradd -r username
B. useradd username
C. useradd -m username
D. userdel -m username

Solution

  1. Step 1: Identify the option for creating home directory

    The -m option with useradd creates the user's home directory.
  2. Step 2: Check other options

    -r is for system users or removing files with userdel, so it is incorrect here.
  3. Final Answer:

    useradd -m username -> Option C
  4. Quick Check:

    -m means make home directory [OK]
Hint: Use -m with useradd to create home folder [OK]
Common Mistakes:
  • Using userdel instead of useradd
  • Forgetting the -m option for home directory
  • Using -r option with useradd
3. What will be the result of this command sequence?
useradd -m alice
userdel alice
medium
A. User alice is deleted but home directory remains
B. User alice and home directory are deleted
C. User alice is created but deletion fails
D. Syntax error occurs

Solution

  1. Step 1: Create user alice with home directory

    useradd -m alice creates user alice and a home folder.
  2. Step 2: Delete user alice without -r option

    userdel alice deletes the user but does not remove the home directory unless -r is used.
  3. Final Answer:

    User alice is deleted but home directory remains -> Option A
  4. Quick Check:

    userdel without -r keeps files [OK]
Hint: userdel needs -r to remove home directory [OK]
Common Mistakes:
  • Assuming home directory is deleted without -r
  • Thinking userdel fails without -r
  • Confusing useradd options with userdel
4. You run userdel -r bob but get an error saying user bob does not exist. What is the likely cause?
medium
A. The home directory is missing
B. User bob was never created
C. You need to use useradd to delete users
D. The -r option is invalid with userdel

Solution

  1. Step 1: Understand the error message

    The error says user bob does not exist, so the system cannot delete a non-existent user.
  2. Step 2: Check command validity

    userdel -r bob is valid syntax to delete user and home directory, so the error is not due to syntax.
  3. Final Answer:

    User bob was never created -> Option B
  4. Quick Check:

    User must exist before deletion [OK]
Hint: Check if user exists before deleting [OK]
Common Mistakes:
  • Thinking -r is invalid option
  • Trying to delete users with useradd
  • Assuming home directory missing causes error
5. You want to create a script that adds a user with a home directory and then deletes the user along with all their files. Which commands should you use in order?
hard
A. useradd -m username; userdel -r username
B. useradd username; userdel username
C. userdel -r username; useradd -m username
D. userdel username; useradd username

Solution

  1. Step 1: Add user with home directory

    Use useradd -m username to create the user and their home folder.
  2. Step 2: Delete user and all files

    Use userdel -r username to remove the user and their home directory and files.
  3. Final Answer:

    useradd -m username; userdel -r username -> Option A
  4. Quick Check:

    Add with -m, delete with -r for files [OK]
Hint: Add with -m, delete with -r to remove files [OK]
Common Mistakes:
  • Deleting before adding user
  • Forgetting -m when adding user
  • Forgetting -r when deleting user
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