Kali Linux 에서 파일 탐색 및 관리하기

Kali LinuxBeginner
지금 연습하기

소개

이 실습에서는 사이버 보안 및 침투 테스트에 널리 사용되는 강력한 운영체제인 Kali Linux 에서 파일을 탐색하고 관리하는 기초를 배웁니다. 직접 실습을 진행하며 pwd, ls, cd, touch, nano, cp, rm, cat과 같은 필수 Linux 명령어에 익숙해질 것입니다. 이 실습은 Linux 환경에서 파일 및 디렉토리 작업을 수행하기 위한 탄탄한 기초를 다질 수 있도록 단계별 가이드를 제공합니다. 모든 활동은 자동으로 설정된 Kali Linux Docker 컨테이너 내부에서 수행됩니다. 터미널을 열면 컨테이너의 쉘에 직접 연결되어 바로 연습을 시작할 수 있습니다.

이 실습은 단계별 지침을 통해 학습과 연습을 돕는 가이드형 실습 (Guided Lab) 입니다. 각 단계를 주의 깊게 따라가며 실무 경험을 쌓으세요. 통계 데이터에 따르면 이 실습은 초급 수준이며, 완료율은 95%입니다. 또한 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

Kali Linux 컨테이너 시작하기

첫 번째 단계에서는 모든 실습이 진행될 Kali Linux 컨테이너 환경을 익힙니다. 컨테이너는 LabEx VM 내에 자동으로 설정되어 있습니다. 터미널을 열면 Kali Linux 컨테이너의 쉘에 직접 연결되므로, 수동으로 시작하거나 연결할 필요가 없습니다.

입문자를 위한 기본 개념을 알아보겠습니다. Kali Linux 는 침투 테스트용 도구들이 가득 담긴 사이버 보안 작업 전용 Linux 배포판입니다. 이를 Docker 컨테이너에서 실행하면 호스트 시스템에 영향을 주지 않고 학습할 수 있는 격리되고 가벼운 환경이 제공됩니다. 여러분이 사용하는 터미널은 명령어를 통해 이 환경과 상호작용하는 관문입니다.

다음 단계에 따라 올바른 환경에 있는지 확인하세요.

  1. LabEx VM 환경에서 터미널을 엽니다. Xfce 데스크톱의 터미널 아이콘을 클릭하거나 LabEx 인터페이스에서 제공하는 터미널을 사용할 수 있습니다. 터미널을 열면 Kali Linux 컨테이너 쉘에 있음을 알리는 환영 메시지가 나타납니다. 프롬프트는 root@xxxxxxxxxxxx:/#와 같이 표시되며, 이는 컨테이너 내부의 root 사용자로 로그인되었음을 나타냅니다.
Kali Linux 컨테이너 쉘을 보여주는 이미지
  1. 다음 명령어를 입력하고 Enter 를 눌러 파일 시스템 내 현재 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /

    이는 여러분이 Linux 파일 시스템 계층 구조의 최상위 수준인 루트 디렉토리에 있음을 의미합니다. pwd 명령어는 "print working directory"의 약자로, 현재 위치를 표시하는 데 사용됩니다.

  2. 이후의 모든 단계에서도 Kali Linux 컨테이너 쉘 상태를 유지하세요. 실수로 exit를 입력하거나 Ctrl+D를 눌러 종료한 경우, LabEx VM 에서 터미널을 다시 열면 자동으로 컨테이너에 재연결됩니다.

이제 Kali Linux 컨테이너에서의 시작 지점을 확인했습니다. 다음 단계에서는 현재 디렉토리의 내용을 살펴보겠습니다.

ls 를 사용하여 디렉토리 내용 탐색하기

이 단계에서는 Kali Linux 컨테이너 내부에서 ls 명령어를 사용하여 디렉토리의 내용을 확인하는 방법을 배웁니다. 이 명령어는 어떤 작업을 수행하기 전에 현재 위치에 어떤 파일과 폴더가 있는지 파악하는 데 필수적입니다.

입문자를 위한 핵심 개념을 짚어보겠습니다. Linux 에서 파일 시스템은 파일과 다른 디렉토리를 포함하는 디렉토리들이 나무 (tree) 구조로 조직되어 있습니다. ls 명령어는 디렉토리의 내용을 나열하여 무엇이 있는지 보여줍니다. ls와 함께 옵션을 사용하면 나열된 항목에 대한 더 자세한 정보를 얻을 수 있습니다.

이미 Kali Linux 컨테이너 쉘에 접속해 있으므로, 다음 단계에 따라 루트 디렉토리를 탐색해 보세요.

  1. 다음 명령어를 입력하고 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는 설정 파일을 보관합니다.

  2. 이 디렉토리들에 대한 더 자세한 정보를 보려면 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 옵션은 디렉토리 내 각 항목의 속성을 이해하는 데 도움이 됩니다.

  3. 다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.

ls 명령어를 사용하여 루트 디렉토리의 내용을 성공적으로 탐색했습니다. 다음 단계에서는 디렉토리 사이를 이동하는 방법을 배웁니다.

cd 를 사용하여 디렉토리 이동하기

이 단계에서는 cd 명령어를 사용하여 Kali Linux 컨테이너 내에서 디렉토리 사이를 이동하는 방법을 배웁니다. "change directory"의 약자인 이 명령어를 사용하면 파일 시스템을 탐색하여 다른 위치에 접근할 수 있으며, 이는 Linux 작업에서 매우 중요한 기술입니다.

입문자를 위한 기본 개념을 설명하겠습니다. Linux 파일 시스템은 최상위에 루트 디렉토리 /가 있고 다른 디렉토리들이 가지처럼 뻗어 나가는 나무와 같습니다. cd를 이용한 탐색을 통해 파일이나 도구가 저장된 특정 위치로 이동할 수 있습니다. /home과 같은 전체 경로를 지정하거나, ..과 같은 단축키를 사용하여 한 단계 위인 부모 디렉토리로 이동할 수 있습니다.

Kali Linux 컨테이너 쉘에서 다음 단계에 따라 탐색을 연습해 보세요.

  1. 다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /

    루트 디렉토리에 있음을 확인했습니다.

  2. 다음 명령어를 입력하고 Enter 를 눌러 /home 디렉토리로 이동합니다.

    cd /home

    cd 명령어는 현재 작업 디렉토리를 지정된 경로 (이 경우 /home) 로 변경합니다.

  3. 다음 명령어를 입력하고 Enter 를 눌러 새로운 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /home
  4. /home 디렉토리에 무엇이 있는지 확인하기 위해 내용을 나열합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    ls

    컨테이너가 기본 설정으로 시작되었으므로 출력 결과가 비어 있거나 최소한의 내용만 보일 수 있습니다.

  5. .. 단축키를 사용하여 루트 디렉토리로 다시 이동합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    cd ..

    이 명령어는 한 단계 위인 부모 디렉토리인 /로 이동시킵니다.

  6. 다음 명령어를 입력하고 Enter 를 눌러 위치를 다시 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /
  7. 다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.

이제 cd 명령어를 사용하여 디렉토리를 이동하는 방법을 배웠습니다. 다음 단계에서는 파일 관리를 연습하기 위해 작업 디렉토리와 파일을 생성해 보겠습니다.

mkdir, touch, nano 를 사용하여 파일 생성 및 편집하기

이 단계에서는 Kali Linux 컨테이너에서 mkdir, touch, nano 명령어를 사용하여 디렉토리와 파일을 생성하고 텍스트 파일을 편집하는 방법을 배웁니다. 이는 Linux 에서 데이터를 조직하고 관리하는 데 필수적인 기술입니다.

기본 개념을 살펴보겠습니다. 디렉토리는 파일과 다른 디렉토리를 담을 수 있는 폴더와 같으며, mkdir(make directory) 을 사용하여 생성합니다. touch 명령어는 빈 파일을 생성하며, 자리 표시자나 빠른 파일 생성에 유용합니다. nano 명령어는 터미널에서 간단한 텍스트 편집기를 열어 파일의 내용을 추가하거나 수정할 수 있게 해줍니다. 이 도구들은 Linux 의 많은 작업에서 기본이 됩니다.

다음 단계에 따라 Kali Linux 컨테이너 쉘에서 디렉토리와 파일을 생성해 보세요.

  1. 다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /

    루트 디렉토리에 있지 않다면 cd /를 입력하여 이동하세요.

  2. 파일을 정리하기 위해 루트 디렉토리에 myproject라는 이름의 새 디렉토리를 생성합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    mkdir /myproject

    명령어가 성공적으로 실행되면 아무런 출력도 나타나지 않습니다. 이로써 /myproject 경로에 디렉토리가 생성되었습니다.

  3. 다음 명령어를 입력하고 Enter 를 눌러 /myproject 디렉토리로 이동합니다.

    cd /myproject
  4. 다음 명령어를 입력하고 Enter 를 눌러 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /myproject
  5. touch 명령어를 사용하여 /myproject 디렉토리에 notes.txt라는 이름의 빈 텍스트 파일을 생성합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    touch notes.txt

    성공하면 출력이 없습니다. 이제 /myproject/notes.txt에 빈 파일이 생성되었습니다.

  6. 디렉토리 내용을 나열하여 파일이 생성되었는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    ls

    출력 결과에 다음과 같이 표시되어야 합니다.

    notes.txt
  7. 최소 설치된 Kali Linux 컨테이너에는 nano가 미리 설치되어 있지 않을 수 있으므로 먼저 설치해야 합니다. 다음 명령어들을 입력하여 패키지 목록을 업데이트하고 nano를 설치하세요. 각 명령어 뒤에 Enter 를 누릅니다.

    apt update
    apt install -y nano

    첫 번째 명령어 apt update는 패키지 목록을 갱신하고, 두 번째 명령어 apt install -y nano는 확인 절차 없이 nano 편집기를 설치합니다. 잠시 시간이 걸릴 수 있으며 터미널에 설치 진행 상황이 표시됩니다.

  8. nano 편집기를 사용하여 notes.txt에 내용을 추가합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    nano notes.txt
  9. nano가 열리면 하단에 메뉴가 있는 빈 화면이 보입니다. 다음 텍스트를 입력하세요.

    Learning file management in Kali Linux.

    필요한 경우 화살표 키를 사용하여 커서를 이동할 수 있습니다.

  10. 다음 동작을 수행하여 변경 사항을 저장하고 nano를 종료합니다.

    • Ctrl + O를 눌러 변경 사항을 기록 (Write Out) 한 다음, Enter 를 눌러 파일 이름을 확인합니다.
    • Ctrl + X를 눌러 편집기를 종료합니다. 터미널로 돌아가게 됩니다.
  11. 다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.

mkdir, touch, nano를 사용하여 디렉토리와 파일을 생성하고 내용을 편집하는 데 성공했습니다. 다음 단계에서는 파일을 복사하고 삭제하는 방법을 배웁니다.

cp 와 rm 을 사용하여 파일 복사 및 삭제하기

이 단계에서는 Kali Linux 컨테이너에서 cprm 명령어를 사용하여 파일을 복사하고 삭제하는 방법을 배웁니다. 이러한 작업은 백업을 생성하거나 불필요한 데이터를 정리하는 등 파일을 관리하는 데 매우 중요합니다.

입문자를 위해 개념을 설명하겠습니다. "copy"의 약자인 cp 명령어는 파일이나 디렉토리를 다른 위치로 복제하거나 다른 이름으로 복제합니다. "remove"의 약자인 rm 명령어는 파일이나 디렉토리를 삭제합니다. Linux 에서는 휴지통이나 쉬운 복구 옵션 없이 항목을 영구적으로 삭제하므로 rm을 사용할 때는 주의해야 합니다.

Kali Linux 컨테이너 쉘의 /myproject 디렉토리에서 다음 단계에 따라 연습해 보세요.

  1. 다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /myproject

    /myproject에 있지 않다면 다음 명령어로 이동하세요.

    cd /myproject
  2. 디렉토리 내용을 나열하여 notes.txt가 존재하는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    ls

    출력 결과에 다음과 같이 표시되어야 합니다.

    notes.txt
  3. cp 명령어를 사용하여 같은 디렉토리에 notes_backup.txt라는 이름으로 notes.txt의 복사본을 만듭니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    cp notes.txt notes_backup.txt

    명령어가 성공적으로 실행되면 출력이 없습니다. 이로써 /myprojectnotes.txtnotes_backup.txt로 복제되었습니다.

  4. 디렉토리 내용을 나열하여 복사본이 생성되었는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    ls

    출력 결과에 다음과 같이 표시되어야 합니다.

    notes.txt  notes_backup.txt
  5. rm 명령어를 사용하여 복사된 파일 notes_backup.txt를 삭제합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    rm notes_backup.txt

    명령어가 성공적으로 실행되면 출력이 없습니다. 이로써 /myproject에서 notes_backup.txt가 제거되었습니다.

  6. 디렉토리 내용을 다시 나열하여 파일이 삭제되었는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    ls

    출력 결과에 다음과 같이 표시되어야 합니다.

    notes.txt
  7. 다음 단계를 위해 컨테이너 쉘을 유지하세요. 터미널을 종료하지 마십시오.

이제 cprm을 사용하여 파일을 복사하고 삭제하는 방법을 배웠습니다. 마지막 단계에서는 편집기에서 파일을 열지 않고 파일 내용을 확인하는 방법을 배웁니다.

cat 을 사용하여 파일 내용 확인하기

마지막 단계에서는 Kali Linux 컨테이너에서 cat 명령어를 사용하여 파일의 내용을 확인하는 방법을 배웁니다. 이는 편집기에서 파일을 열지 않고 터미널에서 직접 파일 내용을 빠르게 표시하는 방법입니다.

입문자를 위해 개념을 명확히 하겠습니다. "concatenate"의 약자인 cat 명령어는 파일의 전체 내용을 터미널에 표시하는 데 사용됩니다. 편집이 가능한 nano와 같은 편집기와 달리, cat은 읽기 전용 뷰를 제공하므로 작은 파일이나 스크립트를 빠르게 확인하는 데 이상적입니다.

Kali Linux 컨테이너 쉘에서 다음 단계에 따라 /myproject에 있는 파일의 내용을 확인해 보세요.

  1. 다음 명령어를 입력하고 Enter 를 눌러 현재 위치를 확인합니다.

    pwd

    출력 결과는 다음과 같아야 합니다.

    /myproject

    /myproject에 있지 않다면 다음 명령어로 이동하세요.

    cd /myproject
  2. 디렉토리 내용을 나열하여 notes.txt가 존재하는지 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    ls

    출력 결과에 다음과 같이 표시되어야 합니다.

    notes.txt
  3. cat 명령어를 사용하여 notes.txt의 내용을 확인합니다. 다음 명령어를 입력하고 Enter 를 누르세요.

    cat notes.txt

    출력 결과에 다음과 같이 파일의 내용이 표시되어야 합니다.

    Learning file management in Kali Linux.

    파일이 비어 있거나 존재하지 않으면 출력이 없거나 오류 메시지가 나타납니다.

  4. 컨테이너 쉘에 머물면서 더 탐색해 볼 수 있습니다. LabEx VM 터미널로 돌아가고 싶다면 exit를 입력하거나 Ctrl+D를 누르세요. 터미널을 다시 열면 자동으로 컨테이너에 재연결됩니다.

cat으로 파일 내용을 확인하는 방법을 배움으로써 이 실습의 기본적인 파일 및 디렉토리 관리 작업을 모두 마쳤습니다.

요약

이 실습에서는 Docker 컨테이너 내의 Kali Linux 에서 파일을 탐색하고 관리하는 기본 기술을 배웠습니다. 터미널을 통해 자동으로 접속되는 컨테이너 환경을 익히는 것으로 시작했습니다. 현재 위치를 확인하는 pwd, 디렉토리 내용을 나열하는 ls, 디렉토리를 이동하는 cd와 같은 필수 명령어를 살펴보았습니다. 또한 mkdirtouch로 디렉토리와 파일을 생성하고, nano로 내용을 편집하며, cprm으로 파일을 복사 및 삭제하고, cat으로 파일 내용을 확인하는 연습을 했습니다. 이러한 기술은 Kali Linux 에서 사이버 보안 작업을 수행하는 데 필수적인 Linux 환경의 파일 및 디렉토리 작업에 대한 견고한 기초가 됩니다.