| HOME / 정보공유 / AIX 명령어 모음

ls
ls ls 명령 목적 디렉토리의 내용을 표시합니다. 구문
디렉토리 내용 또는 파일 이름을 표시하는 방법
ls [ -1 ] [ -A ] [ -C ] [ -F ] [ -L ] [ -N ] [ -R ] [ -a ] [ -b ] [ -c ] [ -d ] [ -e ] [ -f ] [ -g ] [ -i ] [ -l ] [ -m ] [ -n ] [ -o ] [ -p ] [ -q ] [ -r ] [ -s ] [ -t ] [ -u ] [ -x ] [ File ... ]
디렉토리 내용을 표시하는 방법
ls -f [ -C ] [ -d] [ -i ] [ -m ] [ -s ] [ -x ] [ -1 ] [ Directory ... ]
설명
ls 명령은 표준 출력에 각각의 지정된 Directory 매개변수의 내용 또는 각각의 지정된 File 매개변수의 이름을, 플래그로 요청한 그밖의 정보와 함께 기록합니다. File 또는 Directory 매개변수를 지정하지 않으면, ls 명령은 현재 디렉토리의 내용을 표시합니다.
상호 배타적인 쌍에서 둘 이상의 옵션을 지정하는 것은 오류로 간주하지 않습니다. 각 쌍에 지정된 마지막 옵션이 출력 형식을 결정합니다.
디폴트로, ls 명령은 파일 이름의 영문자순으로 모든 정보를 표시합니다. 배열(collating) 순서는 LANG 또는 LC_COLLATE 환경 변수가 결정합니다. AIX 5L Version 5.1 General Programming Concepts: Writing and Debugging Programs의 "National Language Support Overview for Programming"에 자세히 나와 있습니다.
ls 명령이 디렉토리의 내용을 표시할 때, -a 또는 -A 플래그를 사용하는 경우 외에는 이름이 .으로 시작하는 파일에 대한 입력항목을 나타내지 않습니다. 명령이 루트에 의해 실행되면, -A 플래그를 디폴트로 사용합니다.
출력을 형식화하는 세 가지 주요 방법이 있습니다.
각 행에 하나의 입력항목을 나열합니다.
-C 또는 -x 플래그를 지정하여 항목을 여러 열에 나열합니다. 출력이 tty(터미널 장치)이면 -C 플래그가 디폴트 형식입니다. ls 명령은 파일 이름이나 디렉토리 이름이 너무 길면 하나의 열 출력을 표시합니다.
-m 플래그를 지정하여 쉼표로 분리된 시리즈로 항목을 나열합니다.
출력 행의 문자 위치 번호를 결정하기 위해 ls 명령은 COLUMNS 환경 변수를 사용합니다. 이 변수를 설정하지 않으면, 명령은 표시화면의 현재 열 값을 가져옵니다. ls 명령이 이 방법 중 하나로 문자 위치 번호를 결정할 수 없으면, 디폴트 값 80을 사용합니다.
-e 및 -l 플래그로 표시된 모드는 다음과 같이 해석됩니다.
최초 문자가 다음과 같으면,
d 입력항목이 디렉토리입니다.
b 입력항목이 블록 특수 파일입니다.
c 입력항목이 문자 특수 파일입니다.
l 입력항목이 심볼 링크이며, -N 플래그가 지정되었거나 심볼 링크가 기존 파일을 지시하지 않습니다.
p 입력항목이 선입 선출(FIFO) 특수 파일입니다.
s 입력항목이 국지 소켓입니다.
- 입력항목이 일반 파일입니다.
다음의 9자는 각각 3자씩 세 세트로 나뉘어집니다. 최초 3자 세트는 소유자의 사용권한을 나타냅니다. 다음 3자 세트는 그룹 내의 다른 사용자의 사용권한을 나타냅니다. 마지막 3자 세트는 파일에 액세스하는 기타 사용자의 사용권한을 나타냅니다. 각 세트의 3자는 각기 파일의 읽기, 쓰기, 실행 사용권한을 나타냅니다. 디렉토리의 실행 권한이 있으면, 사용자는 지정된 파일에 대해 디렉토리를 탐색할 수 있습니다.
사용권한은 다음과 같이 지시됩니다.
r 읽기
w 쓰기(편집)
x 실행(탐색)
- 해당 사용권한 불허
파일에 set-group-ID 모드가 있으면, 그룹 실행 권한 문자는 s입니다. 파일에 세트 사용자 ID 모드가 있으면, 사용자 실행 사용권한 문자는 s입니다. 0100(8진) 비트 모드가 설정되는 경우, 모드의 마지막 문자(일반적으로, x 또는 -)는 T입니다(이 모드의 의미에 대해서는 chmod 명령을 참조하십시오). 해당되는 실행 사용권한을 설정하지 않으면, 세트 ID의 표시 및 01000 비트 모드의 표시가 대문자로 쓰여집니다(각각 S와 T). 모드 t는 파일이나 디렉토리에 스티키(skicky) 비트가 있음을 나타냅니다.
-e플래그와 함께 표시되는 모드는 다음과 같이 해석되는 11번째 문자가 추가된다는 점 외에는 -l 플래그를 사용한 것과 동일합니다.
+ 파일에 확장 보안 정보가 있음을 나타냅니다. 예를 들어, 파일은 모드에 확장 ACL, TCB, TP 속성을 가질 수 있습니다.
파일의 액세스 제어 정보(ACL)는 aclget 명령을 사용하여 표시됩니다. TCB 및 TP 속성 값은 chtcb 명령을 사용하여 표시됩니다.
- 파일에 확장 보안 정보가 없음을 나타냅니다.
디렉토리의 파일의 크기가 나열될 때, ls 명령은 간접 블록을 포함하여 블록의 총 계수를 표시합니다.
플래그
-A . 및 ..을 제외한 모든 입력 항목을 나열합니다.
-a .로 시작하는 항목을 포함한 디렉토리 내 모든 항목을 나열합니다.
-b 8진(\nnn) 표기법으로 인쇄불가능한 문자를 표시합니다.
-c (-t 플래그와 함께 사용되는 경우) 분류하거나 (-l 플래그와 함께 사용되는 경우) 표시할 i-노드의 최종 수정 시간을 사용합니다. 이 플래그를 -t, -l 플래그 또는 둘다와 함께 사용해야 합니다.
-C 다중 열 형식으로 세로로 출력을 분류합니다. 터미널에 출력될 때 이것이 디폴트 방법입니다.
-d 이름 지정된 디렉토리에 대한 정보만을 표시합니다. 디렉토리를 파일처럼 취급하는데, -l 플래그를 사용하여 디렉토리의 상태를 볼 때 유용합니다.
-e 각 파일의 모드(보안 정보 포함), 링크 번호, 사용자, 그룹, 크기(바이트 단위), 최종 수정 시간 및 이름을 표시합니다. 파일이 특수 파일인 경우, 크기 필드에는 주장치 번호 및 부 장치 번호가 있습니다. 파일이 심볼 링크이면, 파일에 링크된 경로 이름 앞에 ->(빼기 부호, 부등호) 기호가 인쇄됩니다. 심볼 링크의 속성이 표시됩니다.
-f Directory 매개변수에 지정된 각 디렉토리에 대해 각 슬롯의 이름을 나열합니다. 이 플래그는 -l, -t, -s 및 -r 플래그를 끄고 -a 플래그를 켭니다. 나열 순서는 입력항목이 디렉토리에 나타나는 순서입니다.
-F 파일이 디렉토리이면 /(슬래쉬)를, 파일을 실행할 수 있으면 *(별표)를, 파일이 소켓이면 =(등호)를, 파일이 선입 선출법(FIFO)이면 |(파이프)를, 심볼 링크이면 @를 각 파일 이름의 뒤에 둡니다.
주: 심볼 링크는 -N 플래그가 사용되거나 링크가 없는 파일을 가리키는 경우에만 끝에 ->가 표시됩니다. 그렇지 않으면, 목표 파일에 대한 정보가 표시됩니다. ls -f 명령을 입력하여 이 옵션을 호출할 수도 있습니다.
-g -l 플래그와 같은 정보를 표시합니다. -g 플래그가 소유자 및 심볼 링크 정보의 화면 출력을 억제하는 것은 예외입니다.
-i i-노드 번호를 각 파일에 대한 보고서의 최초 열에 표시합니다.
-L 링크가 참조하는 파일 또는 디렉토리 내용을 나열합니다. 이것이 디폴트 조치입니다. 심볼 링크가 수행됩니다. -l 옵션이 사용되면, -N 옵션은 디폴트가 되고, 심볼 링크가 수행되지 않습니다. -l 옵션이 사용되면, -L 옵션만이 -N 디폴트를 겹쳐쓸 수 있습니다.
-l (소문자 L) 각 파일에 대한 모드, 링크 번호, 소유자, 그룹, 크기(바이트 단위) 및 최종 수정 시간을 표시합니다. 파일이 특수 파일인 경우, 크기 필드에는 주장치 번호 및 부 장치 번호가 있습니다. 최종 수정 시간이 6개월보다 더 이전인 경우 시간 필드는 월 일 연도 형식으로 표시됩니다. 파일이 6개월 내에 수정된 경우에는 시간 필드가 월 일 시간 형식으로 표시됩니다.
파일이 심볼 링크인 경우, 파일에 링크된 경로 이름의 앞에는 ->. 심볼 링크의 속성이 표시됩니다. -n, -g 및 -o 플래그가 -l 플래그를 대체합니다.
주:
심볼 링크된 파일 뒤에는 화살표 및 심볼 링크의 내용이 따라 옵니다.
ls 명령이 -l 옵션과 함께 사용될 경우 mkpasswd 명령을 실행하여 그 성능을 향상시킬 수 있습니다. 이것은 디렉토리가 /tmp 디렉토리처럼 디렉토리에 서로 다른 사용자들이 소유한 파일들이 들어 있을 때에 유용합니다.
-m 스트림 출력 형식(쉼표 구분 열)을 사용합니다.
-n -l 플래그와 같은 정보를 표시합니다. -n 플래그가 사용자 이름과 그룹 이름 대신에 사용자 ID 및 그룹 ID를 표시하는 것은 예외입니다.
-N 파일 상태를 결정할 때 심볼 링크를 수행하지 않습니다.
주: -L과 -N 옵션을 모두 사용하는 경우, 나중 옵션이 우선합니다. 그 밖에도 /(슬래쉬)를 마지막 문자로 포함하는 심볼 링크가 주어질 때마다 사용된 옵션에 관계없이 링크가 자동으로 수행됩니다.
-o -l 플래그와 같은 정보를 표시합니다. -o 플래그가 그룹 및 심볼 링크 정보의 출력을 억제하는 것은 예외입니다.
-p 파일이 디렉토리이면 각 파일 이름 뒤에 슬래쉬를 둡니다. 이것은 ls 명령의 출력을 pr 명령으로 다음과 같이 파이프할 때 유용합니다.
ls -p | pr -5 -t -w80
-q 파일 이름에서 인쇄할 수 없는 문자를 ?로 표시합니다.
-r 영문자 역순이나 가장 오래된 것을 맨 앞에 두어 분류의 순서를 적절하게 반대로 합니다.
-R 모든 서브디렉토리를 반복하여 나열합니다.
-s 각 입력항목의 크기를 킬로바이트 단위(간접 블록 포함)로 제공합니다.
-t 이름 대신에 최종 수정 시간에 의해(가장 나중 것을 맨 앞으로) 분류합니다.
-u 최종 액세스 시간을 최종 수정 시간 대신에 사용하여 분류(-t 플래그와 함께 사용될 때) 또는 표시(-l 플래그와 함께 사용될 때)합니다. 이 플래그는 -t나 -l 플래그 또는 둘다 사용하지 않을 경우 아무 효과도 없습니다.
-x 다중 열 형식으로 출력을 가로로 분류합니다.
-1 한 행당 한 입력항목 형식으로 출력하도록 합니다. 이것은 출력이 터미널에 지시되지 않을 때의 디폴트입니다.
종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 모든 파일이 성공적으로 기록되었습니다.
>0 오류가 발생했습니다.
예제
현재 디렉토리 내의 모든 파일을 나열하려면, 다음을 입력하십시오.
ls -a
.와 .. 그리고 마침표로 시작하는 그 밖의 파일을 포함하여 모든 파일을 나열합니다.
상세한 정보를 표시하려면, 다음을 입력하십시오.
ls -l chap1 .profile
chap1과 .profile에 대한 상세한 정보가 있는 long 리스트를 표시합니다.
디렉토리에 관한 상세한 정보를 표시하려면, 다음을 입력하십시오.
ls -d -l . manual manual/chap1
. 및 manual과 파일 manual/chap1에 대한 긴 목록을 표시합니다. -d 플래그를 사용하지 않으면, 디렉토리 자체에 대한 상세 정보 대신 . 및 manual 디렉토리 내 파일을 나열합니다.
수정 시간순으로 파일을 나열하려면, 다음을 입력하십시오.
ls -l -t
가장 최근에 수정된 파일의 long 리스트를 표시합니다. 더 오래된 파일이 뒤에 옵니다.
파일
/usr/bin/ls ls 명령이 들어 있습니다.
/etc/passwd 사용자 ID가 들어 있습니다.
/etc/group 그룹 ID가 들어 있습니다.
/usr/share/lib/terminfo/* 터미널 정보가 들어 있습니다.
관련 정보
aclget 명령, chmod 명령, chtcb 명령, find 명령, mkpasswd 명령, qprt 명령.