ls 명령

용도

디렉토리의 내용을 표시합니다.

구문

파일의 이름 또는 디렉토리의 내용 표시

ls [ -1 ] [ -A ] [ -C ] [ -E ] [ -F ] [-H | -L ] [ -N ] [ -R ] [ -S ] [ -X] [ -a ] [ -b ] [ -c ] [ -d ] [ -e ] [ -f ] [ -g ] [ -i ] [-k] [ -l ] [ -m ] [ -n ] [ -o ] [ -p ] [ -q ] [ -r ] [ -s ] [ -t ] [ -u ] [ -U ] [ -x ] [ File ... ]

디렉토리의 내용 표시

ls -f [ -C ] [ -d ] [ -i ] [ -m ] [ -s ] [ -X] [ -x ] [ -1 ] [ -U ] [ Directory ... ]

설명

ls 명령은 플래그로 요청하는 기타 정보와 함께, 지정된 각 Directory 매개변수의 내용 또는 각각의 지정된 File 매개변수의 이름을 표준 출력에 씁니다. File 또는 Directory 매개변수를 지정하지 않으면 ls 명령이 현재 디렉토리의 내용을 표시합니다.

상호 배타적인 쌍에서 둘 이상의 옵션을 지정하는 것은 오류로 간주되지 않습니다. 각 쌍에 지정된 마지막 옵션이 출력 형식을 결정합니다.

기본적으로 ls 명령은 파일 이름의 알파벳순으로 모든 정보를 표시합니다. 배열 시퀀스는 LANG 또는 LC_COLLATE 환경 변수를 통해 판별됩니다.

ls 명령은 디렉토리의 내용을 표시할 때 사용자가 -a 또는 -A 플래그를 사용하지 않으면 이름이 .(점)으로 시작하는 파일의 항목을 표시하지 않습니다. 명령이 루트를 통해 실행되는 경우에는 기본적으로 -A 플래그를 사용합니다.

출력을 형식화하는 세 가지 주요 방법이 있습니다.

  • 행별로 하나의 항목을 나열합니다.
  • -C 또는 -x 플래그를 지정해서 여러 열에 항목을 나열합니다. -C 플래그는 TTY로 출력될 때의 디폴트 형식입니다. ls 명령은 파일 또는 디렉토리 이름이 너무 긴 경우 단일 열 출력을 표시합니다.
  • -m 플래그를 지정해서 쉼표로 구분된 시리즈의 항목을 나열합니다.

출력 행의 문자 위치 수를 판별하기 위해 ls 명령은 COLUMNS 환경 변수를 사용합니다. 이 변수를 설정하지 않으면 명령이 표시화면의 현재 열 값을 가져옵니다. ls 명령은 이 메소드 중 하나로 문자 위치 수를 판별할 수 없으면 디폴트 값 80을 사용합니다.

-U 플래그로 표시되는 모드는 다음과 같이 해석되는 11번째 문자가 추가된다는 점을 제외하면 -l 플래그를 사용한 것과 동일합니다.
항목 설명
E 파일에 확장 속성(EA) 정보가 있음을 나타냅니다. 파일의 EA는 getea 명령을 사용하여 표시됩니다.
- 파일에 확장 속성 정보가 없음을 나타냅니다.
e 파일이 암호화되어 있음을 나타냅니다.

암호화는 액세스 제어 리스트(ACL) 및 기타 EA의 존재보다 우선합니다.

-e-l 플래그로 표시된 모드는 다음과 같이 해석됩니다.

첫 자가 다음과 같은 경우

항목 설명
d 항목이 디렉토리입니다.
b 항목이 블록 특수 파일입니다.
c 항목이 문자 특수 파일입니다.
l 항목이 기호 링크이며, -N 플래그가 지정되었거나 기호 링크가 기존 파일을 가리키지 않습니다.
p 항목이 선입선출(FIFO) 특수 파일입니다.
s 항목이 로컬 소켓입니다.
- 항목이 일반 파일입니다.

다음의 9개 문자는 각각 3자씩 세 세트로 나뉘어집니다. 최초 3자 세트는 소유자의 사용 권한을 나타냅니다. 다음 3자 세트는 그룹 내 다른 사용자의 권한을 나타냅니다. 마지막 3자 세트는 파일에 액세스하는 기타 사용자의 권한을 나타냅니다. 각 세트의 3자는 각각 파일의 읽기, 쓰기, 실행 권한을 나타냅니다. 디렉토리의 실행 권한이 있으면 지정된 파일을 찾기 위해 디렉토리를 검색할 수 있습니다.

권한은 다음과 같이 표시됩니다.

항목 설명
r 읽기
w 쓰기(편집)
x 실행(검색)
- 해당 권한이 부여되지 않음

파일에 set-group-ID 모드가 있는 경우 그룹 실행 권한 문자는 s입니다. 파일에 set-user-ID 모드가 있는 경우 사용자 실행 권한 문자는 s입니다. 모드의 01000(8진) 비트가 설정된 경우 모드의 마지막 문자(일반적으로 x 또는 -)는 T입니다(이 모드의 의미는 chmod 명령 참조). 모드의 set-ID 및 01000 비트 표시는 해당 실행 권한이 설정되지 않은 경우 대문자로 표시됩니다(각각, ST). t 모드는 파일 또는 디렉토리에 대해 고착 비트가 켜져 있음을 나타냅니다.

-e 플래그로 표시되는 모드는 다음과 같이 해석되는 11번째 문자가 추가된다는 점을 제외하면, -l 플래그를 사용한 것과 동일합니다.

항목 설명
+ 파일에 확장 보안 정보가 있음을 나타냅니다. 예를 들어, 파일에 모드의 확장 ACL, TCB 또는 TP 속성이 있을 수 있습니다.

파일의 액세스 제어 정보(ACL)는 aclget 명령을 사용하여 표시됩니다. TCBTP 속성의 값은 chtcb 명령을 사용하여 표시됩니다.

- 파일에 확장 보안 정보가 없음을 나타냅니다.

디렉토리의 파일 크기가 나열될 때 ls 명령은 간접 블록을 포함한 총 블록 수를 표시합니다.

플래그

항목 설명
-A .(점) 및 ..(점점)을 제외한 모든 항목을 나열합니다.
-a .(점)으로 시작하는 항목을 포함하여, 디렉토리의 모든 항목을 나열합니다.
-b 인쇄 불가능한 문자를 8진(\nnn) 표기법으로 표시합니다.
-c i-node의 최종 수정 시간을 분류(-t 플래그와 함께 사용 시) 또는 표시(-l 플래그와 함께 사용 시)에 사용합니다. 이 플래그는 -t 또는 -l 플래그나 두 플래그 모두와 함께 사용하지 않으면 적용되지 않습니다.
-C 다중 열 형식의 수직 방식으로 출력을 분류합니다. 이는 터미널에 출력될 때의 디폴트 메소드입니다.
-d 이름 지정된 디렉토리에 대한 정보만 표시합니다. 디렉토리를 파일처럼 처리하므로 디렉토리의 상태를 확인하기 위해 -l 플래그를 사용할 때 유용합니다.
-e 각 파일의 모드(보안 정보 포함), 링크 번호, 사용자, 그룹, 크기(바이트), 최종 수정 시간, 이름을 표시합니다. 파일이 특수 파일인 경우 크기 필드에는 주 장치 번호와 부 장치 번호가 있습니다. 파일이 기호 링크이면 링크된 파일의 경로 이름 앞에 ->(빼기 부호, 초과 부등호) 부호가 인쇄됩니다. 기호 링크의 속성이 표시됩니다.
-E 공간 예약, 고정 익스텐트 크기, 익스텐트 할당 플래그 정보와 같이 Vxfs 파일 시스템에 존재하는 파일의 익스텐트 속성을 나열합니다. 이 플래그와 함께 -l 플래그를 지정해야 합니다. 그렇지 않으면 ls 명령이 -E 플래그를 무시하고 실행을 완료합니다.
-f Directory 매개변수에 지정된 각 디렉토리마다 각 슬롯의 이름을 나열합니다. 이 플래그는 -l, -t, -s, -r 플래그를 끄고 -a 플래그를 켭니다. 나열 순서는 항목이 디렉토리에 표시된 순서입니다.
-F 파일이 디렉토리인 경우 /(슬래시), 파일이 실행 가능한 경우 *(별표), 파일이 소켓인 경우 =(등호), 파일이 선입선출법(FIFO)인 경우 |(파이프), 기호 링크인 경우 @를 각 파일 이름의 뒤에 추가합니다. -H 또는 -L 플래그가 지정된 경우가 아니면 피연산자로 이름 지정된 기호 링크 뒤에는 추가되지 않습니다.
-g -g 플래그가 소유자 및 기호 링크 정보 표시를 억제하는 점을 제외하면, -l 플래그와 동일한 정보를 표시합니다.
-H 디렉토리 유형의 파일을 참조하는 기호 링크가 명령행에 지정된 경우, ls 명령은 파일 정보 및 파일 유형을 링크 자체가 아닌 링크를 통해 참조되는 파일에 대한 것이라 평가합니다. 하지만 ls 명령은 링크를 통해 참조된 파일이 아닌 링크 자체의 이름을 씁니다.
-i i-노드 번호를 각 파일에 대한 보고서의 첫 번째 열에 표시합니다. 파일 시스템에 내부 스냅샷이 있는 경우 .snapshot 디렉토리와 모든 내용에 고유 i-node 번호가 있는 것은 아닙니다.
-k -s 옵션의 블록 크기 및 -l, -n, -g, -o 옵션에 대해 기록된 디렉토리별 블록 개수를 1024바이트로 설정합니다.
-L 링크가 참조하는 파일 또는 디렉토리 내용을 나열합니다. 이는 디폴트 조치입니다. 기호 링크가 뒤에 나옵니다. -l 옵션이 사용되면 -N 옵션이 디폴트가 되고 기호 링크가 뒤에 나오지 않습니다. -l 옵션이 사용될 때에는 -L 옵션만이 -N 디폴트를 재정의할 수 있습니다.
-l (소문자 L) 각 파일의 모드, 링크 수, 소유자, 그룹, 크기(바이트), 최종 수정 시간을 표시합니다. 파일이 특수 파일인 경우 크기 필드에는 주 장치 번호와 부 장치 번호가 있습니다. 최종 수정 시간이 6개월 이전보다 더 과거이면 시간 필드가 월 날짜 연도 형식으로 표시되는 반면, 6개월 이내에 수정된 파일의 경우에는 시간 필드가 월 날짜 시간 형식으로 표시됩니다.

파일이 기호 링크인 경우 링크된 파일의 경로 이름 앞에 ->가 추가됩니다. 기호 링크의 속성이 표시됩니다. -n, -g, -o 플래그는 -l 플래그를 재정의합니다.

참고:
  1. 기호 링크된 파일 뒤에는 화살표 및 기호 링크의 내용이 뒤따릅니다.
  2. ls 명령을 -l 옵션과 함께 사용할 경우 mkpasswd 명령을 실행해서 성능을 개선할 수 있습니다. 이는 /tmp 디렉토리와 같은 디렉토리에 서로 다른 사용자가 소유한 파일이 포함되어 있을 때에 유용합니다.
-m 스트림 출력 형식(쉼표로 구분된 시리즈)을 사용합니다.
-n -n 플래그가 사용자 및 그룹 이름 대신에 사용자 및 그룹 ID를 표시하는 점을 제외하면, -l 플래그와 동일한 정보를 표시합니다.
-N 파일의 상태를 판별할 때 기호 링크를 따르지 않습니다.

참고: -L-N 옵션이 모두 사용될 경우 마지막 옵션이 사용됩니다. 또한 /(슬래시)를 마지막 문자로 포함한 기호 링크가 제공될 때마다 사용된 옵션에 관계 없이 자동으로 링크를 따릅니다.

-o -o 플래그가 그룹 및 기호 링크 정보 표시를 억제하는 점을 제외하면, -l 플래그와 동일한 정보를 표시합니다.
-p 파일이 디렉토리이면 각 파일 이름 뒤에 슬래시를 추가합니다. 이는 다음과 같이 ls 명령의 출력을 pr 명령으로 파이프할 때 유용합니다.
ls  -p |  pr  -5  -t  -w80
-q 파일 이름의 인쇄 불가능한 문자를 ?(물음표)로 표시합니다.
-r 해당하는 대로, 역알파벳순이나 가장 오래된 것을 맨 앞에 두는 방식으로 분류 순서를 반전시킵니다.
-R 모든 서브디렉토리를 재귀적으로 나열합니다.
-s 각 항목의 크기를 킬로바이트 단위(간접 블록 포함)로 제공합니다.
-S 파일 크기를 기본 키로 하고(내림차순) 파일 이름을 보조 키로 해서(오름차순) 배열 시퀀스를 분류합니다.
-t 이름 대신에 최종 수정 시간을 기준으로(최근을 맨 처음에) 분류합니다. 기호 링크의 경우 분류 키로 사용된 시간이 기호 링크 자체입니다.
-U -l 플래그와 유사한 정보를 표시합니다. 각 파일의 모드(보안 정보, 이름 지정된 확장 속성 정보, 암호화 정보 포함), 링크 번호, 사용자, 그룹, 크기(바이트), 최종 수정 시간, 이름을 표시합니다. 파일이 특수 파일인 경우 크기 필드에는 주 장치 번호와 부 장치 번호가 있습니다. 파일이 기호 링크이면 링크된 파일의 경로 이름 앞에 ->(빼기 부호, 초과 부등호) 부호가 인쇄됩니다. 기호 링크의 속성이 표시됩니다.
-u 최종 수정 시간 대신 최종 액세스 시간을 분류(-t 플래그와 함께 사용 시) 또는 표시(-l 플래그와 함께 사용 시)에 사용합니다. 이 플래그는 -t 또는 -l 플래그나 두 플래그 모두와 함께 사용하지 않으면 적용되지 않습니다.
-x 다중 열 형식의 수평 방식으로 출력을 분류합니다.
-X 사용자 이름을 표시하는 다른 플래그와 함께 사용될 때 긴 사용자 이름을 인쇄합니다. 상한은 PdAt 및 CuAt 오브젝트 클래스의 max_logname ODM 속성으로 결정됩니다. 사용자 이름이 max_logname 속성을 초과하는 경우 max_logname 속성에 지정된 문자 수에서 1자를 뺀 문자 수로 잘립니다.
-1 한 행당 한 항목 형식으로 출력하도록 강제 실행합니다. 이는 출력이 터미널에 지정되지 않은 경우의 디폴트입니다.

종료 상태

이 명령은 다음 종료값을 리턴합니다.

항목 설명
0 모든 파일이 정상적으로 기록되었습니다.
>0 오류가 발생했습니다.

보안

RBAC 사용자 및 신뢰있는 AIX 사용자 주의사항: 이 명령은 특권 조작을 수행할 수 있습니다. 특권이 있는 사용자만 특권 조작을 실행할 수 있습니다. 권한 부여 및 특권에 대한 자세한 정보는 보안에 있는 특권 명령 데이터베이스를 참조하십시오. 이 명령과 연관된 특권 및 권한 부여 리스트는 lssecattr 명령 또는 getcmdattr 부속 명령을 참조하십시오.

  1. 현재 디렉토리의 모든 파일을 나열하려면 다음을 입력하십시오.
    ls   -a
    .(점), ..(점-점), 이름이 점으로 시작하는 기타 파일을 포함하여 모든 파일이 나열됩니다.
  2. 상세 정보를 표시하려면 다음을 입력하십시오.
    ls   -l chap1  .profile
    chap1.profile에 대한 상세 정보가 있는 긴 리스트가 표시됩니다.
  3. 디렉토리에 대한 상세 정보를 표시하려면 다음을 입력하십시오.
    ls   -d   -l  .  manual  manual/chap1
    디렉토리 .manual과 파일 manual/chap1에 대한 긴 리스트가 표시됩니다. -d 플래그가 없으면 디렉토리 자체에 대한 상세 정보 대신에, .manual 디렉토리의 파일이 나열됩니다.
  4. 수정 시간순으로 파일을 나열하려면 다음을 입력하십시오.
    ls   -l -t
    최근에 수정된 파일의 긴 리스트가 표시되고 이전 파일이 뒤에 옵니다.
  5. 확장 사용자 및 그룹 이름으로 상세 정보를 표시하려면 다음을 입력하십시오.
    ls  -lX .profile
    .profile에 대한 상세 정보가 있는 긴 리스트가 표시됩니다.
  6. 현재 디렉토리의 파일에 대해 확장 속성이 설정되었는지 여부에 대한 데이터를 표시하려면 다음을 입력하십시오.
    ls -U
    • 릴리스 AIX® 5.3 이전의 경우:

      예제 출력:

        -rwSr-x---+   1 root     system           28 Apr 29 03:23 only_aixc
        -rwSr-x---E   1 root     system            4 Apr 29 03:23 only_aixc_ea
        -rw-r--r--E   1 root     system            4 Apr 29 03:23 only_ea
        ----------+   1 root     system          265 Apr 29 03:23 only_nfs4
        ----------E   1 root     system           64 Apr 29 03:23 only_nfs4_ea
        -rw-r--r---   1 root     system            4 Apr 29 03:23 only_regular
    • 릴리스 AIX 6.1 이상의 경우:

      예제 출력:

        -rwSr-x---+    1 root     system           28 Apr 29 03:23 only_aixc
        -rwSr-x---E    1 root     system            4 Apr 29 03:23 only_aixc_ea
        -rw-r--r--E    1 root     system            4 Apr 29 03:23 only_ea
        ----------+    1 root     system          265 Apr 29 03:23 only_nfs4
        ----------E    1 root     system           64 Apr 29 03:23 only_nfs4_ea
        -rw-r--r---    1 root     system            4 Apr 29 03:23 only_regular
        -rwxrwxr-xe    2 root     system          256 May 25 16:27 encry_ex 

파일

항목 설명
/usr/bin/ls ls 명령을 포함합니다.
/etc/passwd 사용자 ID를 포함합니다.
/etc/group 그룹 ID를 포함합니다.
/usr/share/lib/terminfo/* 터미널 정보를 포함합니다.