우분투 ls 명령어 완벽 가이드 - 옵션 조합부터 실무 활용 팁까지

개요

리눅스 환경에서 가장 기본적이면서도 자주 사용하는 ls 명령어의 핵심 사용법을 실습과 함께 알아봅니다. 기본 파일 목록 조회부터 숨김 파일 확인, 권한 분석, 정렬 및 트리 뷰 확장까지 실무에서 즉시 활용 가능한 필수 옵션들을 단계별로 정리했습니다.

기본 파일 목록 확인과 숨김 파일 조회 (ls, ls -a)

ls 명령어 실습을 위한 전용 공간을 생성하고 해당 디렉터리로 이동하기 위해 mkdir -p ~/ls_practice && cd ~/ls_practice 명령어를 실행합니다.

mkdir -p ~/ls_practice && cd ~/ls_practice

실습에 활용할 일반 텍스트 파일과 숨김 속성의 설정 파일을 생성하기 위해 touch file1.txt file2.txt .hidden_config 명령어를 실행합니다.

touch file1.txt file2.txt .hidden_config

ls 명령어는 현재 디렉터리에 위치한 파일과 디렉터리 목록을 확인하는 가장 기본적인 명령어입니다.
아무런 옵션 없이 실행하면 점(.)으로 시작하는 숨김 파일을 제외한 일반 항목만 출력됩니다.
⚙️ [주요 옵션]

-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 포함하여 모든 항목을 출력합니다.
-l : 파일 권한, 소유자, 파일 크기, 수정 시간 등 상세 정보를 긴 목록 형태로 표시합니다.
-h : 파일 크기를 사람이 읽기 쉬운 단위(K, M, G 등)로 변환하여 표시합니다(-l 옵션과 함께 사용).
-t : 파일이 최근 수정된 시간 순서대로 정렬하여 출력합니다.
-S : 파일 크기가 큰 순서대로 정렬하여 목록을 표시합니다.
-R : 하위 디렉터리의 내용까지 재귀적으로 모두 출력합니다.

ls

ls -a 명령어는 현재 디렉터리 내의 모든 항목을 조회하며, 점(.)으로 시작하는 숨김 파일까지 함께 출력합니다.
실행 결과에서 현재 디렉터리를 의미하는 ., 상위 디렉터리를 의미하는 .., 그리고 앞서 생성한 숨김 파일 .hidden_config가 포함되어 나타납니다.

ls -a

파일 상세 정보 및 권한 분석 (ls -l, ls -lh)

용량 표시 차이를 비교하기 위해 fallocate -l 10M ~/ls_practice/sample_large.dat 명령어로 10MB 크기의 대용량 테스트 파일을 생성합니다.

fallocate -l 10M ~/ls_practice/sample_large.dat

ls -l 명령어는 파일 권한, 소유자, 그룹, 파일 크기(바이트 단위), 최종 수정 시각 등 상세 정보를 긴 목록 형식으로 출력합니다.
기본 설정에서는 파일 크기가 바이트 단위 숫자로 표시되어 대용량 파일의 크기를 한눈에 파악하기 어렵습니다.

ls -l ~/ls_practice

ls -lh 명령어는 -h (human-readable) 옵션을 결합하여 파일 크기를 KB, MB, GB 등의 읽기 쉬운 단위로 변환해 출력합니다.
앞서 생성한 대용량 파일의 크기가 바이트 숫자 대신 10M으로 직관적으로 표시되는 것을 확인할 수 있습니다.

ls -lh ~/ls_practice

시간순 및 크기순 정렬 옵션 활용 (ls -lt, ls -lS)

시간순 정렬 실습을 위해 이틀 전 수정 시각을 가진 과거 파일 old_file.txt를 생성하고자 touch -d '2 days ago' ~/ls_practice/old_file.txt 명령어를 실행합니다.

touch -d ‘2 days ago’ ~/ls_practice/old_file.txt

비교 대상이 될 가장 최신 시각의 파일 recent_file.txt를 생성하기 위해 touch ~/ls_practice/recent_file.txt 명령어를 실행합니다.

touch ~/ls_practice/recent_file.txt

ls -lt 명령어는 -t 옵션을 결합하여 최근에 수정된 파일부터 내림차순(최신순)으로 정렬해 출력합니다.
방금 생성한 recent_file.txt가 목록 최상단에 위치하고, 이틀 전 시각으로 설정한 old_file.txt가 가장 마지막에 표시되는 것을 확인할 수 있습니다.

ls -lt ~/ls_practice

ls -lS 명령어는 대문자 -S 옵션을 사용하여 파일 용량이 가장 큰 순서대로 정렬해 목록을 표시합니다.
10MB 크기로 생성했던 sample_large.dat 파일이 가장 위에 출력되어 디렉터리 내에서 용량을 많이 차지하는 대용량 파일을 빠르게 찾아낼 수 있습니다.

ls -lS ~/ls_practice

디렉터리 구조 시각화와 와일드카드 필터링 (tree, ls *.txt)

계층적 디렉터리 구조 탐색 실습을 위해 다중 하위 디렉터리와 샘플 로그 파일을 생성하고자 mkdir -p ~/ls_practice/subdir/inner && touch ~/ls_practice/subdir/inner/note.log 명령어를 실행합니다.

mkdir -p ~/ls_practice/subdir/inner && touch ~/ls_practice/subdir/inner/note.log

ls ~/ls_practice/*.txt 명령어는 와일드카드 문자(*)를 활용하여 확장자가 .txt인 파일만 선별적으로 필터링해 출력합니다.
대용량 데이터 파일이나 하위 디렉터리를 제외하고 텍스트 파일 목록만 정확하게 확인할 수 있습니다.

ls ~/ls_practice/*.txt

디렉터리 구조를 트리 형태로 시각화하여 확인하기 위해 sudo apt-get update -qq && sudo apt-get install -y tree 명령어로 tree 패키지를 설치합니다.

sudo apt-get update -qq && sudo apt-get install -y tree

tree ~/ls_practice 명령어는 지정한 디렉터리의 하위 폴더와 파일 구조를 한눈에 파악할 수 있도록 트리 다이어그램 형태로 출력합니다.
중첩된 subdir/inner/note.log 경로를 포함한 전체 파일 및 디렉터리 개수와 계층 관계를 직관적으로 확인할 수 있습니다.

tree ~/ls_practice

지금까지 우분투 환경에서 유용한 ls 명령어의 필수 옵션 조합부터 실무 활용 팁까지 간단하게 정리해보았습니다.
상황에 맞는 옵션을 손에 익혀 터미널 작업을 더욱 빠르고 효율적으로 진행해 보세요.