본문 바로가기
Linux/파일·파일 시스템 다루기

[Linux 파일 다루기] 11. $ diff와 $ chown, chgrp 명령어 사용하여 두 파일 차이점 찾기 및 소유자·소속그룹 변경하기

by Fletcher 2024. 8. 16.

 

반갑습니다!

이번 포스트에서는 $ diff 명령어를 사용하여 두 파일의 차이점을 찾아보고

$ chown과 $ chgrp 명령어를 사용하여 해당 파일의 소유자 및 소속 그룹을 변경시켜보겠습니다 ^^

 

 

 

 

1. 두 파일의 차이점 조회하기 : $ diff

 

먼저 $ cat 명령어를 통해 test.txt 파일과 test2.txt 파일을 조회한 결과를 보시겠습니다

홈 디렉토리에서 $ ls -al의 결과를 test.txt 파일에 저장했고,

test.txt 파일의 내용을 정렬하여 test2.txt 파일에 저장했습니다

 

그리고 $ diff 명령어를 통해서 두 파일 간의 내용 변화를 조회하였는데요

처음 보는 기호들이 나열되어 있는데 일부만 천천히 한 번 살펴보겠습니다 ^^

 

 

 

먼저 test.txt의 1~2번 라인의 내용이 test2.txt에서는 없고

test2.txt에서는 .lessshst라는 파일 이름이 있는 라인이 자리하고 있습니다

 

때문에 diff 조회 결과 중 3c1이라고 표시가 되는 부분이 있는데

test.txt 파일의 1~3번 라인이 교체된 부분이 test2.txt 파일의 1번 라인이라는 뜻입니다 ^^

 

 

 

해당 명령어의 주요 옵션은 아래와 같습니다

 

① -i

대소문자 차이를 무시합니다

 

② -r

서브 디렉토리도 비교합니다

 

③ -s

두 파일 내용이 같으면 같다는 정보를 표시합니다

 

④ -b

줄 끝에 있는 공백 문자 차이를 무시합니다

 

⑤ -w

모든 공백 문자 차이를 무시합니다

 

⑥ -B

빈 줄 개수 차이를 무시합니다

 

⑦ -q

파일 내용 일치 여부만 표시합니다

 

⑧ -u

통합 diff 형식으로 출력합니다

 

 

 

※ 참고 ※

통합 형식이란, 수정한 내용을 파악하기 쉽도록

차이점이 존재하는 줄의 앞뒤 줄도 포함해서 출력하는 것을 의미합니다

 

삭제가 된 줄이라면 -(마이너스), 추가된 줄이라면 +(플러스) 기호를 줄 앞에 표시합니다

diff 명령어의 기본 출력 형식에 비해

한 눈에 이해하기 쉽고 편하므로 해당 출력 형식을 사용하는 것이 선호됩니다

 

 

 

 

 

 

 

 

2. 해당 파일의 소유자 및 소속그룹 변경하기 : $ chown, $ chgrp

 

파일이나 디렉토리에는 소유자, 소속그룹, 권한과 같은 속성이 있습니다

 

소유자는 파일을 소유한 사용자를 뜻하는데,

소유자만(슈퍼유저 제외) 해당 파일의 소속 그룹이나 권한 같은 속성을 변경할 수 있습니다

파일이나 디렉토리 속성을 조사하려면 $ ls 명령어를 -l 옵션과 함께 실행합니다

 

 

$ chown 또는 $ chgrp 명령어는 위와 같이

첫 번째 인자로, 이동시키고자 하는 소유자 및 소속 그룹을 지정해주시면 되고

두 번째 인자로 해당 파일을 지정해주시면 되겠습니다 ^^

 

저는 별도의 다른 소유자, 소속 그룹이 없어서 에러 메세지가 출력되지만

다중 사용자 환경에서는 위와 같이 소유자 및 소속 그룹을 변경시켜줄 수 있습니다 ^^!

 

 

 

$ chown과 $ chgrp의 공통 주요 옵션은 다음과 같습니다

 

-R

하위 디렉토리 이하도 한꺼번에 변경합니다