Как использовать команду chgrp в Linux
Фатмавати Ахмад Дзэнури / Shutterstock.com
chgrp
команда в Linux изменяет групповое владение файлом или каталогом. Зачем использовать его вместо chown
? Иногда швейцарский армейский нож хорош, но когда вам действительно нужен скальпель, подойдет только скальпель.
Когда следует использовать chgrp
Вы используете chgrp
команда для изменения группового владения файлом или каталогом. chown
команда позволяет изменить владельца пользователя и владелец группы файла или каталога. Так зачем вам использовать chgrp
?
Ну, во-первых, это легко. Использование chown
изменение только настройки владельца группы немного нелогично. Вы должны быть очень осторожны с синтаксисом. Это зависит от правильного размещения двоеточия:. Неправильно это сделаете, и вы не внесете изменений, о которых думали.
Синтаксис chgrp
является в целом более простой . В нем также есть изящная функция, которая простым языком сообщает вам, какие изменения были внесены.
Это специальный инструмент для решения поставленных задач. chgrp
полностью соответствует принципу проектирования Unix: делать одно и делать это хорошо. Посмотрим, что он может предложить.
Изменение группового владения файлом
Изменить групповое владение файлом очень просто. Вы должны использовать sudo
с chgrp
. Группы не принадлежат пользователям, поэтому решение о перемещении файла или каталога из одной группы в другую не принимается обычным пользователем. Это работа для кого-то с привилегиями root.
Мы собираемся изменить групповое владение исходным файлом на C под названием gc.c. Мы собираемся заменить его на группу разработчиков.
Мы можем проверить текущие значения владения, используя ls
с -l
(длинный список) вариант.
ls -l
Это команда для изменения владельца группы. Введите sudo
, пробел, chgrp
, пробел, имя группы, которую мы собираемся назначить владельцем группы, пробел и имя файла.
ls -l
Мы проверим внесение изменений с помощью ls -l
снова.
-c
Мы видим, что владелец группы был изменен с Дэйва на Devteam.
РекламаЧтобы сразу изменить групповое владение для набора файлов, вы можете использовать подстановочные знаки. Давайте изменим групповое владение для всех исходных файлов C в текущем каталоге. Мы будем использовать эту команду:
chgrp
Мы можем проверить, внесено ли изменение, как мы и ожидали, используя ls -l
.
-d
Все исходные файлы C в этом каталоге были изменены, поэтому их группа принадлежит команде разработчиков.
Используя -R
(изменяет) вариант chgrp
перечислит изменения, внесенные в каждый файл. Предположим, мы допустили ошибку, нам нужно, чтобы для исходных файлов C была установлена групповая принадлежность researchlab. Давайте исправим это сейчас. Мы будем использовать эту команду:
ls
Изменения вносятся за нас, и каждое из них перечисляется по мере его появления, что позволяет нам проверить правильность внесенных нами изменений.
Изменение группового владения каталогом
Так же просто изменить групповое владение каталогом. Мы можем использовать эту команду, чтобы изменить владельца группы для резервного копирования каталога.
ls
Реклама Чтобы было ясно, эта команда изменит групповое владение самим каталогом, а не файлами внутри каталога. Мы будем использовать chgrp
с chgrp
(каталог), чтобы убедиться, что это так.
ls
Групповое владение каталогом было изменено на devteam.
Рекурсивный вариант
Если мы хотим изменить групповое владение файлами и каталогами, хранящимися в каталоге, мы можем использовать --reference
(рекурсивный) вариант. Это вызовет ls
для изменения группового владения для всех файлов и подкаталогов ниже целевого каталога.
Давайте попробуем это с резервным каталогом. Вот команда:
chgrp
Мы рассмотрим файлы в одном из вложенных подкаталогов с --dereference
команда, а также проверим настройки одного из вложенных подкаталоги с помощью ls -l
.
--no-dereference
ls -l
Мы видим, что права собственности группы были изменены как для файлов во вложенных подкаталогах, так и для вложенных подкаталогов.
Использование справочного файла
До сих пор мы прямо указывали
sudo chgrp devteam gc.cназвание группы, которую мы хотим использовать. Мы также можем использовать
ls -lтаким образом, чтобы установить групповое владение это файл принадлежит той же группе, что и тот файл. Реклама
Давайте установим групповое владение gc.h таким же, как gc.c.
Мы можем проверить текущие настройки gc.c и gc.h, используя
sudo chgrp devteam *.c.
ls -l
sudo chgrp -c researchlab *.c
Нам нужно использовать параметр
sudo chgrp -c devteam ./backupвариант. Право собственности на группу скопировано от справочный файл к другой файл. Позаботьтесь о том, чтобы файлы были правильно расположены.
ls -l -d
Мы будем использовать
sudo chgrp -R devteam ./backupчтобы проверить, что настройки были перенесены в gc.h.
ls -l ./backup/images
Теперь файл gc.h принадлежит той же группе, что и gc.c.
Использование chgrp с символическими ссылками
Мы можем использовать
ls -l -d ./backup/imagesдля изменения группового владения символическими ссылками или файлом, на который указывает символическая ссылка. Реклама
В этом примере мы создали символическая ссылка называется button_link. Это указывает на файл с именем ./backup/images/button_about.png. Чтобы изменить групповое владение файлом, мы должны использовать
ls -l gc.cвариант. Это изменит настройки файла и оставит символическую ссылку неизменной.
Давайте проверим настройки символьной ссылки с помощью
ls -l gc.h.
sudo chgrp --reference=gc.c gc.h
Команда для изменения файла:
ls -l gc.h
Мы проверим, что символическая ссылка не изменилась, с помощью ls, а также проверим настройки группового владения файлом.
ls -l button_link
sudo chgrp --dereference devteam button_link
Символическая ссылка не изменилась, а для файла button_about.png была изменена принадлежность группы.
Чтобы изменить групповое владение самой символической ссылкой, мы должны использовать
ls -l button_linkвариант.
Используемая команда:
ls -l ./backup/images/button_about.pngРеклама
Мы будем использовать
sudo chgrp --no-dereference devteam button_linkчтобы убедиться, что для символьной ссылки установлено новое групповое владение.
ls -l button-link
На этот раз затронутым элементом была сама символическая ссылка, а не файл, на который она указывает.
Красиво и просто
Просто хорошо. Это означает, что меньше нужно помнить и меньше путать. Это должно означать меньше ошибок.
СВЯЗАННЫЙ: Лучшие ноутбуки с Linux для разработчиков и энтузиастов
ПРОЧИТАЙТЕ СЛЕДУЮЩИЙ- & rsaquo; Папке на компьютере 40 лет: как звезда Xerox создала рабочий стол
- & rsaquo; Киберпонедельник 2021: лучшие технические предложения
- & rsaquo; Как найти упакованный Spotify 2021
- & rsaquo; Функции и формулы в Microsoft Excel: в чем разница?
- & rsaquo; Что такое защита от падений MIL-SPEC?
- & rsaquo; 5 сайтов, которые должен добавить в закладки каждый пользователь Linux
Дэйв Маккей впервые использовал компьютеры, когда в моде была перфолента, и с тех пор он занимается программированием. Проработав более 30 лет в ИТ-индустрии, он теперь работает журналистом в области информационных технологий. За свою карьеру он работал программистом-фрилансером, менеджером международной группы разработчиков программного обеспечения, менеджером проекта ИТ-услуг, а в последнее время - специалистом по защите данных. Его статьи были опубликованы на сайтах howtogeek.com, cloudsavvyit.com, itenterpriser.com и opensource.com. Дэйв - евангелист Linux и сторонник открытого исходного кода.
Прочитать полную биографию