Bird
Raised Fist0
Linux CLIscripting~10 mins

chgrp (change group) in Linux CLI - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - chgrp (change group)
Start
↓
User runs chgrp command
↓
System checks file existence
↓
System checks user permissions
↓
System changes group ownership
↓
Command ends with success or error
The chgrp command changes the group ownership of a file or directory after checking permissions and file existence.
Execution Sample
Linux CLI
chgrp staff example.txt
ls -l example.txt
Change the group of 'example.txt' to 'staff' and then list the file details to show the change.
Execution Table
StepActionCommand OutputResult
1Run 'chgrp staff example.txt'System checks if 'example.txt' exists and user has permission
2Change group ownership to 'staff'Group ownership of 'example.txt' is updated
3Run 'ls -l example.txt'-rw-r--r-- 1 user staff 0 Apr 27 12:00 example.txtShows 'staff' as group owner
4EndCommand completed successfully
💡 Command stops after changing group and listing file details
Variable Tracker
VariableStartAfter chgrpAfter ls -l
Group owner of example.txtusersstaffstaff
Key Moments - 2 Insights
Why does chgrp fail if I am not the owner or root?
Because chgrp requires you to own the file or have root permissions to change its group, as shown in step 1 where permission is checked.
What does the 'ls -l' output show after chgrp?
It shows the updated group name next to the owner, confirming the group change as in step 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the group owner of 'example.txt' after step 2?
Aroot
Bstaff
Cusers
Dadmin
💡 Hint
Check the 'Result' column in step 2 and 'variable_tracker' after chgrp
At which step does the system verify if the file exists and permissions are correct?
AStep 1
BStep 3
CStep 4
DStep 2
💡 Hint
Look at the 'Action' and 'Result' columns in the execution table
If you run chgrp on a file you do not own and are not root, what will happen?
AGroup changes successfully
BFile is deleted
CPermission denied error
DFile is renamed
💡 Hint
Refer to key moment about permission requirements and step 1 checks
Concept Snapshot
chgrp [group] [file]
Changes the group ownership of a file.
Requires ownership or root permission.
Use 'ls -l' to verify group change.
Fails with permission denied if unauthorized.
Full Transcript
The chgrp command changes the group ownership of a file or directory. When you run chgrp, the system first checks if the file exists and if you have permission to change its group. If allowed, it updates the group ownership. You can verify the change by running 'ls -l' which shows the file's owner and group. If you do not own the file or are not root, chgrp will fail with a permission denied error.

Practice

(1/5)
1. What does the chgrp command do in Linux?
easy
A. Changes the file name
B. Changes the user ownership of a file or directory
C. Changes the permissions of a file or directory
D. Changes the group ownership of a file or directory

Solution

  1. Step 1: Understand the purpose of chgrp

    The chgrp command is specifically designed to change the group ownership of files or directories.
  2. Step 2: Differentiate from similar commands

    Changing user ownership is done by chown, and changing permissions is done by chmod. Renaming files uses mv.
  3. Final Answer:

    Changes the group ownership of a file or directory -> Option D
  4. Quick Check:

    chgrp changes group ownership [OK]
Hint: Remember: chgrp = change group ownership [OK]
Common Mistakes:
  • Confusing chgrp with chown (user ownership)
  • Thinking chgrp changes permissions
  • Mixing up chgrp with mv (rename)
2. Which of the following is the correct syntax to change the group of a file named report.txt to staff?
easy
A. chgrp report.txt staff
B. chgrp staff report.txt
C. chgrp -g staff report.txt
D. chgrp -u staff report.txt

Solution

  1. Step 1: Recall the basic syntax of chgrp

    The correct syntax is chgrp [group] [file]. So the group name comes first, then the file name.
  2. Step 2: Analyze each option

    chgrp staff report.txt matches the correct syntax. chgrp report.txt staff reverses the order. chgrp -g staff report.txt uses an invalid flag -g. chgrp -u staff report.txt uses -u which is not valid for chgrp.
  3. Final Answer:

    chgrp staff report.txt -> Option B
  4. Quick Check:

    Syntax: chgrp group file [OK]
Hint: Group name first, then file name in chgrp [OK]
Common Mistakes:
  • Swapping group and file arguments
  • Using invalid flags like -g or -u
  • Confusing chgrp syntax with chown
3. What will be the output or effect of the command:
sudo chgrp -R developers /home/project?
medium
A. Change the group ownership of /home/project and all its contents to developers
B. Change the user ownership of /home/project to developers
C. Change the group ownership of /home/project only, not its contents
D. Show an error because -R is invalid with chgrp

Solution

  1. Step 1: Understand the -R option

    The -R flag means recursive, so it applies the group change to the directory and all files and subdirectories inside it.
  2. Step 2: Understand the use of sudo

    sudo is used to run the command with root privileges, which is often needed to change group ownership on files you don't own.
  3. Final Answer:

    Change the group ownership of /home/project and all its contents to developers -> Option A
  4. Quick Check:

    chgrp -R changes group recursively [OK]
Hint: Use -R to change group recursively on directories [OK]
Common Mistakes:
  • Thinking -R only changes the directory itself
  • Confusing group change with user change
  • Assuming -R is invalid for chgrp
4. You run chgrp staff report.txt but get the error: chgrp: changing group of 'report.txt': Operation not permitted. What is the most likely fix?
medium
A. Use chmod instead of chgrp
B. Change the file name to staff
C. Run the command with sudo to get permission
D. Restart the system and try again

Solution

  1. Step 1: Understand the error message

    The error means you don't have permission to change the group ownership of the file.
  2. Step 2: Use elevated privileges

    Using sudo runs the command as root, which usually has permission to change group ownership.
  3. Final Answer:

    Run the command with sudo to get permission -> Option C
  4. Quick Check:

    Permission errors need sudo [OK]
Hint: Use sudo if permission denied on chgrp [OK]
Common Mistakes:
  • Trying to rename file instead of changing group
  • Using chmod which changes permissions, not group
  • Restarting system won't fix permission issues
5. You want to change the group ownership of all files with extension .log inside /var/logs and its subdirectories to adm. Which command will do this correctly?
hard
A. sudo find /var/logs -type f -name '*.log' -exec chgrp adm {} +
B. sudo chgrp -R adm /var/logs/*.log
C. chgrp adm /var/logs/*.log
D. sudo chgrp adm /var/logs -name '*.log'

Solution

  1. Step 1: Understand the requirement

    You need to change group ownership of all .log files inside /var/logs and all its subdirectories.
  2. Step 2: Analyze each option

    sudo find /var/logs -type f -name '*.log' -exec chgrp adm {} + uses find to locate all .log files recursively and runs chgrp adm on them, which is correct.
    sudo chgrp -R adm /var/logs/*.log tries to use chgrp -R on a wildcard which only expands in the current directory, not recursively.
    chgrp adm /var/logs/*.log lacks sudo and is not recursive.
    sudo chgrp adm /var/logs -name '*.log' uses invalid syntax with -name directly on chgrp.
  3. Final Answer:

    sudo find /var/logs -type f -name '*.log' -exec chgrp adm {} + -> Option A
  4. Quick Check:

    Use find with exec for recursive selective chgrp [OK]
Hint: Use find with exec to change group on specific files recursively [OK]
Common Mistakes:
  • Using chgrp -R with wildcards which is not recursive
  • Forgetting sudo for permission
  • Trying to use -name option with chgrp
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