AnbyMata의 해킹 노트

[Linux 기초] EP.5 - 파일과 디렉토리 목록 확인하기 (ls) 본문

[Linux 기초]

[Linux 기초] EP.5 - 파일과 디렉토리 목록 확인하기 (ls)

AnbyMata 2025. 9. 1. 22:08

 현재 우리는 내가 어느 디렉토리에 있는지 알 수 있습니다. 하지만, 그 디렉토리에 어떤 파일(데이터)들이 있는지 아직 확인하지 못했습니다.

윈도우 환경에서는 폴더를 누른다면 어떤 파일들이 있는지 바로 눈으로 확인할 수 있습니다.

TankGame 폴더 안에 뭐가 많네요..

하지만, 우리의 리눅스. 디렉토리 안의 파일들을 확인하려면 별도의 명령어를 입력해줘야 합니다. 이제부터 그 명령어에 대해 알아봅시다.

 

[1] 명령어 'ls' : 현재 디렉토리 안에 어떤 파일이 있는지 확인

 현재 내가 위치한 디렉토리 안에 어떤 파일이 있는지 보여주는 명령어 'ls' 입니다. (줄임말은 아니라네요)

 

사용 방법은

$ ls [옵션] [디렉토리_경로]

'ls' 만을 입력하면 현재 위치한 디렉토리 안에 있는 파일과 디렉토리들의 이름이 나열되어 출력됩니다. 

그리고 옵션에 따라서 상세 정보를 확인하거나 숨김파일까지 출력할 수 있습니다.

또한, 디렉토리 경로를 입력해준다면, 굳이 해당 위치로 이동하지 않고도 그 디렉토리 안에 있는 파일과 디렉토리들의 목록을 확인할 수 있습니다. 

 

 옵션을 활용하는 것은 잠시 미루고 우선 'ls' 자체만을 살펴보겠습니다. 

 

우리에게 친근한 그림을 다시 가져와서 현재 우리가 있는 위치를 'B 폴더' 라고 해봅시다.

현재 내 위치 : B 폴더

이 상황에서 명령어 'ls'의 예시들을 들어보면,

$ ls
tablet.txt  #현재 디렉토리(B 폴더)의 파일/디렉토리 목록 출력

$ ls /
메인 폴더  #최상위 디렉토리의 파일/디렉토리 목록 출력
#(메인 폴더 위헤 최상위 디렉토리가 있다고 가정)

$ ls ..
A 폴더 B 폴더  #부모 디렉토리(메인 폴더)의 파일/디렉토리 목록 출력

$ ls /메인 폴더
A 폴더 B 폴더  #메인 폴더의 파일/디렉토리 목록 출력

$ ls 메인 폴더/A 폴더
$ ls ../A 폴더
paper.txt  #A 폴더의 파일/디렉토리 목록 출력

'ls' 뒤에 원하는 디렉토리 경로를 입력하면, 그 위치에 있는 파일과 디렉토리의 목록을 바로 확인할 수 있습니다.

 

 이제 칼리 리눅스에서 최상위 디렉토리에 있는 파일과 디렉토리의 목록을 확인해보겠습니다. (root 계정으로 로그인)

먼저, 'cd /'로 최상위 디렉토리로 이동하고,

'ls' 명령어로 현재 경로 (최상위 디렉토리)에 어떤 파일들이 있는지 확인합니다.

'cd /' -> 'ls' : 최상위 디렉토리로 이동후 파일/디렉토리 목록 확인

이를 통해 최상위 디렉토리에 있는 어떤 파일들이 있는지 확인해 볼 수 있습니다.

 

 이번에는 홈 디렉토리에는 어떤 파일들이 있는지 확인해보겠습니다.

먼저, root 계정의 홈 디렉토리의 경로는  EP.4에서 봤듯이 '/root'입니다.

이번에는 'ls' 명령어 뒤에 디렉토리 경로를 입력해서 디렉토리를 이동하지 않고 확인합니다.

주황색 부분이 'ls /root' 부분

이로서 현재 위치는 최상위 디렉토리지만, 홈 디렉토리로 이동하지 않고 홈 디렉토리에 있는 파일과 디렉토리 목록을 확인했습니다.

 

 

 

[2] 명령어 'ls' 의 옵션

 EP.3에서 리눅스 명령어 구조를 설명할 때, 명령어는 '명령어 [옵션] [인자]'의 구조를 가진다고 했습니다. 앞에서 'ls', 'cd' 명령어의 인자로 디렉토리 경로를 사용했습니다. 그리고 드디어 옵션을 처음으로 사용해볼 것입니다.

 

 우선, 어떤 옵션들이 있는지 정리해보자면,

+ ls -a : 숨김 파일까지 모두 표시하기 (파일 이름 앞에 '.'을 붙이면 숨김 파일/디렉토리가 됩니다!)

+ ls -l : 파일의 상세 정보 표시하기 (권한, 소유자, 크기, 수정일 등..)

+ ls -h : 알아보기 쉬운 단위로 표시하기 (KB, MB 같은 단위. 보통 '-lh'로 사용)

+ ls -r : 출력 순서의 역순으로 표시하기

+ ls -t : 최근 수정된 시간 순서대로 정렬해 표시하기

+ ls -R : 가장 아래의 하위 디렉토리까지 차례대로 전부 탐색해 표시하기

 

 칼리 리눅스를 통해 가장 많이 사용하는 옵션들을 사용해봅시다. (-a, -l)

지금부터 홈 디렉토리에 어떤 파일들이 있는지 알아보겠습니다.

'cd ~'를 입력해 홈 디렉토리로 이동후, 'ls'를 입력해 홈 디렉토리에 어떤 파일들이 있는지 확인합니다.

'cd ~' -> 'ls' : 홈 디렉토리로 이동 후 파일/디렉토리 목록 확인

한 줄 정도 분량의 목록이 출력되었습니다.

 

이번에는 'ls -a'를 입력해 숨겨진 파일 및 디렉토리가 없는지 확인합니다.

주황색 부분이 'ls -a' 부분

숨겨진 파일이 잔뜩 나온 것을 확인할 수 있습니다. (아까랑 비교하면 정말 많이 숨겨져있던..)

 

이번에는 'ls -l'을 통해서 파일의 상세 정보를 확인합니다.

주황색 부분이 'ls -l' 부분

뭔지는 잘 모르겠지만, 숨긴 디렉토리가 아닌 친구들의 정체불명의 정보들이 출력되었습니다.

이 정보들을 가볍게 설명하자면, 'drwxr-xr-x 2 root root 4096 Sep  1 07:23' 이란 상세정보가 디렉토리 앞에 출력된 상황입니다.

이 상세 정보를 뜯어보면, 'drwxr' 중 앞글자 'd'는 타입(Type)으로 디렉토리임을 뜻합니다. 'd'의 뒷부분인 'rwxr-xr-x 2 root root'는 권한 정보로 누구의 소유인지, 타인이 읽을 수 있는지, 실행할 수 있는지, 수정할 수 있는지 등을 표시합니다, '4096'은 파일 크기로 바이트 단위입니다. 마지막 'Sep  1 07:23'은 마지막으로 수정한 시간입니다.

 

 EP.3에서 가볍게 설명했지만, 옵션은 합체할 수 있습니다.

방금 사용한 숨김 파일을 표시하는 옵션 '-a'와 옵션 '-l'을 같이 사용해보겠습니다. 

'ls -al'로 '-a'와 '-l'을 합체시켜 입력해보면,

'ls -al'

'ls -a'를 통해 확인할 수 있던 숨김 파일/디렉토리들의 상세정보도 전부 출력됨을 알 수 있습니다.

 

이런 방식으로 'ls'명령어의 옵션 조합들을 몇 가지 알려드리자면,

+ 'ls -al' : 숨김 파일까지 포함해서 상세 정보 표시하기

+ 'ls -lh' : 파일들의 크기를 보기 좋게 표시

+ 'ls -lt' : 최근 수정된 파일부터 정렬해서 표시

 

 

 

[3] 명령어 'ls' 의 최종형

 위에서 설명했듯이 명령어 'ls'의 기본 구조는 'ls [옵션] [디렉토리_경로]' 입니다. 즉, 우리는 옵션을 추가하면서 디렉토리의 경로를 지정하면 디렉토리 이동 없이 원하는 위치의 파일 목록들을 확인할 수 있습니다.

 

 현재 칼리 리눅스에서 우리의 위치는 홈 디렉토리입니다. 

여기서 'ls -al /'를 실행하면 홈 디렉토리에 있는 상태에서도 최상위 디렉토리(/)의 숨김 파일까지 포함한 모든 파일들의 상세 정보를 확인할 수 있습니다.

'ls -al /'

이제 제가 사용하지 않은 명령어들도 입력해보면서 자유롭게 리눅스를 다뤄보시는걸 추천합니다.

 

 

 

EP.5 - 파일과 디렉토리 목록 확인하기 (ls). END.

 

EP.6 - 절대 경로? 상대 경로?. Continue...