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을 사용합니다.
| 항목 | 설명 |
|---|---|
| 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 비트 표시는 해당 실행 권한이 설정되지 않은 경우 대문자로 표시됩니다(각각, S 및 T). t 모드는 파일 또는 디렉토리에 대해 고착 비트가 켜져 있음을 나타냅니다.
-e 플래그로 표시되는 모드는 다음과 같이 해석되는 11번째 문자가 추가된다는 점을 제외하면, -l 플래그를 사용한 것과 동일합니다.
| 항목 | 설명 |
|---|---|
| + | 파일이 확장된 보안 정보를 가지고 있음을 가리킵니다. 예를 들어,
파일에 모드의 확장 ACL, TCB 또는 TP 속성이
있을 수 있습니다. 파일의 액세스 제어 정보 (ACL) 는 aclget 명령을 사용하여 표시됩니다. TCB 및 TP 속성의 값은 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 플래그를 재정의합니다. 주: |
| -m | 스트림 출력 형식(쉼표로 구분된 시리즈)을 사용합니다. |
| -n | -n 플래그가 사용자 및 그룹 이름 대신에 사용자 및 그룹 ID를 표시하는 점을 제외하면, -l 플래그와 동일한 정보를 표시합니다. |
| -n | 파일의 상태를 판별할 때 기호 링크를 따르지 않습니다.참고: -L 및 -N 옵션이 모두 사용될 경우 마지막 옵션이 사용됩니다. 또한 /(슬래시)를 마지막 문자로 포함한 기호 링크가 제공될 때마다 사용된 옵션에 관계 없이 자동으로 링크를 따릅니다. |
| -o | -o 플래그가 그룹 및 기호 링크 정보 표시를 억제하는 점을 제외하면, -l 플래그와 동일한 정보를 표시합니다. |
| -p | 파일이 디렉토리이면 각 파일 이름 뒤에 슬래시를 추가합니다. 이는 다음과 같이 ls 명령의 출력을 pr 명령으로 파이프할 때 유용합니다.
|
| -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 | 오류가 발생했습니다. |
보안
예
- 현재 디렉토리 내의 모든 파일을 나열하려면 다음을 입력하십시오.ls -a여기에는 를 포함하여 모든 파일이 나열됩니다. (점), .. (dot-dot) 및 점으로 시작하는 이름을 가진 기타 파일을 포함합니다.
- 상세 정보를 표시하려면 다음을 입력하십시오.ls -l chap1 .profile여기에는 다음에 대한 자세한 정보가 있는 긴 목록이 표시됩니다.chap1및.profile.
- 디렉토리에 관한 상세 정보를 표시하려면 다음을 입력하십시오.ls -d -l . manual manual/chap1이는 디렉토리에 대한 긴 목록을 표시합니다..및manual및 파일에 대한manual/chap1. -d 플래그를 사용하지 않으면.및manual디렉토리 자체에 대한 자세한 정보 대신 디렉토리를 사용할 수 있습니다.
- 수정 시간순으로 파일을 나열하려면 다음을 입력하십시오.ls -l -t최근에 수정된 파일의 긴 리스트가 표시되고 이전 파일이 뒤에 옵니다.
- 확장 사용자 및 그룹 이름으로
상세 정보를 표시하려면 다음을 입력하십시오.
.profile에 대한 상세 정보가 있는 긴 리스트가 표시됩니다.ls -lX .profile - 현재 디렉토리의 파일에 대해 확장 속성이 설정되었는지 여부에 대한 데이터를
표시하려면 다음을 입력하십시오.
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
- AIX® 5.3 이하 릴리즈의 경우:
- 현재 디렉토리에 있는 파일에 대해 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 - 현재 디렉토리에 있는 파일에 대한 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/* | 터미널 정보를 포함합니다. |