Bird
Raised Fist0
Linux CLIscripting~5 mins

Permission types (read, write, execute) in Linux CLI - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Permission types (read, write, execute)
O(n)
Understanding Time Complexity

When working with file permissions in Linux, it helps to understand how checking permissions scales as you look at more files or users.

We want to see how the time to check permissions grows as the number of files or users increases.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


for file in /some/directory/*; do
  if [ -r "$file" ]; then
    echo "$file is readable"
  fi
  if [ -w "$file" ]; then
    echo "$file is writable"
  fi
  if [ -x "$file" ]; then
    echo "$file is executable"
  fi
done
    

This script checks read, write, and execute permissions for each file in a directory.

Identify Repeating Operations
  • Primary operation: Looping over each file and checking three permission types.
  • How many times: Once per file in the directory.
How Execution Grows With Input

As the number of files grows, the script checks permissions for each file, doing three checks per file.

Input Size (n)Approx. Operations
1030 permission checks
100300 permission checks
10003000 permission checks

Pattern observation: The number of operations grows directly with the number of files.

Final Time Complexity

Time Complexity: O(n)

This means the time to check permissions grows linearly as the number of files increases.

Common Mistake

[X] Wrong: "Checking permissions is instant and does not depend on the number of files."

[OK] Correct: Each file requires separate permission checks, so more files mean more work.

Interview Connect

Understanding how permission checks scale helps you write efficient scripts and shows you can think about performance in real tasks.

Self-Check

"What if we checked permissions only for files modified in the last day? How would the time complexity change?"

Practice

(1/5)
1. Which permission allows you to open and view the contents of a file in Linux?
easy
A. Read permission
B. Write permission
C. Execute permission
D. Delete permission

Solution

  1. Step 1: Understand the meaning of read permission

    Read permission allows a user to open and view the contents of a file without changing it.
  2. Step 2: Compare with other permissions

    Write permission allows changing the file, execute permission allows running the file as a program, and delete is not a standard permission type.
  3. Final Answer:

    Read permission -> Option A
  4. Quick Check:

    Read = open/view file [OK]
Hint: Read means open and see file contents [OK]
Common Mistakes:
  • Confusing write with read permission
  • Thinking execute lets you open files
  • Assuming delete is a permission type
2. Which of the following is the correct symbolic representation for write permission in Linux file permissions?
easy
A. w
B. e
C. x
D. r

Solution

  1. Step 1: Recall symbolic letters for permissions

    In Linux, 'r' stands for read, 'w' for write, and 'x' for execute permission.
  2. Step 2: Identify the write permission symbol

    The letter 'w' is used to represent write permission.
  3. Final Answer:

    w -> Option A
  4. Quick Check:

    Write permission symbol = w [OK]
Hint: Write permission is always 'w' in Linux [OK]
Common Mistakes:
  • Mixing 'r' and 'w' symbols
  • Using 'e' which is not a permission symbol
  • Confusing execute 'x' with write
3. What will be the output of the command ls -l script.sh if the permissions shown are -rwxr--r--?
medium
A. Owner can read only; group can write only; others can execute only
B. Owner can read and write only; group can execute only; others can write only
C. Owner can execute only; group can read and write; others can execute only
D. Owner can read, write, execute; group can read only; others can read only

Solution

  1. Step 1: Break down the permission string

    The string '-rwxr--r--' means: owner has read (r), write (w), execute (x); group has read (r) only; others have read (r) only.
  2. Step 2: Match permissions to options

    Owner can read, write, execute; group can read only; others can read only correctly describes these permissions. Other options incorrectly assign write or execute permissions to group or others.
  3. Final Answer:

    Owner can read, write, execute; group can read only; others can read only -> Option D
  4. Quick Check:

    rwx r-- r-- = Owner rwx, group r, others r [OK]
Hint: r = read, w = write, x = execute in order [OK]
Common Mistakes:
  • Misreading group or others permissions
  • Confusing execute with write
  • Ignoring the first dash meaning file type
4. You run chmod u+x file.txt but still cannot execute the file. What is the most likely reason?
medium
A. The file is not owned by you
B. The file does not have execute permission for others
C. The file is not a script or executable program
D. You forgot to add read permission

Solution

  1. Step 1: Understand what chmod u+x does

    This command adds execute permission for the file owner (user).
  2. Step 2: Consider why execution might still fail

    If the file is not a script or executable program, adding execute permission won't let you run it.
  3. Final Answer:

    The file is not a script or executable program -> Option C
  4. Quick Check:

    Execute permission needs executable content [OK]
Hint: Execute permission needs executable content, not just flag [OK]
Common Mistakes:
  • Assuming ownership blocks execution
  • Thinking others' execute permission is needed
  • Confusing read permission with execute
5. You want to allow a group to modify a file but not execute it. Which chmod command sets read and write permissions for the group only, leaving others unchanged?
hard
A. chmod o=rw file.txt
B. chmod g=rw file.txt
C. chmod g+rwx file.txt
D. chmod u=rw file.txt

Solution

  1. Step 1: Understand chmod symbolic mode

    "g=rw" sets group permissions to read and write only, removing execute if present.
  2. Step 2: Check other options

    chmod g+rwx file.txt adds execute permission, which is not wanted. chmod o=rw file.txt changes others' permissions, and chmod u=rw file.txt changes user permissions.
  3. Final Answer:

    chmod g=rw file.txt -> Option B
  4. Quick Check:

    g=rw sets group read/write only [OK]
Hint: Use g=rw to set group read/write without execute [OK]
Common Mistakes:
  • Using g+rwx adds execute permission
  • Changing user or others instead of group
  • Using + instead of = to overwrite permissions
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