tree - 디렉터리 내용을 트리 형식으로 나열하는 프로그램
개요
tree [-adfghilnopqrstuvxACDFNS] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-I pattern] [--inodes] [--device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [directory ...]
설명
Tree는 파일의 깊이를 들여쓰기로 표시하는 재귀적 디렉터리 목록 프로그램입니다. LS_COLORS 환경 변수가 설정되어 있고, 출력이 터미널로 향하며, -C 플래그가 사용되면 dircolors와 같은 방식으로 색상이 지원됩니다. 인수 없이 사용하면 현재 디렉터리의 파일들을 나열합니다. 디렉터리 인수가 제공되면, tree는 해당 디렉터리에서 찾은 모든 파일이나 디렉터리를 차례로 나열합니다. 모든 파일/디렉터리 나열이 완료되면, tree는 나열된 파일 및 디렉터리의 총 수를 반환합니다.
기본적으로 심볼릭 링크를 만나면 다음 형식으로 해당 링크가 가리키는 경로가 링크 이름 뒤에 출력됩니다:
이름 -> 실제-경로
'-l' 옵션이 주어지고 심볼릭 링크가 실제 디렉터리를 참조하는 경우, tree는 그 심볼릭 링크를 실제 디렉터리인 것처럼 따라갑니다.
옵션
Tree는 다음과 같은 명령줄 스위치를 지원합니다:
--help
자세한 사용법을 출력합니다.
--version
tree의 버전을 출력합니다.
-a
모든 파일을 출력합니다. 기본적으로 tree는 숨김 파일(점 '.'으로 시작하는 파일)을 출력하지 않습니다. 어떤 경우에도 tree는 파일 시스템 구성요소인 '.'(현재 디렉터리)와 '..'(상위 디렉터리)는 출력하지 않습니다.
-d
디렉터리만 나열합니다.
-f
각 파일의 전체 경로를 출력합니다.
-i
들여쓰기 선을 출력하지 않습니다. -f 옵션과 함께 사용할 때 유용합니다.
-l
심볼릭 링크가 디렉터리를 가리키는 경우, 디렉터리처럼 따라갑니다. 재귀를 유발할 수 있는 심볼릭 링크는 감지 시 회피됩니다.
-x
현재 파일 시스템에만 머무릅니다(find -xdev와 유사).
-P 패턴
와일드카드 패턴과 일치하는 파일만 나열합니다. 참고: 점 '.'으로 시작하는 파일도 매칭 대상으로 고려하려면 -a 옵션을 함께 사용해야 합니다. 유효한 와일드카드 연산자는 '*'(0개 이상의 문자), '?'(임의의 한 문자), '[...]'(대괄호 안에 나열된 임의의 한 문자, 문자 범위를 위한 -(대시)를 선택적으로 사용 가능: 예: [A-Z]), '[^...]'(대괄호 안에 나열되지 않은 임의의 한 문자), 그리고 '|'(대체 패턴 구분)입니다.
-I 패턴
와일드카드 패턴과 일치하는 파일을 나열하지 않습니다.
--noreport
트리 목록 끝에 파일 및 디렉터리 보고서 출력을 생략합니다.
-p
각 파일의 유형과 권한을 출력합니다(ls -l처럼).
-s
각 파일의 크기를 바이트 단위로 이름과 함께 출력합니다.
-h
각 파일의 크기를 더 읽기 쉬운 방식(킬로바이트(K), 메가바이트(M), 기가바이트(G), 테라바이트(T), 페타바이트(P), 엑사바이트(E) 등의 크기 문자를 붙임)으로 출력합니다.
-u
파일의 사용자 이름 또는 사용자 이름을 사용할 수 없는 경우 UID #를 출력합니다.
-g
파일의 그룹 이름 또는 그룹 이름을 사용할 수 없는 경우 GID #를 출력합니다.
-D
나열된 파일의 마지막 수정 시간 날짜를 출력합니다.
--inodes
파일이나 디렉터리의 inode 번호를 출력합니다.
--device
파일이나 디렉터리가 속한 장치 번호를 출력합니다.
-F
ls -F처럼 디렉터리에는 '/', 소켓 파일에는 '=', 실행 파일에는 '*', FIFO에는 '|'를 추가합니다.
-q
파일 이름의 출력 불가능한 문자를 기본 캐럿 표기법 대신 물음표로 출력합니다.
-N
출력 불가능한 문자를 기본 캐럿 표기법 대신 있는 그대로 출력합니다.
-v
버전별로 출력을 정렬합니다.
-r
알파벳 역순으로 출력을 정렬합니다.
-t
알파벳 순 대신 마지막 수정 시간별로 출력을 정렬합니다.
--dirsfirst
파일보다 디렉터리를 먼저 나열합니다.
-n
항상 색상화를 끕니다. -C 옵션에 의해 재정의됩니다.
-C
LS_COLORS 환경 변수가 설정되지 않은 경우 내장된 색상 기본값을 사용하여 항상 색상화를 켭니다. 파이프로 출력 시 색상화하는 데 유용합니다.
-A
들여쓰기 선을 출력할 때 ANSI 라인 그래픽 해킹을 켭니다.
-S
ASCII 라인 그래픽을 켭니다(리눅스 콘솔 모드 폰트 사용 시 유용). 이 옵션은 현재 '--charset=IBM437'과 동일하며 결국 사용이 중단될 예정입니다.
-L level
디렉터리 트리의 최대 표시 깊이입니다.
--filelimit #
항목보다 많은 항목을 포함하는 디렉터리는 탐색하지 않습니다.
-R
디렉터리 트리의 각 레벨을 재귀적으로 하향 탐색하고(-L 옵션 참조), 각 레벨에서 '-o 00Tree.html'을 새 옵션으로 추가하여 tree를 다시 실행합니다.
-H baseHREF
HTTP 참조를 포함한 HTML 출력을 켭니다. FTP 사이트에 유용합니다. baseHREF는 HTML 출력 사용 시 기본 FTP 위치를 제공합니다. 즉, 로컬 디렉터리는 '/local/ftp/pub'일 수 있지만 'ftp://hostname.organization.domain/pub'로 참조해야 합니다(baseHREF는 'ftp://hostname.organization.domain'이어야 함). 팁: 이 옵션과 함께 ANSI 라인을 사용하지 말고, 디렉터리 목록에 하나 이상의 디렉터리를 제공하지 마세요. CCS 스타일시트를 통해 색상을 사용하려면 색상 출력을 강제하기 위해 이 옵션과 함께 -C 옵션을 사용하세요.
-T title
HTML 출력 모드에서 제목과 H1 헤더 문자열을 설정합니다.
--charset charset
HTML 출력 및 라인 그리기 시 사용할 문자셋을 설정합니다.
--nolinks
HTML 출력에서 하이퍼링크를 끕니다.
-o filename
출력을 filename으로 보냅니다.
파일
/etc/DIR_COLORS
시스템 색상 데이터베이스.
~/.dircolors
사용자 색상 데이터베이스.
환경
LS_COLORS
dircolors에 의해 생성된 색상 정보
TREE_CHARSET
HTML 모드에서 tree가 사용할 문자셋.
LC_CTYPE
파일 이름 출력을 위한 로케일.
저자
Steve Baker (ice@mama.indstate.edu)
HTML 출력은 Francesc Rocher (rocher@econ.udg.es)가 수정함
문자셋 및 OS/2 지원은 Kyosuke Tokoro (NBG01720@nifty.ne.jp)가 담당
버그
-P 및 -I 옵션 사용 시 tree는 "빈" 디렉터리를 제거하지 않습니다. Tree는 디렉터리를 만나는 대로 출력하므로, 출력 중인 디렉터리 아래에 있는 파일 및 디렉터리에 대한 정보를 누적할 수 없습니다.
-h 옵션은 항상 올림하는 ls의 -h 구현과 달리 가장 가까운 정수로 반올림합니다. 10의 거듭제곱에 해당하는 2의 거듭제곱을 위한 IEC 표준 이름(KiBi 등)은 어리석습니다.
-I, -P 및 --filelimit 옵션으로 파일과 디렉터리를 제거하면 파일/디렉터리 수 보고가 부정확해집니다.
아마도 더 많은 버그가 있을 수 있습니다.
https://linux.die.net/man/1/tree