리눅스의 ls 명령어는 아마 여러분이 처음 접하게 되는 명령어 중 하나일 것입니다. 파일과 디렉토리를 나열하는 이 기본 명령어는 단순해 보이지만, 다양한 옵션을 조합하면 훨씬 강력한 도구가 됩니다. 이 글에서는 ls 명령어와 자주 사용되는 옵션들을 자세히 살펴보겠습니다.
필자가 가장 즐겨 사용하는 옵션 조합은 다음과 같습니다.
ls -Zaltrh
각 옵션이 무엇을 의미하는지, 그리고 왜 이 조합이 유용한지 하나씩 알아보겠습니다.
리눅스 ls 명령어 기본 문법
#ls [OPTION] [FILE]
OPTIONS:
[-a], . 또는 ..으로 시작하는 항목을 숨기지 않음
[-h], -l과 함께 사용 시 사람이 읽기 쉬운 형식으로 크기 출력 (예: 1K 234M 2G)
[-l], 상세 목록 형식 (더 많은 정보 표시)
[-r], 정렬 순서를 역순으로 변경
[-t] 수정 시간 기준 정렬, 최신 항목이 먼저 표시됨
[-Z], 보안 컨텍스트를 대부분의 화면에 맞게 표시
기본 ls 명령어 출력 결과
먼저 가장 기본적인 ls 명령어의 출력부터 확인해 보겠습니다.
ls
출력 결과를 보면 기본적인 색상 구성은 적용되어 있지만, 그 외에는 파일과 디렉토리만 나열될 뿐 세부 정보는 전혀 없습니다. 색상이 어떻게 설정되어 있는지는 다음 명령어로 확인할 수 있습니다.
alias ls
alias ls='ls --color=auto'
주요 옵션 살펴보기
숨김 파일 보기: -a 옵션
이제 [-a] 옵션을 살펴보겠습니다.
ls -a
[-a] 옵션을 사용하면 숨김 파일뿐만 아니라 최상위 디렉터리 [..]와 현재 디렉터리 [.]의 정보까지 확인할 수 있습니다. 여기에 [-l] 옵션을 추가해 보겠습니다.
상세 정보 보기: -l 옵션
ls -al
이제 훨씬 더 많은 정보를 볼 수 있습니다. 파일 권한, 소유자와 그룹, 바이트 단위 크기, 마지막 수정 날짜까지 모두 표시됩니다. 유용하지만, 더 실용적인 정보를 추가할 수 있습니다. 크기를 사람이 읽기 쉽게 바꿔보겠습니다.
읽기 쉬운 크기 표시: -h 옵션
ls -ahl
이제 크기가 읽기 쉬운 형식으로 변환됩니다. 4096 대신 4.0K로 표시되죠. 바이트 단위까지 정확할 필요는 없지만 약간의 정확성 손해는 있습니다. 그래도 일반적으로는 불편함이 없습니다. 다음 단계로, 필자는 파일을 수정 시간 기준으로 정렬해서 보는 것을 선호합니다.
수정 시간 기준 정렬: -t 옵션
ls -athl
좋습니다. 마지막으로 수정된 항목이 맨 위에 표시됩니다. 하지만 필자는 맨 아래에 있는 것이 좋습니다. 최근에 수정된 객체를 찾을 때 가장 먼저 확인하는 위치이기 때문입니다. 정렬 순서를 반대로 바꿔보겠습니다.
정렬 순서 반전: -r 옵션
ls -arthl
이제 마지막으로 편집한 파일이 맨 아래에 표시됩니다.
SELinux 보안 컨텍스트 확인: -Z 옵션
필자는 SELinux를 자주 다루기 때문에, SELinux 환경에서 작업하신다면 [-Z] 플래그가 큰 도움이 됩니다. 플래그 순서도 바꿔보겠습니다. 발음하기 쉬운 배치를 선호합니다. 'Zee-alter-h'처럼요.
ls -Zaltrh
이제 필요한 보안 컨텍스트가 표시됩니다. 위 예시에서는 "?"로 나타나는데요, 걱정하지 않으셔도 됩니다. "?"가 보인다는 것은 SELinux 강제(enforcement) 모드를 사용하고 있지 않다는 의미일 뿐입니다. AWS에서 동일한 ls 명령어를 실행하면 실제 보안 컨텍스트 집합이 표시됩니다.
이 조합이 필자가 가장 많이 사용하는 조합입니다. 그 외에도 유용한 옵션들이 몇 가지 더 있습니다. 크기별 정렬과 재귀적 나열이 그것입니다.
크기별 정렬하기: -S 옵션
ls -Sharl
이렇게 하면 가장 큰 파일이 맨 아래에 사람이 읽기 쉬운 형식으로 표시되고, 그다음에 루트 디렉터리들이 따라옵니다.
재귀적으로 나열하기: -R 옵션
때로는 디렉터리 전체 구조를 한 번에 확인해야 할 때가 있습니다. ls에는 재귀 옵션인 [-R]이 있습니다. 이때 [-a] 옵션은 빼는 것을 추천합니다. [.]과 [..] 디렉터리가 여러 번 반복해서 표시되어 오히려 방해가 되기 때문입니다.
ls -HaltrR
모든 내용이 시간순으로 정렬되어 있으며, 마지막으로 수정된 디렉터리가 맨 아래에 표시됩니다. [-S] 옵션으로 크기별 정렬을 하면 가장 큰 디렉터리가 맨 아래에 오게 됩니다.
마무리
이상으로 리눅스에서 모든 파일과 디렉토리를 관련 정보와 함께 조회하는 방법을 알아보았습니다. 용량이 가장 큰 파일과 디렉터리를 찾거나, 가장 최근에 수정된 항목을 확인하는 등 다양하게 활용할 수 있습니다. 리눅스에서 ls 명령어는 최근 변경 사항을 추적하거나, 대용량 디렉터리를 정리하는 등 문제 해결에 매우 유용한 도구입니다.
더 많은 리눅스 셸 팁은 관련 문서를 참고하시기 바랍니다.