개요
리눅스 환경에서 숨겨진 설정 파일이나 파일 권한을 확인하는 것은 시스템 관리 및 개발의 첫걸음입니다. 본 글에서는 ls -al 명령어를 활용하여 숨김 파일까지 빠르고 정확하게 확인하는 방법과 실무 필수 옵션들을 소개합니다. 터미널 실습을 통해 파일 권한과 정렬 팁까지 완벽하게 익혀보세요.
1. 리눅스 파일 시스템과 숨김 파일(.)의 개념 및 -a 옵션
mkdir -p ~/ls_practice && cd ~/ls_practice 명령어는 실습에 필요한 디렉터리를 생성하고 해당 위치로 이동합니다.mkdir로 디렉터리를 만든 후 && 연산자를 통해 연속으로 cd 명령어를 실행하여 이동합니다.
실행 결과 지정한 경로에 디렉터리가 정상 생성되며 현재 작업 디렉터리가 변경됩니다.
⚙️ [주요 옵션]
-p : 필요한 경우 상위 디렉터리까지 함께 생성하며 이미 존재하는 디렉터리여도 오류를 발생시키지 않습니다.-m : 디렉터리를 생성할 때 접근 권한을 직접 설정합니다.-v : 디렉터리 생성 과정의 상세 정보를 화면에 출력합니다.

touch sample_file.txt 명령어는 실습용 일반 텍스트 파일을 새로 생성합니다.touch는 본래 파일의 타임스탬프를 수정하는 명령어이지만 파일이 존재하지 않으면 0바이트의 빈 파일을 새로 만듭니다.
실행 결과 현재 디렉터리에 아무 내용도 없는 sample_file.txt 파일이 생성됩니다.
⚙️ [주요 옵션]
-a : 파일의 접근(access) 시간만 변경합니다.-m : 파일의 수정(modification) 시간만 변경합니다.-c : 지정한 파일이 존재하지 않아도 새 파일을 생성하지 않습니다.-r : 지정한 다른 참조 파일과 동일한 타임스탬프 설정으로 변경합니다.

touch .hidden_config 명령어는 파일명 맨 앞에 점(.)을 붙여 숨김 파일을 생성합니다.
리눅스 파일 시스템에서는 이름이 점(.)으로 시작하는 파일이나 디렉터리를 시스템 환경설정용 숨김 항목으로 간주합니다.
실행 결과 일반적인 방법으로는 쉽게 보이지 않는 .hidden_config 숨김 설정 파일이 새로 만들어집니다.
⚙️ [주요 옵션]
-a : 파일의 접근(access) 시간만 변경합니다.-m : 파일의 수정(modification) 시간만 변경합니다.-c : 지정한 파일이 존재하지 않아도 새 파일을 생성하지 않습니다.-t : 타임스탬프를 현재 시간이 아닌 지정한 시간 형식으로 설정합니다.

ls 명령어는 현재 작업 디렉터리에 포함된 파일과 디렉터리의 목록을 조회합니다.
옵션 없이 실행하면 기본 설정에 따라 일반 파일과 디렉터리만 화면에 표시됩니다.
실행 결과 앞서 생성한 .hidden_config 파일은 보이지 않고 일반 파일인 sample_file.txt 항목만 출력됩니다.
⚙️ [주요 옵션]
-a : 점(.)으로 시작하는 숨김 항목을 포함한 모든 파일과 디렉터리를 출력합니다.-l : 파일 권한, 소유자, 그룹, 파일 크기, 수정 시간 등 상세 정보를 출력합니다.-h : 파일 크기를 사람이 읽기 쉬운 형식(K, M, G)으로 변환하여 표시합니다.-t : 파일을 알파벳순이 아닌 파일의 수정 시간 순서대로 정렬하여 출력합니다.-r : 정렬 결과를 역순으로 뒤집어 출력합니다.-R : 하위 디렉터리의 내부 내용까지 재귀적으로 모두 출력합니다.

ls -a 명령어는 숨김 파일과 디렉터리를 포함하여 디렉터리 내의 모든 항목을 조회합니다.
기본 ls 명령어에 -a 옵션을 전달하면 점(.)으로 시작하는 숨김 파일까지 한눈에 확인할 수 있습니다.
실행 결과 일반 파일뿐만 아니라 .hidden_config 파일 및 현재 디렉터리(.), 상위 디렉터리(..)가 목록에 모두 출력됩니다.
⚙️ [주요 옵션]
-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 포함하여 모든 항목을 출력합니다.-A : 점(.)으로 시작하는 숨김 파일과 디렉터리를 출력하되 현재 디렉터리(.)와 상위 디렉터리(..)는 제외합니다.-l : 권한, 소유자, 크기 등 파일의 상세 속성을 목록 형태로 출력합니다.-F : 파일 종류를 구분하도록 디렉터리 뒤에는 /, 실행 파일 뒤에는 * 기호를 붙여 출력합니다.-i : 각 파일과 디렉터리의 고유한 아이노드(inode) 번호를 함께 출력합니다.

2. ls -l과 ls -al을 이용한 상세 정보 및 권한 확인
echo 'Ubuntu Security' > sample_file.txt 명령어는 지정한 문자열을 파일에 저장합니다.echo 명령어는 입력한 텍스트를 출력하며, 리다이렉션 연산자 >는 출력 내용을 지정한 파일로 덮어써서 기록합니다.
이 명령을 실행하면 Ubuntu Security 문자열을 가진 sample_file.txt 파일이 새로 생성됩니다.
실행 후 터미널에는 별도의 메시지가 출력되지 않고 파일 작성이 정상 완료됩니다.
⚙️ [주요 옵션]
-n : 문자열 출력 후 마지막에 포함되는 줄바꿈 문자를 출력하지 않습니다.-e : 백슬래시 이스케이프 문자의 해석을 활성화합니다.-E : 백슬래시 이스케이프 문자의 해석을 비활성화합니다.

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

ls -l 명령어는 현재 디렉터리의 일반 파일 및 디렉터리 목록을 상세 정보와 함께 표시합니다.-l 옵션은 파일의 권한, 소유자, 소유 그룹, 파일 크기, 최종 수정 시각 등 상세 항목을 긴 형식으로 출력합니다.
일반 목록 보기 상태이므로 점(.)으로 시작하는 숨김 파일은 화면에 출력되지 않습니다.
출력 첫 줄의 total 64는 목록에 표시된 일반 항목들이 차지하는 디렉터리 블록 크기를 나타냅니다.
⚙️ [주요 옵션]
-l : 파일 권한, 소유자, 파일 크기, 수정 시각 등 상세 정보를 출력합니다.-h : 파일 크기를 읽기 쉬운 단위(KB, MB, GB)로 표시합니다.-t : 파일을 최근 수정된 시각 순서대로 정렬합니다.-r : 정렬 순서를 역순으로 뒤집어 출력합니다.-S : 파일 크기가 큰 순서대로 정렬하여 출력합니다.

ls -al 명령어는 숨김 파일과 디렉터리를 모두 포함하여 상세 정보 목록을 출력합니다.-a 옵션과 -l 옵션이 결합되어 점(.)으로 시작하는 숨김 파일까지 권한 및 크기 정보와 함께 보여줍니다.
실행 결과 앞부분에 방금 생성한 .hidden_config와 기본 숨김 파일인 .dockerenv, ., .. 항목이 표시됩니다.
출력 첫 줄의 total 76은 숨김 파일이 추가되어 ls -l 출력 시보다 총 블록 크기가 증가했음을 의미합니다.
⚙️ [주요 옵션]
-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 포함하여 모든 항목을 출력합니다.-l : 파일 권한, 소유자, 크기, 수정 시각 등의 상세 정보를 목록 형태로 표시합니다.-A : 현재 디렉터리(.)와 상위 디렉터리(..)를 제외한 숨김 파일 및 모든 항목을 출력합니다.-i : 각 파일의 고유 이노드(inode) 번호를 목록과 함께 출력합니다.-R : 하위 디렉터리의 모든 내용까지 재귀적으로 출력합니다.

3. 사람이 읽기 쉬운 단위로 표기하는 -h 옵션 조합 (ls -alh)
truncate -s 5M large_file.bin 명령어는 지정한 크기로 빈 파일을 새로 생성하거나 기존 파일의 용량을 조절합니다.
이 명령을 실행하면 5MB 크기의 일반 테스트 파일인 large_file.bin이 생성됩니다.
⚙️ [주요 옵션]
-s : 파일의 크기를 바이트 단위 또는 K, M, G 등의 단위로 지정합니다.-c : 지정한 파일이 존재하지 않더라도 파일을 새로 생성하지 않습니다.-r : 기존에 존재하는 다른 참조 파일의 크기와 동일하게 설정합니다.

truncate -s 10M .large_hidden_file.bin 명령어는 이름이 점(.)으로 시작하는 10MB 크기의 숨김 파일을 생성합니다.
리눅스 파일 시스템에서는 파일명 맨 앞에 점(.)을 붙이면 해당 항목이 숨김 파일로 지정됩니다.
⚙️ [주요 옵션]
-s : 파일의 크기를 바이트 단위 또는 K, M, G 등의 단위로 지정합니다.-c : 파일이 없을 때 새로운 파일이 자동으로 만들어지는 것을 방지합니다.-r : 별도 참조 파일의 용량을 기준값으로 가져와 적용합니다.

ls -l 명령어는 디렉터리 내 일반 파일과 디렉터리의 상세 속성 정보를 목록 형태로 출력합니다.
실행 결과 large_file.bin이 5242880 바이트 단위로 출력되어 용량을 직관적으로 파악하기 어렵고, 숨김 파일인 .large_hidden_file.bin은 목록에서 제외됩니다.
⚙️ [주요 옵션]
-l : 파일 권한, 소유자, 바이트 단위 파일 크기, 수정 시간 등 상세 정보를 출력합니다.-a : 점(.)으로 시작하는 숨김 파일을 포함하여 디렉터리의 모든 항목을 출력합니다.-h : 파일 크기를 K, M, G 등 사람이 읽기 쉬운 용량 단위로 변환하여 표시합니다.-t : 최근에 수정된 시간 순서대로 항목을 정렬합니다.-r : 정렬 순서를 반대로 뒤집어 역순으로 표시합니다.

ls -alh 명령어는 숨김 파일을 포함한 전체 목록을 상세 정보 및 사람이 읽기 쉬운 용량 단위로 조합하여 표시합니다.
실행 결과 5242880 바이트는 5.0M로 자동 변환되며, 숨겨져 있던 10MB 크기의 .large_hidden_file.bin 파일이 10M 표시와 함께 목록에 나타납니다.
⚙️ [주요 옵션]
-a : 점(.)으로 시작하는 숨김 파일과 디렉터리를 목록에 포함합니다.-l : 권한, 소유 계정, 파일 크기 등 상세 속성을 포함하여 목록을 출력합니다.-h : 파일 크기를 KB, MB, GB 등의 가독성 높은 단위로 변환하여 표시합니다.-S : 파일 크기가 가장 큰 항목부터 순서대로 정렬합니다.-R : 하위 디렉터리 내부의 파일까지 재귀적으로 확인하여 출력합니다.

4. 실무 유용한 시간(-t) 및 크기(-S) 정렬 옵션 결합
touch -t 202601010000 .old_hidden_log 명령어는 파일의 수정 시각을 직접 지정하여 생성하거나 변경합니다.
이 예제에서는 타임스탬프 정렬 결과를 확인하기 위해 2026년 1월 1일 00시 00분 시각을 가지는 .old_hidden_log 빈 숨김 파일을 생성합니다.
⚙️ [주요 옵션]
-t : 지정한 날짜와 시간 형식으로 파일의 수정 및 접근 시각을 설정합니다.

ls -alt 명령어는 숨김 파일을 포함한 모든 디렉터리 항목을 최신 수정 시간순으로 정렬하여 상세히 출력합니다.
실행 결과 상단에 가장 최근에 수정되었거나 생성된 파일이 우선적으로 배치됩니다.
⚙️ [주요 옵션]
-a : 점으로 시작하는 숨김 파일과 숨김 디렉터리를 포함하여 모든 항목을 출력합니다.-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다.-t : 파일 및 디렉터리를 최신 수정 시간 기준 내림차순으로 정렬합니다.

ls -alS 명령어는 숨김 파일을 포함한 모든 항목의 상세 정보를 파일 크기가 큰 순서대로 정렬하여 출력합니다.
용량이 큰 파일이나 디렉터리를 빠르게 파악하여 디스크 공간을 관리할 때 유용합니다.
⚙️ [주요 옵션]
-a : 점으로 시작하는 숨김 파일과 숨김 디렉터리를 포함하여 모든 항목을 출력합니다.-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다.-S : 파일 크기가 큰 순서 기준 내림차순으로 목록을 정렬합니다.

ls -alrt 명령어는 숨김 파일을 포함한 모든 항목의 상세 정보를 오래된 수정 시간순으로 정렬하여 출력합니다.
시간 역순 정렬을 통해 가장 최근에 변경된 파일이 터미널 화면의 맨 아래에 표시되어 바로 확인하기 편리합니다.
⚙️ [주요 옵션]
-a : 점으로 시작하는 숨김 파일과 숨김 디렉터리를 포함하여 모든 항목을 출력합니다.-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다.-r : 정렬 순서를 역순으로 뒤집어 오름차순으로 정렬합니다.-t : 파일 및 디렉터리를 최신 수정 시간 기준으로 정렬합니다.

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