소개
Linux 에서 파일을 다루는 실습에 오신 것을 환영합니다! Linux 가 처음이어도 걱정하지 마세요. 각 단계를 차근차근 안내합니다. 이 실습에서는 파일 내용을 확인하고, 파일의 특정 부분을 살펴보고, 파일을 비교하는 방법을 배웁니다. 이러한 기술은 Linux 파일 시스템을 탐색하고 이해하는 데 필요한 기본 역량입니다.
파일 내용 출력
먼저 Desktop 에서 터미널을 열거나 실습 환경의 터미널 탭으로 전환합니다.

터미널을 열면 일반적으로 $ 기호로 끝나는 셸 프롬프트가 표시됩니다. 여기에 명령을 입력합니다.
이제 cat 명령으로 파일 내용을 표시합니다.
- 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
cat /tmp/hello
여기서 /tmp/hello는 확인할 파일의 경로입니다. /tmp는 시스템의 디렉터리 (폴더) 이고, hello는 해당 디렉터리에 있는 파일 이름입니다.
- Enter 키를 누르면 다음과 같이 파일 내용이 표시됩니다.
Hi,
I am Labby!
이 내용은 /tmp/hello 파일에 들어 있는 전체 내용입니다. cat 명령이 파일 내용을 터미널에 표시했습니다.
줄 번호와 함께 파일 내용 표시
이번에는 cat 명령을 다시 사용하되, 출력에 줄 번호를 추가합니다.
- 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
cat -n /tmp/hello
여기서 -n은 옵션 또는 플래그라고 합니다. 이 옵션은 cat이 모든 출력 줄에 번호를 매기도록 합니다.
- 이제 다음과 같이 줄 번호가 포함된 파일 내용이 표시됩니다.
1 Hi,
2 I am Labby!
이 기능은 긴 파일을 다루면서 특정 줄을 참조해야 할 때 매우 유용합니다.
파일의 앞부분 줄 출력
다음으로 head 명령을 사용합니다. 이름에서 알 수 있듯이 head는 파일의 시작 부분, 즉 파일의“머리”를 확인할 때 사용합니다.
- 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
head -n1 /tmp/hello
여기서 -n1은 head가 첫 번째 줄만 표시하도록 하는 옵션입니다. 1을 다른 숫자로 바꾸면 해당 개수만큼의 줄을 표시할 수 있습니다.
- 다음과 같은 출력이 표시됩니다.
Hi,
파일의 첫 번째 줄만 표시된 것입니다. 기본적으로 -n1 옵션을 지정하지 않으면 head는 파일의 처음 10 줄을 표시합니다.
파일의 처음 몇 바이트 확인
이번에는 head 명령으로 파일 시작 부분에서 지정한 개수의 바이트를 확인합니다.
- 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
head -c1 /tmp/hello
-c1 옵션은 파일의 첫 번째 바이트 (문자) 만 표시하도록 head에 지시합니다. -n과 마찬가지로 1을 다른 숫자로 바꾸면 해당 개수만큼의 바이트를 확인할 수 있습니다.
- 다음과 같은 출력이 표시됩니다.
H
파일의 첫 번째 문자만 표시된 것입니다. 텍스트 파일에서는 일반적으로 문자 하나가 1 바이트입니다.
파일의 마지막 줄 출력
이제 tail 명령을 살펴봅니다. 예상할 수 있듯이 tail은 head와 반대로 파일의 끝부분을 표시합니다.
- 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
tail -n1 /tmp/hello
head와 마찬가지로 -n1 옵션은 tail이 한 줄만 표시하도록 합니다. 여기서는 파일의 마지막 줄을 표시합니다.
- 다음과 같은 출력이 표시됩니다.
I am Labby!
파일의 마지막 줄입니다. -n1 옵션을 지정하지 않으면 tail은 기본적으로 마지막 10 줄을 표시합니다.
파일의 마지막 몇 바이트 확인
앞에서 head로 수행한 작업과 비슷하게, tail을 사용하면 파일 끝부분에서 지정한 개수의 바이트를 표시할 수 있습니다.
- 먼저 마지막 바이트를 확인해 보겠습니다. 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
tail -c1 /tmp/hello
출력이 표시되지 않을 수도 있습니다. 마지막 문자가 보이지 않는 줄 바꿈 문자일 가능성이 있기 때문입니다.
- 이번에는 마지막 두 바이트를 확인합니다. 다음 명령을 입력하고 Enter 키를 누릅니다.
tail -c2 /tmp/hello
- 이제 다음과 같은 출력이 표시됩니다.
!
-c2 옵션은 파일의 마지막 2 바이트 (문자) 를 표시하도록 tail에 지시합니다. 여기서는 파일에서 마지막으로 보이는 문자인 느낌표가 표시됩니다.
파일 비교
이제 diff 명령으로 두 파일을 비교하고 서로 다른 부분을 확인하는 방법을 배웁니다.
- 먼저 올바른 디렉터리 (폴더) 에 있는지 확인합니다. 다음 명령을 입력하고 Enter 키를 누릅니다.
cd ~/project
이 명령은 현재 디렉터리를 홈 디렉터리 안의 project 폴더로 변경합니다. ~ 기호는 홈 디렉터리를 나타내는 단축 표현입니다.
- 이제 두 파일을 비교합니다. 다음 명령을 입력하고 Enter 키를 누릅니다.
diff file1 file2
이 명령은 diff가 file1과 file2의 내용을 비교하도록 합니다.
- 다음과 비슷한 출력이 표시됩니다.
1c1
< this is file1
---
> this is file2
이 출력이 의미하는 내용을 살펴보겠습니다. diff 명령은 첫 번째 파일을 두 번째 파일과 동일하게 만들기 위해 필요한 변경 사항을 설명하는 출력을 생성합니다. 어느 파일을 먼저 만들었거나 수정했는지는 중요하지 않습니다. diff는 명령을 실행한 시점의 파일 내용만 비교합니다.
1c1: 첫 번째 파일의 1 번 줄을 두 번째 파일의 1 번 줄과 일치하도록 change(변경) 해야 한다는 뜻입니다.< this is file1:<기호는 첫 번째 파일 (file1) 의 줄임을 나타냅니다.---:file1과file2의 줄 사이를 구분하는 구분선입니다.> this is file2:>기호는 두 번째 파일 (file2) 의 줄임을 나타냅니다.
간단히 말하면, diff는 두 파일에서 1 번 줄의 내용이 서로 다르다는 것을 보여줍니다. file1을 file2와 일치시키려면 "this is file1" 줄을 "this is file2"로 바꿔야 합니다.
디렉터리 비교
마지막으로 diff 명령으로 전체 디렉터리를 비교합니다.
- 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
diff -r ~/Desktop ~/Code
-r 옵션은 하위 디렉터리까지 재귀적으로 비교하도록 diff에 지시합니다. ~/Desktop과 ~/Code는 비교할 두 디렉터리의 경로입니다.
- 다음과 비슷한 출력이 표시될 수 있습니다.
Only in /home/labex/Desktop: code.desktop
Only in /home/labex/Desktop: gedit.desktop
Only in /home/labex/Desktop: gvim.desktop
Only in /home/labex/Desktop: xfce4-terminal.desktop
이 출력은 Desktop 디렉터리에 Code 디렉터리에는 없는 파일이 4 개 있다는 뜻입니다.
요약
축하합니다! 파일 내용 확인 및 비교 실습을 완료했습니다. 이번 실습에서 배운 내용을 정리하면 다음과 같습니다.
cat을 사용해 파일 전체 내용을 확인했습니다.cat -n을 사용해 줄 번호와 함께 파일 내용을 확인하는 방법을 배웠습니다.head를 사용해 줄 단위와 바이트 단위로 파일의 시작 부분을 확인했습니다.tail을 사용해 줄 단위와 바이트 단위로 파일의 끝부분을 확인했습니다.diff를 사용해 파일 내용을 비교하는 방법을 배웠습니다.- 마지막으로
diff -r을 사용해 전체 디렉터리를 비교했습니다.
이 명령들은 Linux 의 기본 도구입니다. Linux 를 계속 사용하다 보면 파일과 디렉터리를 검사하고 비교할 때 이러한 명령을 자주 사용하게 됩니다.
명령 사용법을 잊었다면 언제든지 man 다음에 명령 이름을 입력해 해당 명령의 매뉴얼 페이지를 확인할 수 있습니다 (예: man cat). 각 명령에서 사용할 수 있는 모든 옵션에 대한 자세한 정보를 확인할 수 있습니다.
다양한 파일과 디렉터리에 이 명령들을 반복해서 사용하며 익숙해지세요. 많이 사용할수록 자연스럽게 사용할 수 있습니다!



