제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로 구성했습니다.
이제 파일을 다루는 기본적인 작업을 직접 해보면서 익숙해지면,
다음 장에서는 리눅스 시스템의 중심인 커널과 쉘에 대해 알아보겠습니다.