리눅스 필수 명령어: ls -al로 숨김 파일과 권한 한눈에 확인하는 법

개요

리눅스 환경에서 숨겨진 설정 파일이나 파일 권한을 확인하는 것은 시스템 관리 및 개발의 첫걸음입니다. 본 글에서는 ls -al 명령어를 활용하여 숨김 파일까지 빠르고 정확하게 확인하는 방법과 실무 필수 옵션들을 소개합니다. 터미널 실습을 통해 파일 권한과 정렬 팁까지 완벽하게 익혀보세요.

1. 리눅스 파일 시스템과 숨김 파일(.)의 개념 및 -a 옵션

mkdir -p ~/ls_practice && cd ~/ls_practice 명령어는 실습에 필요한 디렉터리를 생성하고 해당 위치로 이동합니다.
mkdir로 디렉터리를 만든 후 && 연산자를 통해 연속으로 cd 명령어를 실행하여 이동합니다.
실행 결과 지정한 경로에 디렉터리가 정상 생성되며 현재 작업 디렉터리가 변경됩니다.
⚙️ [주요 옵션]

-p : 필요한 경우 상위 디렉터리까지 함께 생성하며 이미 존재하는 디렉터리여도 오류를 발생시키지 않습니다.
-m : 디렉터리를 생성할 때 접근 권한을 직접 설정합니다.
-v : 디렉터리 생성 과정의 상세 정보를 화면에 출력합니다.

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

touch sample_file.txt 명령어는 실습용 일반 텍스트 파일을 새로 생성합니다.
touch는 본래 파일의 타임스탬프를 수정하는 명령어이지만 파일이 존재하지 않으면 0바이트의 빈 파일을 새로 만듭니다.
실행 결과 현재 디렉터리에 아무 내용도 없는 sample_file.txt 파일이 생성됩니다.
⚙️ [주요 옵션]

-a : 파일의 접근(access) 시간만 변경합니다.
-m : 파일의 수정(modification) 시간만 변경합니다.
-c : 지정한 파일이 존재하지 않아도 새 파일을 생성하지 않습니다.
-r : 지정한 다른 참조 파일과 동일한 타임스탬프 설정으로 변경합니다.

touch sample_file.txt

touch .hidden_config 명령어는 파일명 맨 앞에 점(.)을 붙여 숨김 파일을 생성합니다.
리눅스 파일 시스템에서는 이름이 점(.)으로 시작하는 파일이나 디렉터리를 시스템 환경설정용 숨김 항목으로 간주합니다.
실행 결과 일반적인 방법으로는 쉽게 보이지 않는 .hidden_config 숨김 설정 파일이 새로 만들어집니다.
⚙️ [주요 옵션]

-a : 파일의 접근(access) 시간만 변경합니다.
-m : 파일의 수정(modification) 시간만 변경합니다.
-c : 지정한 파일이 존재하지 않아도 새 파일을 생성하지 않습니다.
-t : 타임스탬프를 현재 시간이 아닌 지정한 시간 형식으로 설정합니다.

touch .hidden_config

ls 명령어는 현재 작업 디렉터리에 포함된 파일과 디렉터리의 목록을 조회합니다.
옵션 없이 실행하면 기본 설정에 따라 일반 파일과 디렉터리만 화면에 표시됩니다.
실행 결과 앞서 생성한 .hidden_config 파일은 보이지 않고 일반 파일인 sample_file.txt 항목만 출력됩니다.
⚙️ [주요 옵션]

-a : 점(.)으로 시작하는 숨김 항목을 포함한 모든 파일과 디렉터리를 출력합니다.
-l : 파일 권한, 소유자, 그룹, 파일 크기, 수정 시간 등 상세 정보를 출력합니다.
-h : 파일 크기를 사람이 읽기 쉬운 형식(K, M, G)으로 변환하여 표시합니다.
-t : 파일을 알파벳순이 아닌 파일의 수정 시간 순서대로 정렬하여 출력합니다.
-r : 정렬 결과를 역순으로 뒤집어 출력합니다.
-R : 하위 디렉터리의 내부 내용까지 재귀적으로 모두 출력합니다.

ls

ls -a 명령어는 숨김 파일과 디렉터리를 포함하여 디렉터리 내의 모든 항목을 조회합니다.
기본 ls 명령어에 -a 옵션을 전달하면 점(.)으로 시작하는 숨김 파일까지 한눈에 확인할 수 있습니다.
실행 결과 일반 파일뿐만 아니라 .hidden_config 파일 및 현재 디렉터리(.), 상위 디렉터리(..)가 목록에 모두 출력됩니다.
⚙️ [주요 옵션]

-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 포함하여 모든 항목을 출력합니다.
-A : 점(.)으로 시작하는 숨김 파일과 디렉터리를 출력하되 현재 디렉터리(.)와 상위 디렉터리(..)는 제외합니다.
-l : 권한, 소유자, 크기 등 파일의 상세 속성을 목록 형태로 출력합니다.
-F : 파일 종류를 구분하도록 디렉터리 뒤에는 /, 실행 파일 뒤에는 * 기호를 붙여 출력합니다.
-i : 각 파일과 디렉터리의 고유한 아이노드(inode) 번호를 함께 출력합니다.

ls -a

2. ls -l과 ls -al을 이용한 상세 정보 및 권한 확인

echo 'Ubuntu Security' > sample_file.txt 명령어는 지정한 문자열을 파일에 저장합니다.
echo 명령어는 입력한 텍스트를 출력하며, 리다이렉션 연산자 >는 출력 내용을 지정한 파일로 덮어써서 기록합니다.
이 명령을 실행하면 Ubuntu Security 문자열을 가진 sample_file.txt 파일이 새로 생성됩니다.
실행 후 터미널에는 별도의 메시지가 출력되지 않고 파일 작성이 정상 완료됩니다.
⚙️ [주요 옵션]

-n : 문자열 출력 후 마지막에 포함되는 줄바꿈 문자를 출력하지 않습니다.
-e : 백슬래시 이스케이프 문자의 해석을 활성화합니다.
-E : 백슬래시 이스케이프 문자의 해석을 비활성화합니다.

echo ‘Ubuntu Security’ > sample_file.txt

echo 'Secret Key' > .hidden_config 명령어는 숨김 파일에 설정 정보를 기록합니다.
파일명 맨 앞에 점(.)을 붙인 .hidden_config 파일에 Secret Key 텍스트를 저장합니다.
리눅스 시스템에서는 점(.)으로 시작하는 파일을 숨김 파일로 처리하여 일반 목록 출력에서 제외합니다.
명령 실행 결과 화면에는 아무런 텍스트가 표시되지 않으며 숨김 파일이 성공적으로 생성됩니다.
⚙️ [주요 옵션]

-n : 텍스트 출력 끝의 개행 문자를 제거합니다.
-e : 이스케이프 문자를 해석하도록 설정합니다.
-E : 이스케이프 문자 해석 기능을 끕니다.

echo ‘Secret Key’ > .hidden_config

ls -l 명령어는 현재 디렉터리의 일반 파일 및 디렉터리 목록을 상세 정보와 함께 표시합니다.
-l 옵션은 파일의 권한, 소유자, 소유 그룹, 파일 크기, 최종 수정 시각 등 상세 항목을 긴 형식으로 출력합니다.
일반 목록 보기 상태이므로 점(.)으로 시작하는 숨김 파일은 화면에 출력되지 않습니다.
출력 첫 줄의 total 64는 목록에 표시된 일반 항목들이 차지하는 디렉터리 블록 크기를 나타냅니다.
⚙️ [주요 옵션]

-l : 파일 권한, 소유자, 파일 크기, 수정 시각 등 상세 정보를 출력합니다.
-h : 파일 크기를 읽기 쉬운 단위(KB, MB, GB)로 표시합니다.
-t : 파일을 최근 수정된 시각 순서대로 정렬합니다.
-r : 정렬 순서를 역순으로 뒤집어 출력합니다.
-S : 파일 크기가 큰 순서대로 정렬하여 출력합니다.

ls -l

ls -al 명령어는 숨김 파일과 디렉터리를 모두 포함하여 상세 정보 목록을 출력합니다.
-a 옵션과 -l 옵션이 결합되어 점(.)으로 시작하는 숨김 파일까지 권한 및 크기 정보와 함께 보여줍니다.
실행 결과 앞부분에 방금 생성한 .hidden_config와 기본 숨김 파일인 .dockerenv, ., .. 항목이 표시됩니다.
출력 첫 줄의 total 76은 숨김 파일이 추가되어 ls -l 출력 시보다 총 블록 크기가 증가했음을 의미합니다.
⚙️ [주요 옵션]

-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 포함하여 모든 항목을 출력합니다.
-l : 파일 권한, 소유자, 크기, 수정 시각 등의 상세 정보를 목록 형태로 표시합니다.
-A : 현재 디렉터리(.)와 상위 디렉터리(..)를 제외한 숨김 파일 및 모든 항목을 출력합니다.
-i : 각 파일의 고유 이노드(inode) 번호를 목록과 함께 출력합니다.
-R : 하위 디렉터리의 모든 내용까지 재귀적으로 출력합니다.

ls -al

3. 사람이 읽기 쉬운 단위로 표기하는 -h 옵션 조합 (ls -alh)

truncate -s 5M large_file.bin 명령어는 지정한 크기로 빈 파일을 새로 생성하거나 기존 파일의 용량을 조절합니다.
이 명령을 실행하면 5MB 크기의 일반 테스트 파일인 large_file.bin이 생성됩니다.
⚙️ [주요 옵션]

-s : 파일의 크기를 바이트 단위 또는 K, M, G 등의 단위로 지정합니다.
-c : 지정한 파일이 존재하지 않더라도 파일을 새로 생성하지 않습니다.
-r : 기존에 존재하는 다른 참조 파일의 크기와 동일하게 설정합니다.

truncate -s 5M large_file.bin

truncate -s 10M .large_hidden_file.bin 명령어는 이름이 점(.)으로 시작하는 10MB 크기의 숨김 파일을 생성합니다.
리눅스 파일 시스템에서는 파일명 맨 앞에 점(.)을 붙이면 해당 항목이 숨김 파일로 지정됩니다.
⚙️ [주요 옵션]

-s : 파일의 크기를 바이트 단위 또는 K, M, G 등의 단위로 지정합니다.
-c : 파일이 없을 때 새로운 파일이 자동으로 만들어지는 것을 방지합니다.
-r : 별도 참조 파일의 용량을 기준값으로 가져와 적용합니다.

truncate -s 10M .large_hidden_file.bin

ls -l 명령어는 디렉터리 내 일반 파일과 디렉터리의 상세 속성 정보를 목록 형태로 출력합니다.
실행 결과 large_file.bin5242880 바이트 단위로 출력되어 용량을 직관적으로 파악하기 어렵고, 숨김 파일인 .large_hidden_file.bin은 목록에서 제외됩니다.
⚙️ [주요 옵션]

-l : 파일 권한, 소유자, 바이트 단위 파일 크기, 수정 시간 등 상세 정보를 출력합니다.
-a : 점(.)으로 시작하는 숨김 파일을 포함하여 디렉터리의 모든 항목을 출력합니다.
-h : 파일 크기를 K, M, G 등 사람이 읽기 쉬운 용량 단위로 변환하여 표시합니다.
-t : 최근에 수정된 시간 순서대로 항목을 정렬합니다.
-r : 정렬 순서를 반대로 뒤집어 역순으로 표시합니다.

ls -l

ls -alh 명령어는 숨김 파일을 포함한 전체 목록을 상세 정보 및 사람이 읽기 쉬운 용량 단위로 조합하여 표시합니다.
실행 결과 5242880 바이트는 5.0M로 자동 변환되며, 숨겨져 있던 10MB 크기의 .large_hidden_file.bin 파일이 10M 표시와 함께 목록에 나타납니다.
⚙️ [주요 옵션]

-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 목록에 포함합니다.
-l : 권한, 소유 계정, 파일 크기 등 상세 속성을 포함하여 목록을 출력합니다.
-h : 파일 크기를 KB, MB, GB 등의 가독성 높은 단위로 변환하여 표시합니다.
-S : 파일 크기가 가장 큰 항목부터 순서대로 정렬합니다.
-R : 하위 디렉터리 내부의 파일까지 재귀적으로 확인하여 출력합니다.

ls -alh

4. 실무 유용한 시간(-t) 및 크기(-S) 정렬 옵션 결합

touch -t 202601010000 .old_hidden_log 명령어는 파일의 수정 시각을 직접 지정하여 생성하거나 변경합니다.
이 예제에서는 타임스탬프 정렬 결과를 확인하기 위해 2026년 1월 1일 00시 00분 시각을 가지는 .old_hidden_log 빈 숨김 파일을 생성합니다.
⚙️ [주요 옵션]

-t : 지정한 날짜와 시간 형식으로 파일의 수정 및 접근 시각을 설정합니다.

touch -t 202601010000 .old_hidden_log

ls -alt 명령어는 숨김 파일을 포함한 모든 디렉터리 항목을 최신 수정 시간순으로 정렬하여 상세히 출력합니다.
실행 결과 상단에 가장 최근에 수정되었거나 생성된 파일이 우선적으로 배치됩니다.
⚙️ [주요 옵션]

-a : 점으로 시작하는 숨김 파일과 숨김 디렉터리를 포함하여 모든 항목을 출력합니다.
-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다.
-t : 파일 및 디렉터리를 최신 수정 시간 기준 내림차순으로 정렬합니다.

ls -alt

ls -alS 명령어는 숨김 파일을 포함한 모든 항목의 상세 정보를 파일 크기가 큰 순서대로 정렬하여 출력합니다.
용량이 큰 파일이나 디렉터리를 빠르게 파악하여 디스크 공간을 관리할 때 유용합니다.
⚙️ [주요 옵션]

-a : 점으로 시작하는 숨김 파일과 숨김 디렉터리를 포함하여 모든 항목을 출력합니다.
-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다.
-S : 파일 크기가 큰 순서 기준 내림차순으로 목록을 정렬합니다.

ls -alS

ls -alrt 명령어는 숨김 파일을 포함한 모든 항목의 상세 정보를 오래된 수정 시간순으로 정렬하여 출력합니다.
시간 역순 정렬을 통해 가장 최근에 변경된 파일이 터미널 화면의 맨 아래에 표시되어 바로 확인하기 편리합니다.
⚙️ [주요 옵션]

-a : 점으로 시작하는 숨김 파일과 숨김 디렉터리를 포함하여 모든 항목을 출력합니다.
-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다.
-r : 정렬 순서를 역순으로 뒤집어 오름차순으로 정렬합니다.
-t : 파일 및 디렉터리를 최신 수정 시간 기준으로 정렬합니다.

ls -alrt

지금까지 리눅스 필수 명령어인 ls -al을 활용해 숨김 파일과 상세 권한 정보를 확인하는 법을 정리해보았습니다.
이번 글을 참고하여 리눅스 환경에서 파일과 디렉터리를 더욱 효율적으로 관리해 보시기 바랍니다.