
그만큼 chgrp Linux의 명령은 파일 또는 디렉토리의 그룹 소유권을 변경합니다. 대신에 왜 사용 하는가 chown ? 때로는 스위스 군용 칼이 위대하지만 실제로 메스가 필요할 때는 메스 만 사용할 수 있습니다.
사용해야 할 때 chgrp
당신은 chgrp 파일 또는 디렉토리의 그룹 소유권을 변경하는 명령입니다. 그만큼 chown 명령을 사용하면 사용자 소유자를 변경할 수 있습니다 과 파일 또는 디렉토리의 그룹 소유자 왜 당신이 필요로하거나 사용하겠습니까 chgrp?
글쎄, 한 가지 쉬운 일입니다. 사용 chown 그룹 소유자 설정 만 변경하는 것은 약간 직관적이지 않습니다. 구문에 매우주의해야합니다. 콜론 “:”의 올바른 위치에 달려 있습니다. 그 자리를 놓치면 자신이 생각한대로 바꾸지 않을 것입니다.
문법 chgrp 더 간단합니다. 또한 방금 변경 한 내용을 간단한 용어로 알려주는 깔끔한 기능이 있습니다.
현재 진행중인 작업을 위해 특수 제작 된 전용 도구입니다. chgrp 한 가지 일을 잘 수행하는 유닉스 디자인 원칙을 완전히 받아들입니다. 그것이 무엇을 제공하는지 봅시다.
파일의 그룹 소유권 변경
파일의 그룹 소유권을 변경하는 것은 매우 간단합니다. 당신은 사용해야합니다 sudo 와 chgrp. 그룹은 사용자가 소유하지 않으므로 파일 또는 디렉토리가 한 그룹에서 다른 그룹으로 이동되는지 여부는 일반 사용자의 결정이 아닙니다. 그것은 루트 권한을 가진 사람을위한 직업입니다.
“gc.c”라는 C 소스 파일의 그룹 소유권을 변경하겠습니다. 우리는 이것을 “devteam”그룹으로 바꿀 것입니다.
다음을 사용하여 현재 소유권 값을 확인할 수 있습니다 ls 이랑 -l (긴 목록) 옵션.
ls -l
그룹 소유권을 변경하는 명령입니다. 유형 sudo, 우주, chgrp , 공백, 그룹 소유자로 설정할 그룹 이름, 공백 및 파일 이름입니다.
sudo chgrp devteam gc.c
다음을 사용하여 변경 사항이 있는지 확인하겠습니다. ls -l 다시.
ls -l

그룹 소유권이 “dave”에서 “devteam”로 변경되었음을 알 수 있습니다.
파일 세트의 그룹 소유권을 한 번에 변경하려면 와일드 카드를 사용할 수 있습니다. 현재 디렉토리의 모든 C 소스 파일에 대한 그룹 소유권을 변경해 보겠습니다. 이 명령을 사용합니다 :
sudo chgrp devteam *.c
다음을 사용하여 예상대로 변경 사항을 확인할 수 있습니다 ls -l.
ls -l

이 디렉토리의 모든 C 소스 파일이 그룹 소유권이 “devteam”이되도록 변경되었습니다.
사용하여 -c (변경) 옵션 chgrp 각 파일에 대한 변경 사항이 나열됩니다. 실수를했다고 가정하고 C 소스 파일의 그룹 소유권을 “researchlab”으로 설정하려고했습니다. 지금 바로 수정하겠습니다. 이 명령을 사용합니다 :
sudo chgrp -c researchlab *.c

변경 사항이 적용되고 각각의 변경 사항이 나열되어 변경 내용이 올바른지 확인할 수 있습니다.
디렉토리의 그룹 소유권 변경
디렉토리의 그룹 소유권 변경은 간단합니다. 이 명령을 사용하여“backup”디렉토리의 그룹 소유권을 변경할 수 있습니다.
sudo chgrp -c devteam ./backup
분명히이 명령은 디렉토리 내부의 파일이 아니라 디렉토리 자체의 그룹 소유권을 변경합니다. 우리는 사용할 것이다 ls -l 이랑 -d 이 경우를 확인하는 (디렉토리) 옵션입니다.
ls -l -d

디렉토리 자체의 그룹 소유권이 “devteam”로 변경되었습니다.
재귀 옵션
디렉토리 내에 저장된 파일 및 디렉토리에 대한 그룹 소유권을 변경하려는 경우 -R (재귀) 옵션. 이로 인해 chgrp 대상 디렉토리 아래의 모든 파일 및 하위 디렉토리에 대한 그룹 소유권을 변경합니다.
“backup”디렉토리로 시도해 봅시다. 명령은 다음과 같습니다.
sudo chgrp -R devteam ./backup
우리는 검토합니다 파일들 중첩 된 하위 디렉토리 중 하나에서 ls 명령을 실행하면 중첩 된 중 하나의 설정도 확인합니다 하위 디렉토리 사용하여 ls .
ls -l ./backup/images
ls -l -d ./backup/images

중첩 된 서브 디렉토리의 파일 및 중첩 된 서브 디렉토리 모두에 대해 그룹 소유권이 변경되었음을 알 수 있습니다.
참조 파일 사용
지금까지 우리는 분명히 chgrp 사용하려는 그룹의 이름 우리는 또한 사용할 수 있습니다 chgrp “그룹 소유권 설정 이 와 같은 그룹 소유권에 제출 그 파일.”
“gc.h”의 그룹 소유권을 “gc.c”와 동일하게 설정하겠습니다.
다음을 사용하여“gc.c”및“gc.h”의 현재 설정을 확인할 수 있습니다 ls.
ls -l gc.c
ls -l gc.h
우리가 사용해야하는 옵션은 --reference 선택권. 그룹 소유권이 복사됩니다 …에서 참조 파일 에 다른 파일. 올바른 방향으로 파일을 가져 오도록주의하십시오.
sudo chgrp --reference=gc.c gc.h
우리는 사용할 것이다 ls 설정이 “gc.h”로 전송되었는지 확인
ls -l gc.h

“gc.h”파일은 이제 “gc.c”와 동일한 그룹 소유권을 갖습니다.
심볼릭 링크와 함께 chgrp 사용
사용할 수있다 chgrp 심볼릭 링크 또는 심볼릭 링크가 가리키는 파일의 그룹 소유권을 변경합니다.
이 예에서는 “button_link”라는 심볼릭 링크를 만들었습니다. 이것은 “./backup/images/button_about.png”라는 파일을 가리 킵니다. 파일의 그룹 소유권을 변경하려면 --dereference 선택권. 파일 설정이 변경되고 심볼릭 링크는 변경되지 않습니다.
다음을 사용하여 심볼릭 링크의 설정을 확인하겠습니다. ls -l.
ls -l button_link
파일을 변경하는 명령은 다음과 같습니다.
sudo chgrp --dereference devteam button_link
ls를 사용하여 심볼릭 링크가 변경되지 않았는지 확인하고 파일의 그룹 소유권 설정도 확인합니다.
ls -l button_link
ls -l ./backup/images/button_about.png

심볼릭 링크는 변경되지 않았으며 “button_about.png”파일의 그룹 소유권이 수정되었습니다.
심볼릭 링크 자체의 그룹 소유권을 변경하려면 --no-dereference 선택권.
사용할 명령은 다음과 같습니다.
sudo chgrp --no-dereference devteam button_link
우리는 사용할 것이다 ls -l 심볼릭 링크에 새 그룹 소유권이 설정되어 있는지 확인합니다.
ls -l button-link

이번에는 영향을받는 항목이 가리키는 파일이 아니라 기호 링크 자체였습니다.
좋고 간단한
간단합니다. 그것은 기억할 것이 적고 혼동 될 것이 적다는 것을 의미합니다. 그것은 적은 실수를 의미합니다.








