Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

제3장. 파일 복사와 이동, 파일 내용 확인 및 편집하기

1. 파일 복사 (cp 명령어)

파일을 복사하려면 cp 명령어를 사용합니다. 원본 파일을 다른 이름으로 복사하거나 다른 위치로 복사할 수 있습니다.

먼저 연습용으로 복사할 파일을 하나 만들어보겠습니다.

touch hello.txt
  • 빈 텍스트 파일을 생성합니다.
echo "Hello Linux!" > hello.txt
  • 파일에 간단한 내용을 추가합니다.

동일한 디렉토리 안에서 복사

cp hello.txt backup.txt
  • hello.txt 파일을 같은 디렉토리에 backup.txt라는 이름으로 복사합니다.

다른 디렉토리로 복사

mkdir backup_folder
cp hello.txt backup_folder/
  • backup_folder 디렉토리를 만든 후, 그 안으로 파일을 복사합니다.

디렉토리 전체 복사

디렉토리는 -r 옵션을 추가해야 복사할 수 있습니다.

cp -r hello_linux backup_dir

2. 파일 이동 및 이름 변경 (mv 명령어)

mv 명령어는 파일을 이동하거나 이름을 바꾸는 데 사용됩니다.

mv hello.txt hello_linux/
  • hello.txt 파일을 hello_linux 폴더로 이동합니다.
mv old.txt new.txt
  • 파일 이름을 old.txt에서 new.txt로 변경합니다.

참고: mv는 복사와 달리 원본을 지우고 새 위치로 옮깁니다.


3. 파일 내용 출력 (cat, tail)

파일 내용을 확인하고 싶을 때는 cat, tail 같은 명령어를 사용할 수 있습니다.

cat: 파일 전체 내용 출력

cat hello.txt
  • 텍스트 파일의 전체 내용을 한 번에 출력합니다.

실습용 시스템 정보 파일 확인

리눅스에는 시스템 정보를 담고 있는 파일들이 있습니다. 그 중 /etc/os-release 파일은 현재 사용 중인 리눅스 배포판 정보를 담고 있습니다.

cat /etc/os-release
  • 운영체제 이름, 버전, 홈페이지 주소 등 정보를 확인할 수 있습니다.

tail: 파일의 마지막 몇 줄만 출력

tail /etc/os-release
  • 기본적으로 마지막 10줄을 보여줍니다. 보통 이 파일은 짧기 때문에 전체가 출력됩니다.
tail -n 5 /etc/os-release
  • 마지막 5줄만 출력합니다.

tail -f: 파일에 내용이 추가되는 것을 실시간으로 보기

파일이 계속해서 갱신되는 로그 파일을 실시간으로 보고 싶을 때는 -f 옵션을 사용합니다.
tail -f 명령어는 출력이 계속 유지되기 때문에, 실시간으로 로그를 관찰할 수 있습니다. 이 모드에서 빠져나가려면 키보드에서 Ctrl + C를 눌러야 합니다.

tail -f /var/log/dmesg
  • 시스템 부팅 시 커널 메시지를 기록하는 로그입니다. 커널 관련 메시지가 추가되면 실시간으로 화면에 출력됩니다.

참고: 배포판에 따라 /var/log/dmesg, /var/log/messages, /var/log/auth.log 등이 존재합니다. 먼저 ls /var/log로 확인해보세요.


4. 파일 내용 편집 (vi 편집기)

리눅스에서 가장 기본적인 편집기 중 하나는 vi입니다.

vi hello.txt
  • hello.txt 파일을 편집기로 엽니다.

vi 기본 사용법

  • 명령 모드 → 입력 모드 전환: i 입력 (insert)
  • 입력 모드 → 명령 모드 전환: Esc
  • 저장 후 종료: :wq 입력 후 Enter
  • 저장 없이 종료: :q! 입력 후 Enter

처음에는 어려울 수 있지만, 서버 환경에서 많이 사용되므로 익숙해질 필요가 있습니다.

참고: 다른 편집기로는 nano, vim, gedit 등이 있습니다. 시스템에 따라 설치되어 있지 않을 수도 있습니다.


정리

이번 장에서는 리눅스에서 자주 사용하는 파일 복사(cp), 이동 및 이름 변경(mv), 파일 내용 출력(cat, tail, tail -f), 그리고 편집(vi) 명령어를 익혔습니다. /etc/os-release 파일을 활용해 시스템 정보도 확인해보았고, 실시간 로그 확인을 위해 tail -f 예제를 /var/log/dmesg로 구성했습니다.
이제 파일을 다루는 기본적인 작업을 직접 해보면서 익숙해지면,
다음 장에서는 리눅스 시스템의 중심인 커널과 쉘에 대해 알아보겠습니다.