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 ] [ 파일 ...]

디렉토리의 내용 표시

ls -f [ -C ] [ -d ] [ -i ] [ -m ] [ -s ] [ -X] [ -x ] [ -1 ] [ -U ] [ 디렉토리 ... ]

설명

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 플래그와 함께 표시되는 모드는 다음과 같이 해석되는 11th 문자의 추가를 제외하고는 -l 플래그와 동일합니다.
항목 설명
E 파일에 확장 속성(EA) 정보가 있음을 나타냅니다. 파일의 EA는 getea 명령을 사용하여 표시됩니다.
- 파일에 확장 속성 정보가 없음을 나타냅니다.
e 파일이 암호화되어 있음을 나타냅니다.

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

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

첫 자가 다음과 같은 경우

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

다음 9개 문자는 각각 3 문자로 된 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) 를 제외한 모든 항목을 나열합니다. (점) 및 .. (점-점)이 포함되지 않은 현재 디렉토리의 절대 경로 이름이 포함된 경우, PWD 환경 변수의 값을 표시합니다.
-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 한 행당 한 항목 형식으로 출력하도록 강제 실행합니다. 이는 출력이 터미널에 지정되지 않은 경우의 디폴트입니다.
주:
  • -l, -n, -s, -g또는 -o 플래그 중 하나가 지정된 경우, 디렉토리에 있는 각 파일 앞에는 파일이 차지하는 파일 시스템 블록 수를 표시하는 상태 행이 표시됩니다.
  • -k 플래그를 -l, -n, -s, -g또는 -o 플래그와 함께 지정하지 않으면 상태 행은 파일이 차지하는 파일 시스템 블록의 수를 512바이트단위로 표시합니다.
  • -k 플래그가 -l, -n, -s, -g또는 -o 플래그와 함께 지정되면, 상태 행은 1024바이트단위로 파일이 차지하는 파일 시스템 블록의 수를 표시합니다.
  • 또한 필요한 경우 디렉토리의 파일이 차지하는 파일 시스템 블록 수는 다음 정수 단위 수로 반올림됩니다.
  • POSIX 로케일 환경에서 총계 %u\n 는 디렉토리의 단위 수를 나타내는 출력 형식입니다.

종료 상태

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

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

보안

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

  1. 현재 디렉토리 내의 모든 파일을 나열하려면 다음을 입력하십시오.
    ls -a
    여기에는 를 포함하여 모든 파일이 나열됩니다. (점), .. (dot-dot) 및 점으로 시작하는 이름을 가진 기타 파일을 포함합니다.
  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 
  7. 현재 디렉토리에 있는 파일에 대해 512바이트단위로 파일 시스템 블록 수에 대한 정보를 표시하려면 다음을 입력하십시오.
    ls -l
    예제 출력:
    total 16
    -rw-r--r--    1 root     system           22 Feb 05 05:29 sample1
    -rw-r--r--    1 root     system           12 Feb 05 05:29 sample2
  8. 현재 디렉토리에 있는 파일에 대한 1024바이트단위의 파일 시스템 블록 수에 대한 정보를 표시하려면 다음을 입력하십시오.
     ls -lk
    예제 출력:
    total 8
    -rw-r--r--    1 root     system           22 Feb 05 05:29 sample1
    -rw-r--r--    1 root     system           12 Feb 05 05:29 sample2

파일

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