소개
이 실습에서는 사이버 보안 및 침투 테스트에 널리 사용되는 강력한 운영체제인 Kali Linux 에서 파일을 탐색하고 관리하는 기초를 배웁니다. 직접 실습을 진행하며 pwd, ls, cd, touch, nano, cp, rm, cat과 같은 필수 Linux 명령어에 익숙해질 것입니다. 이 실습은 Linux 환경에서 파일 및 디렉토리 작업을 수행하기 위한 탄탄한 기초를 다질 수 있도록 단계별 가이드를 제공합니다. 모든 활동은 자동으로 설정된 Kali Linux Docker 컨테이너 내부에서 수행됩니다. 터미널을 열면 컨테이너의 쉘에 직접 연결되어 바로 연습을 시작할 수 있습니다.
Kali Linux 컨테이너 시작하기
첫 번째 단계에서는 모든 실습이 진행될 Kali Linux 컨테이너 환경을 익힙니다. 컨테이너는 LabEx VM 내에 자동으로 설정되어 있습니다. 터미널을 열면 Kali Linux 컨테이너의 쉘에 직접 연결되므로, 수동으로 시작하거나 연결할 필요가 없습니다.
입문자를 위한 기본 개념을 알아보겠습니다. Kali Linux 는 침투 테스트용 도구들이 가득 담긴 사이버 보안 작업 전용 Linux 배포판입니다. 이를 Docker 컨테이너에서 실행하면 호스트 시스템에 영향을 주지 않고 학습할 수 있는 격리되고 가벼운 환경이 제공됩니다. 여러분이 사용하는 터미널은 명령어를 통해 이 환경과 상호작용하는 관문입니다.
다음 단계에 따라 올바른 환경에 있는지 확인하세요.
- LabEx VM 환경에서 터미널을 엽니다. Xfce 데스크톱의 터미널 아이콘을 클릭하거나 LabEx 인터페이스에서 제공하는 터미널을 사용할 수 있습니다. 터미널을 열면 Kali Linux 컨테이너 쉘에 있음을 알리는 환영 메시지가 나타납니다. 프롬프트는
root@xxxxxxxxxxxx:/#와 같이 표시되며, 이는 컨테이너 내부의 root 사용자로 로그인되었음을 나타냅니다.

다음 명령어를 입력하고 Enter 를 눌러 파일 시스템 내 현재 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/이는 여러분이 Linux 파일 시스템 계층 구조의 최상위 수준인 루트 디렉토리에 있음을 의미합니다.
pwd명령어는 "print working directory"의 약자로, 현재 위치를 표시하는 데 사용됩니다.이후의 모든 단계에서도 Kali Linux 컨테이너 쉘 상태를 유지하세요. 실수로
exit를 입력하거나Ctrl+D를 눌러 종료한 경우, LabEx VM 에서 터미널을 다시 열면 자동으로 컨테이너에 재연결됩니다.
이제 Kali Linux 컨테이너에서의 시작 지점을 확인했습니다. 다음 단계에서는 현재 디렉토리의 내용을 살펴보겠습니다.
ls 를 사용하여 디렉토리 내용 탐색하기
이 단계에서는 Kali Linux 컨테이너 내부에서 ls 명령어를 사용하여 디렉토리의 내용을 확인하는 방법을 배웁니다. 이 명령어는 어떤 작업을 수행하기 전에 현재 위치에 어떤 파일과 폴더가 있는지 파악하는 데 필수적입니다.
입문자를 위한 핵심 개념을 짚어보겠습니다. Linux 에서 파일 시스템은 파일과 다른 디렉토리를 포함하는 디렉토리들이 나무 (tree) 구조로 조직되어 있습니다. ls 명령어는 디렉토리의 내용을 나열하여 무엇이 있는지 보여줍니다. ls와 함께 옵션을 사용하면 나열된 항목에 대한 더 자세한 정보를 얻을 수 있습니다.
이미 Kali Linux 컨테이너 쉘에 접속해 있으므로, 다음 단계에 따라 루트 디렉토리를 탐색해 보세요.
다음 명령어를 입력하고 Enter 를 눌러 현재 디렉토리인 루트 디렉토리
/의 내용을 나열합니다.ls출력 결과는 다음과 비슷할 것입니다.
bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var이것들은 Linux 시스템의 표준 디렉토리들입니다. 예를 들어,
bin은 실행 파일을 포함하고,etc는 설정 파일을 보관합니다.이 디렉토리들에 대한 더 자세한 정보를 보려면
ls명령어에 긴 형식 (long format) 나열 옵션인-l을 사용합니다. 다음 명령어를 입력하고 Enter 를 누르세요.ls -l출력 결과에는 권한, 소유자, 크기, 수정 날짜와 같은 추가 정보가 다음과 같이 표시됩니다.
total 72 drwxr-xr-x 2 root root 4096 Oct 10 10:00 bin drwxr-xr-x 2 root root 4096 Oct 10 10:00 boot drwxr-xr-x 13 root root 4096 Oct 10 10:00 dev drwxr-xr-x 85 root root 4096 Oct 10 10:00 etc ...-l옵션은 디렉토리 내 각 항목의 속성을 이해하는 데 도움이 됩니다.다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.
ls 명령어를 사용하여 루트 디렉토리의 내용을 성공적으로 탐색했습니다. 다음 단계에서는 디렉토리 사이를 이동하는 방법을 배웁니다.
cd 를 사용하여 디렉토리 이동하기
이 단계에서는 cd 명령어를 사용하여 Kali Linux 컨테이너 내에서 디렉토리 사이를 이동하는 방법을 배웁니다. "change directory"의 약자인 이 명령어를 사용하면 파일 시스템을 탐색하여 다른 위치에 접근할 수 있으며, 이는 Linux 작업에서 매우 중요한 기술입니다.
입문자를 위한 기본 개념을 설명하겠습니다. Linux 파일 시스템은 최상위에 루트 디렉토리 /가 있고 다른 디렉토리들이 가지처럼 뻗어 나가는 나무와 같습니다. cd를 이용한 탐색을 통해 파일이나 도구가 저장된 특정 위치로 이동할 수 있습니다. /home과 같은 전체 경로를 지정하거나, ..과 같은 단축키를 사용하여 한 단계 위인 부모 디렉토리로 이동할 수 있습니다.
Kali Linux 컨테이너 쉘에서 다음 단계에 따라 탐색을 연습해 보세요.
다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/루트 디렉토리에 있음을 확인했습니다.
다음 명령어를 입력하고 Enter 를 눌러
/home디렉토리로 이동합니다.cd /homecd명령어는 현재 작업 디렉토리를 지정된 경로 (이 경우/home) 로 변경합니다.다음 명령어를 입력하고 Enter 를 눌러 새로운 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/home/home디렉토리에 무엇이 있는지 확인하기 위해 내용을 나열합니다. 다음 명령어를 입력하고 Enter 를 누르세요.ls컨테이너가 기본 설정으로 시작되었으므로 출력 결과가 비어 있거나 최소한의 내용만 보일 수 있습니다.
..단축키를 사용하여 루트 디렉토리로 다시 이동합니다. 다음 명령어를 입력하고 Enter 를 누르세요.cd ..이 명령어는 한 단계 위인 부모 디렉토리인
/로 이동시킵니다.다음 명령어를 입력하고 Enter 를 눌러 위치를 다시 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.
이제 cd 명령어를 사용하여 디렉토리를 이동하는 방법을 배웠습니다. 다음 단계에서는 파일 관리를 연습하기 위해 작업 디렉토리와 파일을 생성해 보겠습니다.
mkdir, touch, nano 를 사용하여 파일 생성 및 편집하기
이 단계에서는 Kali Linux 컨테이너에서 mkdir, touch, nano 명령어를 사용하여 디렉토리와 파일을 생성하고 텍스트 파일을 편집하는 방법을 배웁니다. 이는 Linux 에서 데이터를 조직하고 관리하는 데 필수적인 기술입니다.
기본 개념을 살펴보겠습니다. 디렉토리는 파일과 다른 디렉토리를 담을 수 있는 폴더와 같으며, mkdir(make directory) 을 사용하여 생성합니다. touch 명령어는 빈 파일을 생성하며, 자리 표시자나 빠른 파일 생성에 유용합니다. nano 명령어는 터미널에서 간단한 텍스트 편집기를 열어 파일의 내용을 추가하거나 수정할 수 있게 해줍니다. 이 도구들은 Linux 의 많은 작업에서 기본이 됩니다.
다음 단계에 따라 Kali Linux 컨테이너 쉘에서 디렉토리와 파일을 생성해 보세요.
다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/루트 디렉토리에 있지 않다면
cd /를 입력하여 이동하세요.파일을 정리하기 위해 루트 디렉토리에
myproject라는 이름의 새 디렉토리를 생성합니다. 다음 명령어를 입력하고 Enter 를 누르세요.mkdir /myproject명령어가 성공적으로 실행되면 아무런 출력도 나타나지 않습니다. 이로써
/myproject경로에 디렉토리가 생성되었습니다.다음 명령어를 입력하고 Enter 를 눌러
/myproject디렉토리로 이동합니다.cd /myproject다음 명령어를 입력하고 Enter 를 눌러 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/myprojecttouch명령어를 사용하여/myproject디렉토리에notes.txt라는 이름의 빈 텍스트 파일을 생성합니다. 다음 명령어를 입력하고 Enter 를 누르세요.touch notes.txt성공하면 출력이 없습니다. 이제
/myproject/notes.txt에 빈 파일이 생성되었습니다.디렉토리 내용을 나열하여 파일이 생성되었는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.
ls출력 결과에 다음과 같이 표시되어야 합니다.
notes.txt최소 설치된 Kali Linux 컨테이너에는
nano가 미리 설치되어 있지 않을 수 있으므로 먼저 설치해야 합니다. 다음 명령어들을 입력하여 패키지 목록을 업데이트하고nano를 설치하세요. 각 명령어 뒤에 Enter 를 누릅니다.apt update apt install -y nano첫 번째 명령어
apt update는 패키지 목록을 갱신하고, 두 번째 명령어apt install -y nano는 확인 절차 없이nano편집기를 설치합니다. 잠시 시간이 걸릴 수 있으며 터미널에 설치 진행 상황이 표시됩니다.nano편집기를 사용하여notes.txt에 내용을 추가합니다. 다음 명령어를 입력하고 Enter 를 누르세요.nano notes.txtnano가 열리면 하단에 메뉴가 있는 빈 화면이 보입니다. 다음 텍스트를 입력하세요.Learning file management in Kali Linux.필요한 경우 화살표 키를 사용하여 커서를 이동할 수 있습니다.
다음 동작을 수행하여 변경 사항을 저장하고
nano를 종료합니다.Ctrl + O를 눌러 변경 사항을 기록 (Write Out) 한 다음, Enter 를 눌러 파일 이름을 확인합니다.Ctrl + X를 눌러 편집기를 종료합니다. 터미널로 돌아가게 됩니다.
다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.
mkdir, touch, nano를 사용하여 디렉토리와 파일을 생성하고 내용을 편집하는 데 성공했습니다. 다음 단계에서는 파일을 복사하고 삭제하는 방법을 배웁니다.
cp 와 rm 을 사용하여 파일 복사 및 삭제하기
이 단계에서는 Kali Linux 컨테이너에서 cp와 rm 명령어를 사용하여 파일을 복사하고 삭제하는 방법을 배웁니다. 이러한 작업은 백업을 생성하거나 불필요한 데이터를 정리하는 등 파일을 관리하는 데 매우 중요합니다.
입문자를 위해 개념을 설명하겠습니다. "copy"의 약자인 cp 명령어는 파일이나 디렉토리를 다른 위치로 복제하거나 다른 이름으로 복제합니다. "remove"의 약자인 rm 명령어는 파일이나 디렉토리를 삭제합니다. Linux 에서는 휴지통이나 쉬운 복구 옵션 없이 항목을 영구적으로 삭제하므로 rm을 사용할 때는 주의해야 합니다.
Kali Linux 컨테이너 쉘의 /myproject 디렉토리에서 다음 단계에 따라 연습해 보세요.
다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/myproject/myproject에 있지 않다면 다음 명령어로 이동하세요.cd /myproject디렉토리 내용을 나열하여
notes.txt가 존재하는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.ls출력 결과에 다음과 같이 표시되어야 합니다.
notes.txtcp명령어를 사용하여 같은 디렉토리에notes_backup.txt라는 이름으로notes.txt의 복사본을 만듭니다. 다음 명령어를 입력하고 Enter 를 누르세요.cp notes.txt notes_backup.txt명령어가 성공적으로 실행되면 출력이 없습니다. 이로써
/myproject에notes.txt가notes_backup.txt로 복제되었습니다.디렉토리 내용을 나열하여 복사본이 생성되었는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.
ls출력 결과에 다음과 같이 표시되어야 합니다.
notes.txt notes_backup.txtrm명령어를 사용하여 복사된 파일notes_backup.txt를 삭제합니다. 다음 명령어를 입력하고 Enter 를 누르세요.rm notes_backup.txt명령어가 성공적으로 실행되면 출력이 없습니다. 이로써
/myproject에서notes_backup.txt가 제거되었습니다.디렉토리 내용을 다시 나열하여 파일이 삭제되었는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.
ls출력 결과에 다음과 같이 표시되어야 합니다.
notes.txt다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.
이제 cp와 rm을 사용하여 파일을 복사하고 삭제하는 방법을 배웠습니다. 마지막 단계에서는 편집기에서 파일을 열지 않고 파일 내용을 확인하는 방법을 배웁니다.
cat 을 사용하여 파일 내용 확인하기
마지막 단계에서는 Kali Linux 컨테이너에서 cat 명령어를 사용하여 파일의 내용을 확인하는 방법을 배웁니다. 이는 편집기에서 파일을 열지 않고 터미널에서 직접 파일 내용을 빠르게 표시하는 방법입니다.
입문자를 위해 개념을 명확히 하겠습니다. "concatenate"의 약자인 cat 명령어는 파일의 전체 내용을 터미널에 표시하는 데 사용됩니다. 편집이 가능한 nano와 같은 편집기와 달리, cat은 읽기 전용 뷰를 제공하므로 작은 파일이나 스크립트를 빠르게 확인하는 데 이상적입니다.
Kali Linux 컨테이너 쉘에서 다음 단계에 따라 /myproject에 있는 파일의 내용을 확인해 보세요.
다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.
pwd출력 결과는 다음과 같아야 합니다.
/myproject/myproject에 있지 않다면 다음 명령어로 이동하세요.cd /myproject디렉토리 내용을 나열하여
notes.txt가 존재하는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.ls출력 결과에 다음과 같이 표시되어야 합니다.
notes.txtcat명령어를 사용하여notes.txt의 내용을 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.cat notes.txt출력 결과에 다음과 같이 파일의 내용이 표시되어야 합니다.
Learning file management in Kali Linux.파일이 비어 있거나 존재하지 않으면 출력이 없거나 오류 메시지가 나타납니다.
컨테이너 쉘에 머물면서 더 탐색해 볼 수 있습니다. LabEx VM 터미널로 돌아가고 싶다면
exit를 입력하거나Ctrl+D를 누르세요. 터미널을 다시 열면 자동으로 컨테이너에 재연결됩니다.
cat으로 파일 내용을 확인하는 방법을 배움으로써 이 실습의 기본적인 파일 및 디렉토리 관리 작업을 모두 마쳤습니다.
요약
이 실습에서는 Docker 컨테이너 내의 Kali Linux 에서 파일을 탐색하고 관리하는 기본 기술을 배웠습니다. 터미널을 통해 자동으로 접속되는 컨테이너 환경을 익히는 것으로 시작했습니다. 현재 위치를 확인하는 pwd, 디렉토리 내용을 나열하는 ls, 디렉토리를 이동하는 cd와 같은 필수 명령어를 살펴보았습니다. 또한 mkdir과 touch로 디렉토리와 파일을 생성하고, nano로 내용을 편집하며, cp와 rm으로 파일을 복사 및 삭제하고, cat으로 파일 내용을 확인하는 연습을 했습니다. 이러한 기술은 Kali Linux 에서 사이버 보안 작업을 수행하는 데 필수적인 Linux 환경의 파일 및 디렉토리 작업에 대한 견고한 기초가 됩니다.


