LS(1)

명칭
ls - 디렉토리의 내용의 리스트를 표시한다

서식
ls [-ABCFGHLPRTWabcdfghiklmnopqrstuwx1] [file ...]

해설
ls 하 file 그리고 지정된 파일명 및 옵션의 지정에 따라, 파일에 관한 각종의 정보를 표시합니다. 덧붙여 file (으)로서 디렉토리가 지정되었을 경우는, 그 디렉토리 부하의 파일 에 관한 정보를 표시합니다.

file 하지만 지정되지 않았던 경우는, 커런트 디렉토리의 파일을 표시합니다. 표시는 파일명의 알파벳순서에 정렬 됩니다. 다만, file (으)로서 디렉토리 파일과 그 이외의 파일을 혼재해 지정했다 경우는, 디렉토리 이외의 파일이 먼저 표시되어 그 후 디렉토리 부하의 파일이 표시됩니다.

옵션으로서는, 이하의 것이 있습니다.

-A  ~. (와)과.. (을)를 제외하는 모든 엔트리를 표시합니다. 슈퍼 유저의 경우는, 통상 이 옵션이 세트 되고 있습니다.

-B  파일명중의 비인자 가능 캐릭터 ( ctype(3) (와)과 현재의 로케일 설정으로 정의됩니다)를 강제적으로 \xxx 의 형식에서 표시합니다. xxx (은)는 캐릭터의 수치이며 8 진수입니다.

-C  멀티 컬럼 형식에서 출력합니다. 단말에의 출력의 경우는, 이것이 디폴트가 됩니다.

-F  각각의 패스명의 마지막으로, 디렉토리라면 slash (‘/’) , 실행 가능 파일이라면 asterisk (‘*’) , 기호 연결이라면 @ 부호 (‘@’) , 소켓 파일이라면 등호 (‘=’) , FIFO (이)라면 세로의 곧은 선 (‘|’) (을)를 붙여 표시합니다.

-G  색채화 출력을 유효하게 합니다. 본옵션은, 환경 변수 CLICOLOR (을)를 정의하는 것으로 동등합니다 (후술).

-H  명령행의 기호 연결을 추적합니다. -F, -d, -l 옵션의 모두 지정되지 않았던 경우, 이 옵션이 가정됩니다.

-L  인수가 기호 연결 파일의 경우, 링크 파일 자체가 아니고, 링크처의 파일이나 디렉토리를 표시합니다. 이 옵션은 -P 옵션을 지웁니다.

-P  인수가 기호 연결의 경우, 링크가 참조하고 있는 오브젝트는 아니고 링크 자신을 표시합니다. 이 옵션은 -H, -L 옵션을 지웁니다.

-R  서브 디렉토리를 재귀적으로 표시합니다.

-T  -l 옵션 (소문자의 “엘 (L)”) (와)과 함께 사용되었을 경우, 파일의 일자와 시간에 관한 상세 정보 (월·일·시·분·초·년)를 표시합니다.

-W  디렉토리 주사시에 화이트 아웃도 표시합니다.

-a  닷 (~). 그리고 시작되는 파일도 포함해 표시합니다.

-b  -B (와)과 같습니다만, 가능하면 C 의 이스케이프 코드를 사용합니다.

-c  파일 정렬나 시각 출력때, file status의 최종 변경 일자를 사용합니다.

-d  인수가 디렉토리의 경우, 디렉토리 그 자체의 정보에 대해 표시합니다 (재귀적으로 표시하지 않습니다).

-f  정렬 하지 않고 표시합니다

-g  이 옵션은, 4.3BSD (와)과의 호환성을 위해서(때문에)만 이용해야 합니다. 이것은, 롱 포맷 옵션 (-l) (을)를 사용해 그룹의 이름을 표시하고 싶을 때에 사용합니다.

-h  -l 옵션과 함께 사용했을 경우, 다음의 단위 사픽스를 사용합니다: 바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트, 페타바이트. 사용되는 크기는 기수 2 이며, 수치의 자리수가 3 이하가 됩니다.

-i  각 파일에 대해, inode 번호를 표시합니다.

-k  -s 옵션과 함께 사용해, 파일 사이즈를 블록 단위는 아니고 K 바이트 단위로 표시합니다. 이 옵션은 환경 변수 BLOCKSIZE 에 우선합니다.

-l  ( “엘 (L)” 의 소문자). 파일의 상세 정보를 롱 포맷으로 표시합니다 (아래와 같이 참조). 단말에 출력하고 있는 경우, 롱 포맷의 전의 행에, 전파일 의 사이즈의 합계치를 표시합니다.

-m  스트림 출력 형식. 파일을, 콤마로 단락지어, 페이지의 횡방향에 표시합니다.

-n  길다 (-l) 출력에 대해, 유저와 그룹을 이름으로 변환하지 않고 , 유저와 그룹의 ID 를 수치로 표시합니다.

-o  (-l) 옵션에 의한 상세 정보에, 파일 플래그도 포함해 표시합니다.

-p  파일이 디렉토리의 경우, 각 파일명의 뒤에 slash (‘/’) (을)를 씁니다.

-q  파일명에 표시할 수 없는 캐릭터가 사용되고 있었을 때, ‘’? (으)로서 표시합니다. 단말에 표시할 때는, 디폴트로 이 지정이 됩니다.

-r  사전식 순서로 역순 또는 시각의 낡은 순서에 정렬 합니다.

-s  각 파일이 파일 시스템상에서 실제로 점유 하고 있다 블록수 (512 바이트 단위)를 표시합니다. 블록의 일부만 점유 하고 있는 것도 정수값에 절상할 수 있습니다. 단말에 표시할 때는, 표시의 선두행에, 전파일의 사이즈의 합계치 (을)를 표시합니다. 환경 변수 BLOCKSIZE (은)는 단위 사이즈 512 바이트에 우선합니다.

-t  파일을 알파벳순서에 표시하기 전에, 파일의 최종 수정 일시의 순서 (새로운 것(정도)만큼 먼저 온다)에 정렬 합니다.

-u  (-t) 옵션이나 (-l) 옵션으로, 파일의 최종 수정 일시 대신에, 파일의 최종 액세스 일시를 사용합니다.

-w  비인자 가능 캐릭터를 그대로 표시하도록(듯이) 강제합니다. 출력처가 단말이 아닌 경우, 이것이 디폴트입니다.

-x  -C (와)과 같습니다만, 아래방향은 아니고 횡방향에 엔트리를 정렬 해, 멀티 컬럼 출력합니다.

-1  (숫자의 “1” ). 1 행에 대해 1 엔트리의 형식에서 표시합니다. 단말에의 출력이 아닌 경우에는, 이것이 디폴트입니다.

-1, -C, -x, -l 옵션은, 서로 외를 덧쓰기합니다. 마지막에 지정된 옵션이 유효와 됩니다.

-c (와)과 -u 옵션은, 서로 외를 덧쓰기합니다. 마지막에 지정된 옵션이 유효와 됩니다.

-B, -b, -w, -q 옵션은 서로 서로 우선하는 관계에 있습니다. 마지막에 지정된 것이 인자 불가 캐릭터의 서식을 결정합니다.

-H, -L, -P 옵션은 서로 서로 우선하는 관계에 있습니다(부분적 혹은 전체적). 지정된 순서로 적용됩니다.

디폴트에서는 ls (은)는 표준 출력에 1 행 1 엔트리씩 표시합니다. 다만, 출력처가 단말인 경우 및 -C 또는 -x 의 옵션이 지정되었을 경우는 별도입니다.

-i, -s, -l 옵션이 지정되었을 경우, 관련하는 파일의 정보는 1 개 이상의 공백 (을)를 열어 표시됩니다.

  롱 포맷
-l 옵션이 붙여졌을 경우, 각각의 파일에 대해서 이하에 나타내는 정보가 표시됩니다: 파일 모드· 링크수·소유자명·소유 그룹명· 파일의 바이트수·월의 단축형·최종 갱신이 행해졌을 때의 일자·시·분· 패스명. 게다가 각 디렉토리에 대해서, 디렉토리내의 파일 정보가 표시되기 직전에, 파일 사이즈의 합계치가 512 바이트 블록 단위로 표시됩니다.

파일의 수정 수정 시각이 6 개월 이상 과거 혹은 미래의 경우, 최종 수정년이 시간과 분의 필드에 표시됩니다.

소유자 또는 소유 그룹명이 불명의 경우, 또는 -n 옵션지정시에는, ID 번호로 표시됩니다.

파일이 캐릭터형 혹은 블록형의 특수 파일인 경우, 파일 사이즈 필드에는 파일의 메이저 번호와 마이너 번호가 표시됩니다. 파일이 기호 연결 파일인 경우, 링크처 파일의 패스명이 “->” 에 의해 표시됩니다.

-l 옵션의 아래에서 표시되는 파일 모드는, 엔트리 타입, 소유자 액세스 허가, 소유 그룹 액세스 허가등으로 성립되고 있습니다. 엔트리 타입의 캐릭터는 파일의 타입을 나타내고 있어 각 캐릭터의 의미는 다음과 같습니다:

b   블록형 특수 파일
c   캐릭터형 특수 파일
d   디렉토리
l   기호 연결 파일
s   소켓 파일
p   FIFO
-   통상 파일

다음의 3 개의 필드는, 각각 3 개의 캐릭터로부터 되어 있습니다: 소유자에 대한 액세스 허가· 그룹에 속하는 유저에 대한 액세스 허가· 다른 유저에 대한 액세스 허가. 이러한 필드는 각각 3 개의 캐릭터로부터 되어 있습니다:

1.  만약 r (이)라면 읽어내 가능. 만약 - (이)라면 읽어내 불능.

2.  만약 w (이)라면 기입 가능. 만약 - (이)라면 기입 불능.

3.  그 외의 경우: 이하의 쳐 최초로 해당하는 것이 이용된다.

    S   소유자에 대한 액세스 허가에 대해, 파일이 실행 가능하지 않고, 한편, 실효 유저 ID (set-user-ID) 모드가 세트 되고 있는 경우. 소유 그룹에 대한 액세스 허가에 대해, 파일이 실행 가능하지 않고, 한편, 실효 그룹 ID (set-group-ID) 모드가 세트 되고 있는 경우.

    s   소유자에 대한 액세스 허가에 대해, 파일이 실행 가능해, 한편, 실효 유저 ID 모드가 세트 되고 있는 경우. 소유 그룹에 대한 액세스 허가 중(안)에서, 파일이 실행 가능해, 한편, 실효 그룹 ID 모드가 세트 되고 있는 경우.

    x   파일이 실효 가능 또는 디렉토리가 검색 가능한 경우.

    -   파일은, 읽어내, 기입해, 실행의 모두 허가되지 않고, 실효 유저 ID 도 실효 그룹 ID 도 스티키빗트도 설정되어 있지 않은 경우 (이하 참조).

    다음의 2개는 다른 유저에 대한 액세스 허가의 3 번째의 캐릭터에 사용됩니다.

    T   스티키빗트가 세트 되고 있다 (모드 1000 )이, 실행 불능 혹은 검색 불능인 경우 ( chmod(1) 또는 sticky(8) 참조).

    t   스티키빗트가 세트 되어 있어 (모드 1000), 한편, 검색 가능 또는 실행 가능한 경우 ( chmod(1) 또는 sticky(8) 참조).

사용예
ls 의 출력을 크기순서에 늘어놓는 방법을 나타냅니다 ( ls 하지만 이 명령의 별옵션을 필요로 하지 않는 이유도 가리킵니다).

    ls -l | sort -n +4

게다가 sort(1) 에의 -r 플래그를 사용하는 것으로써, 결과를 대로부터 소에 (역순에) 늘어놓을 수 있습니다.

진단

환경 변수
이하의 환경 변수는 ls 의 동작에 영향을 줍니다:

BLOCKSIZE
    블록수의 표시를 실시할 때, 1 블록의 사이즈로서 환경 변수 BLOCKSIZE 그리고 지정된 값이 사용됩니다 ( -s 옵션 참조).

CLICOLOR
    칼라 순차 순서를 사용해, 파일 타입을 구별합니다. 후술의 LSCOLORS (을)를 참조해 주세요. -F 그리고 전술한 것 더해 한층 더 속성 (setuid 비트 설정등 )도 또한 표시됩니다. 색채화는, 적절한 termcap(5) 케이파비리티를 가지는 단말 타입에 의존합니다. 디폴트의 “cons25” 콘솔은, 적절한 케이파비리티를 가지고 있습니다만, 예를 들면 xterm(1) 그리고 칼라 표시하고 싶은 경우에는 TERM 변수를 “xterm-color” (으)로 설정할 필요가 있습니다. 다른 단말 타입도 같은 수정이 필요할지도 모릅니다. 출력이 단말로 향해지지 않은 경우, 색채화는 입다물어 무효화됩니다. 다만, CLICOLOR_FORCE 변수가 정의되고 있는 경우는 예외입니다.

CLICOLOR_FORCE
    출력이 단말로 향해지지 않은 경우, 통상, 칼라 순차 순서는 무효화됩니다. 본플래그를 설정하는 것으로, 이 동작을 변경 가능합니다. TERM 변수는, 칼라 출력 가능한 단말을 참조하는 것이 필요합니다. 그렇게 되지 않은 경우, 어느 칼라 순차 순서를 사용해야할 것인가 결정할 수 없습니다.

COLUMNS
    터미널의 컬럼폭을 지정합니다. 멀티 컬럼 표시때, 1 행 당 몇개(살)의 파일명을 표시할 수 있는지를 산출하기 위해서 참조됩니다 ( -C 및 -x 참조).

LANG
    길다 -l 포맷 출력에 있어서의, 날과 달의 순서를 결정하기 위해서(때문에) 사용하는 로케일입니다. 자세한 것은 environ(7) (을)를 참조해 주세요.

LSCOLORS
    본변수의 값은, CLICOLOR 에 의해 칼라 출력이 유효하다라고 나무에, 어느 색을 어느 속성에 사용하는지를 지정합니다. 이 캐릭터 라인은 서식 fb 의 결합이며, 여기서 f (은)는 전경색이며, b (은)는 배경색입니다.

    색의 지시는 다음과 같습니다:

    a   흑
    b   적
    c   록
    d   다
    e   청
    f   마젠타
    g   시안(cyan)
    h   명 있고 재
    A   bold의 흑으로, 통상 어두운 재로 보입니다
    B   bold의 빨강
    C   bold의 초록
    D   bold의 차로, 통상 황색으로 보입니다
    E   bold의 파랑
    F   bold의 마젠타
    G   bold의 시안(cyan)
    H   bold의 명 있고 재로, 명 있고 흰색으로 보입니다
    x   디폴트의 전경색과 배경색

    이상이 표준 칼라입니다. 실제의 표시는, 단말의 색의 취급해 의존해 다르겠지요.

    속성의 차례는 다음과 같습니다:

    1.  디렉토리
    2.  기호 연결
    3.  소켓
    4.  파이프
    5.  실행 형식
    6.  블록 스페셜
    7.  캐릭터 스페셜
    8.  setuid 비트가 설정된 실행 형식
    9.  setgid 비트가 설정된 실행 형식
    10. 다른 사람 (others)이 기입해 가능한 디렉토리이며, 스티키빗트 첨부.
    11. 다른 사람 (others)이 기입해 가능한 디렉토리이며, 스티키빗트 없음.

    디폴트는 "exfxcxdxbxegedabagacad" (이어)여, 통상의 디렉토리는 전경색 파랑으로 디폴트 배경색, setuid 첨부 실행 형식은 전경색흑으로 배경색 빨강등입니다.

LS_COLWIDTHS
    이 변수가 설정되어 있는 경우, 코론 단락의 리스트로 각 필드의 최소폭을 지정해 있는 것으로 간주해집니다. 적절하지 않기도 하고 불충분하기도 하다 폭은 무시됩니다 (따라 0 을 지정하면(자), 필드폭이 동적으로 정해집니다). 모든 필드의 폭을 바꿀 수 있는 것은 아닙니다. 필드의 순서는 다음과 같습니다: inode·블록수·링크수·유저명·그룹명·플래그·파일 사이즈· 파일명.

TERM
    CLICOLOR 의 기능은, 단말 타입의 카라케이파비리티가 필요합니다.

TZ  일시를 표시할 경우에 사용되는 타임 존을 지정합니다. 자세한 것은 environ(7) (을)를 참조해 주세요.

호환성
p1003.2 호환과 하기 위한(해), 롱 포맷 형식의 출력에는 소유 그룹명 필드가 자동적으로 포함할 수 있습니다.

관련 항목
chflags(1), chmod(1), sort(1), xterm(1), termcap(5), symlink(7), sticky(8)

표준
ls 유틸리티는 p1003.1-2001 에 적합하고 있습니다.

역사
ls 명령은 AT&T UNIX (으)로부터 등장했습니다.

버그
과거와의 호환성을 위해서(때문에), 많은 옵션의 관계가 복잡하게 되어 있습니다.