
명령을 사용하여 그룹을 삭제 하고 싶지만 groupdel
삭제하기 전에 해당 그룹에 속한 모든 파일을 다른 그룹에 할당하고 싶습니다. 이를 수행할 수 있는 방법이 있습니까?
find / -gid group_id
해당 그룹에 속한 파일을 찾은 다음 수동으로 새 그룹에 할당하는 데 사용할 수 있다는 것을 알고 있습니다 . 작업을 자동화하는 방법을 찾고 있습니다.
답변1
find / -group <groupname> -exec chown :<groupname> {} \+
그러면 문제가 해결될 것입니다. <groupname>
적절한 이름으로 바꾸시면 됩니다 .
find
main 함수를 사용하여 반환되는 파일에 대해 임의의 명령을 호출할 수 있습니다 -exec
. 이 경우 일치하는 각 파일의 그룹 소유권을 변경하려고 하므로 간단히 명령을 전달할 수 있습니다 chown
(인수와 함께 - 이 경우에는 일치하는 파일 이름을 전송할 그룹 소유권입니다. 소유권 그룹 이름 앞에는 ( 사용자 이름이 아닌 그룹 이름으로 처리됨을 나타냄) 매개변수가 :
있습니다 . 반환된 파일 이름은 대신 명령에 삽입되어 외부 명령의 끝에 도달했으며 추가 인수가 자체 인수로 구문 분석되어야 함을 나타냅니다 . 대신 각 명령에서 여러 파일을 처리하도록 find에 지시하는 데 사용합니다 (그래서 더 효율적입니다).chown
-exec
find
{}
+;
find
\+
\;