Linux에서 chgrp 명령을 사용하는 방법

0
343
랩톱의 Linux 터미널 창
Fatmawati Achmad Zaenuri / Shutterstock.com

그만큼 chgrp Linux의 명령은 파일 또는 디렉토리의 그룹 소유권을 변경합니다. 대신에 왜 사용 하는가 chown ? 때로는 스위스 군용 칼이 위대하지만 실제로 메스가 필요할 때는 메스 만 사용할 수 있습니다.

사용해야 할 때 chgrp

당신은 chgrp 파일 또는 디렉토리의 그룹 소유권을 변경하는 명령입니다. 그만큼 chown 명령을 사용하면 사용자 소유자를 변경할 수 있습니다 파일 또는 디렉토리의 그룹 소유자 왜 당신이 필요로하거나 사용하겠습니까 chgrp?

글쎄, 한 가지 쉬운 일입니다. 사용 chown 그룹 소유자 설정 만 변경하는 것은 약간 직관적이지 않습니다. 구문에 매우주의해야합니다. 콜론 “:”의 올바른 위치에 달려 있습니다. 그 자리를 놓치면 자신이 생각한대로 바꾸지 않을 것입니다.

문법 chgrp 더 간단합니다. 또한 방금 변경 한 내용을 간단한 용어로 알려주는 깔끔한 기능이 있습니다.

현재 진행중인 작업을 위해 특수 제작 된 전용 도구입니다. chgrp 한 가지 일을 잘 수행하는 유닉스 디자인 원칙을 완전히 받아들입니다. 그것이 무엇을 제공하는지 봅시다.

파일의 그룹 소유권 변경

파일의 그룹 소유권을 변경하는 것은 매우 간단합니다. 당신은 사용해야합니다 sudochgrp. 그룹은 사용자가 소유하지 않으므로 파일 또는 디렉토리가 한 그룹에서 다른 그룹으로 이동되는지 여부는 일반 사용자의 결정이 아닙니다. 그것은 루트 권한을 가진 사람을위한 직업입니다.

“gc.c”라는 C 소스 파일의 그룹 소유권을 변경하겠습니다. 우리는 이것을 “devteam”그룹으로 바꿀 것입니다.

다음을 사용하여 현재 소유권 값을 확인할 수 있습니다 ls 이랑 -l (긴 목록) 옵션.

ls -l

그룹 소유권을 변경하는 명령입니다. 유형 sudo, 우주, chgrp , 공백, 그룹 소유자로 설정할 그룹 이름, 공백 및 파일 이름입니다.

sudo chgrp devteam gc.c

다음을 사용하여 변경 사항이 있는지 확인하겠습니다. ls -l 다시.

ls -l

터미널 창에서 sudo chgrp devteam gc.c

그룹 소유권이 “dave”에서 “devteam”로 변경되었음을 알 수 있습니다.

파일 세트의 그룹 소유권을 한 번에 변경하려면 와일드 카드를 사용할 수 있습니다. 현재 디렉토리의 모든 C 소스 파일에 대한 그룹 소유권을 변경해 보겠습니다. 이 명령을 사용합니다 :

sudo chgrp devteam *.c

다음을 사용하여 예상대로 변경 사항을 확인할 수 있습니다 ls -l.

ls -l

sudo chgrp devteam * .c ina 터미널 창

이 디렉토리의 모든 C 소스 파일이 그룹 소유권이 “devteam”이되도록 변경되었습니다.

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

sudo chgrp -c researchlab *.c

터미널 창에서 sudo chgrp -c researchlab * .c

변경 사항이 적용되고 각각의 변경 사항이 나열되어 변경 내용이 올바른지 확인할 수 있습니다.

디렉토리의 그룹 소유권 변경

디렉토리의 그룹 소유권 변경은 간단합니다. 이 명령을 사용하여“backup”디렉토리의 그룹 소유권을 변경할 수 있습니다.

sudo chgrp -c devteam ./backup

분명히이 명령은 디렉토리 내부의 파일이 아니라 디렉토리 자체의 그룹 소유권을 변경합니다. 우리는 사용할 것이다 ls -l 이랑 -d 이 경우를 확인하는 (디렉토리) 옵션입니다.

ls -l -d

터미널 창에서 sudo chgrp -c devteam ./backup

디렉토리 자체의 그룹 소유권이 “devteam”로 변경되었습니다.

재귀 옵션

디렉토리 내에 저장된 파일 및 디렉토리에 대한 그룹 소유권을 변경하려는 경우 -R (재귀) 옵션. 이로 인해 chgrp 대상 디렉토리 아래의 모든 파일 및 하위 디렉토리에 대한 그룹 소유권을 변경합니다.

“backup”디렉토리로 시도해 봅시다. 명령은 다음과 같습니다.

sudo chgrp -R devteam ./backup

우리는 검토합니다 파일들 중첩 된 하위 디렉토리 중 하나에서 ls 명령을 실행하면 중첩 된 중 하나의 설정도 확인합니다 하위 디렉토리 사용하여 ls .

ls -l ./backup/images
ls -l -d ./backup/images

터미널 창에서 sudo chgrp -R devteam ./backup

중첩 된 서브 디렉토리의 파일 및 중첩 된 서브 디렉토리 모두에 대해 그룹 소유권이 변경되었음을 알 수 있습니다.

참조 파일 사용

지금까지 우리는 분명히 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

터미널 창에서 sudo chgrp --reference = gc.c 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

sudo chgrp-터미널 창의 역 참조 devteam button_link

심볼릭 링크는 변경되지 않았으며 “button_about.png”파일의 그룹 소유권이 수정되었습니다.

심볼릭 링크 자체의 그룹 소유권을 변경하려면 --no-dereference 선택권.

사용할 명령은 다음과 같습니다.

sudo chgrp --no-dereference devteam button_link

우리는 사용할 것이다 ls -l 심볼릭 링크에 새 그룹 소유권이 설정되어 있는지 확인합니다.

ls -l button-link

sudo chgrp-터미널 창에서 참조 해제 devteam button_link

이번에는 영향을받는 항목이 가리키는 파일이 아니라 기호 링크 자체였습니다.

좋고 간단한

간단합니다. 그것은 기억할 것이 적고 혼동 될 것이 적다는 것을 의미합니다. 그것은 적은 실수를 의미합니다.