WIPIVERSE

ls (UNIX)

개요
ls는 UNIX 및 UNIX 계열 운영체제에서 디렉터리의 파일 및 서브디렉터리 목록을 표시하는 표준 명령어이다. 본 명령은 시스템 콜 readdir() 등을 활용하여 현재 작업 디렉터리(또는 지정된 경로)의 엔트리를 읽어들인 뒤, 사용자에게 가독성 있는 형태로 출력한다.

주요 기능

  • 기본 형태(ls)는 파일 이름을 알파벳 순(기본 로케일 기준)으로 정렬하여 한 줄에 여러 개씩 출력한다.
  • -a(또는 --all) 옵션은 이름이 . 로 시작하는 숨김 파일을 포함해 모든 항목을 보여준다.
  • -l 옵션은 “long listing” 형식으로, 파일 유형, 권한, 소유자, 그룹, 크기, 최종 수정 시각 등을 열별로 표시한다.
  • -h 옵션은 -l과 결합해 파일 크기를 바이트 단위가 아닌 인간이 읽기 쉬운 단위(K, M, G 등)로 변환한다.
  • -R 옵션은 지정된 디렉터리와 그 하위 디렉터리를 재귀적으로 탐색하여 전체 트리 구조를 출력한다.
  • -t, -S, -r 등은 정렬 기준(수정 시간, 파일 크기, 역순)과 관련된 옵션이다.

표준화 및 구현
ls는 POSIX(Portable Operating System Interface) 표준에 정의된 유틸리티이며, 대부분의 UNIX 계열 시스템(BSD, Linux, macOS, Solaris 등)에서 동일한 동작을 제공한다. GNU Coreutils, BSD ls, 그리고 macOS의 ls 등 여러 구현이 존재하지만, 옵션 명세와 기본 동작은 표준에 따라 일관성을 유지한다.

역사
초기 UNIX 버전(1970년대 초)에서 파일 목록을 표시하는 기능은 ls 명령어로 제공되었다. 최초 구현은 AT&T Bell Laboratories에서 개발된 C 언어 기반이며, 이후 다양한 UNIX 파생판에 이식되었다. GNU 프로젝트는 1992년대에 GNU Coreutils 패키지에 ls를 포함시켜 자유 소프트웨어 형태로 배포하였다.

사용 예시

명령 설명
ls 현재 디렉터리의 파일을 기본 형식으로 출력
ls -l /var/log /var/log 디렉터리의 파일을 상세 정보와 함께 출력
ls -a 숨김 파일(.으로 시작) 포함 모든 항목 표시
ls -lh 인간이 읽기 쉬운 단위로 파일 크기 표시
ls -R . 현재 디렉터리와 모든 하위 디렉터리를 재귀적으로 탐색

참고
ls는 파일 시스템의 메타데이터를 조회하는 기능이므로, 사용 권한이 제한된 파일에 대해서는 해당 권한에 따라 표시 여부가 달라진다. 또한, 최근 파일 시스템에서는 파일 이름에 유니코드 문자가 포함될 수 있으므로, 출력 인코딩 설정에 따라 가시성이 영향을 받을 수 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기