Linux 디렉토리 트리 표시

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 에서 tree 명령어를 사용하는 방법을 배우게 됩니다. tree 명령어는 디렉토리와 파일 구조를 계층적이고 트리 형태의 형식으로 표시하는 강력한 유틸리티입니다. 이러한 시각적 표현은 시스템 내 파일과 디렉토리의 구성을 더 쉽게 이해할 수 있도록 해줍니다.

tree 명령어는 시스템 관리자, 개발자, 복잡한 디렉토리 구조를 탐색해야 하는 모든 사용자에게 특히 유용합니다. 이 랩을 마치면 tree 명령의 기본 및 고급 기능을 사용하여 디렉토리 구조를 효과적으로 시각화할 수 있게 됩니다.

기본 Tree 명령어 설치 및 사용

이 단계에서는 tree 명령어를 설치하고 기본 기능을 배우게 됩니다.

Tree 명령어 설치

먼저, 시스템에 tree 명령어가 설치되어 있는지 확인해 보겠습니다. 터미널에서 다음을 입력합니다.

if ! command -v tree &> /dev/null; then
  sudo apt-get update
  sudo apt-get install -y tree
fi

이 명령어는 tree가 이미 설치되어 있는지 확인합니다. 설치되어 있지 않은 경우, 패키지 목록을 업데이트하고 설치합니다.

샘플 디렉토리 구조 생성

tree 명령어를 사용하기 전에 시각화할 디렉토리 구조가 필요합니다. 올바른 작업 디렉토리에 있는지 확인하십시오.

cd ~/project

이제 월별로 정리된 로그 파일을 나타내는 샘플 디렉토리 구조를 만들어 보겠습니다.

mkdir -p ./logs/2023/{January,February,March}
touch ./logs/2023/January/log1.txt
touch ./logs/2023/February/log2.txt
touch ./logs/2023/March/log3.txt

이 명령어 시퀀스는 다음을 수행합니다.

  • logs라는 메인 디렉토리를 생성합니다.
  • logs 내부에 2023이라는 하위 디렉토리를 생성합니다.
  • 2023 내부에 각 달에 대한 세 개의 하위 디렉토리를 생성합니다.
  • 각 달의 디렉토리에 로그 파일을 생성합니다.

기본 Tree 명령어 사용

이제 기본 tree 명령어를 실행하여 파일 구조를 확인해 보겠습니다.

tree

다음과 유사한 출력을 볼 수 있습니다.

.
└── logs
    └── 2023
        ├── January
        │   └── log1.txt
        ├── February
        │   └── log2.txt
        └── March
            └── log3.txt

tree 명령어는 현재 디렉토리 (맨 위에 점으로 표시됨) 부터 시작하는 디렉토리 구조를 표시합니다. 들여쓰기와 선은 디렉토리와 파일 간의 계층적 관계를 보여줍니다.

디렉토리 트리 깊이 제한

큰 디렉토리 구조로 작업할 때 전체 트리를 보는 것은 부담스러울 수 있습니다. 이 단계에서는 표시되는 디렉토리 트리의 깊이를 제한하는 방법을 배우게 됩니다.

더 깊은 디렉토리 구조 생성

이 기능을 더 잘 시연하기 위해 더 복잡한 디렉토리 구조를 만들어 보겠습니다.

mkdir -p ~/project/backups/2023/{January,February,March}/{week1,week2,week3}
touch ~/project/backups/2023/January/week1/data.bak

이 명령어는 다음을 생성합니다.

  • logs와 유사한 구조를 가진 backups 디렉토리
  • 각 달 내의 주 (week) 에 대한 추가 레벨
  • 1 월의 week1 폴더에 샘플 백업 파일

-L 옵션을 사용하여 깊이 제한

-L 옵션을 사용하면 트리가 표시해야 하는 깊이 수준을 지정할 수 있습니다. 3 레벨로 뷰를 제한해 보겠습니다.

tree -L 3

다음과 유사한 출력을 볼 수 있습니다.

.
├── backups
│   └── 2023
│       ├── January
│       ├── February
│       └── March
└── logs
    └── 2023
        ├── January
        ├── February
        └── March

week 디렉토리와 그 안의 파일은 레벨 4 에 있기 때문에 표시되지 않습니다. 우리는 표시를 3 레벨로 제한했습니다.

깊이 레벨 변경

-L 뒤의 숫자를 조정하여 더 많거나 적은 레벨을 표시할 수 있습니다. 깊이 4 로 시도해 보겠습니다.

tree -L 4

이제 week 디렉토리는 보이지만 그 안의 파일은 보이지 않아야 합니다.

.
├── backups
│   └── 2023
│       ├── January
│       │   ├── week1
│       │   ├── week2
│       │   └── week3
│       ├── February
│       │   ├── week1
│       │   ├── week2
│       │   └── week3
│       └── March
│           ├── week1
│           ├── week2
│           └── week3
└── logs
    └── 2023
        ├── January
        │   └── log1.txt
        ├── February
        │   └── log2.txt
        └── March
            └── log3.txt

복잡한 디렉토리 구조의 개략적인 개요만 필요한 경우 트리의 깊이를 제어할 수 있는 기능이 유용합니다.

디렉토리만 표시하기

때로는 파일을 보지 않고 디렉토리 구조에만 관심이 있을 수 있습니다. 이 단계에서는 tree 명령어를 사용하여 디렉토리만 표시하는 방법을 배우게 됩니다.

-d 옵션 사용

-d 옵션은 tree 명령어에게 디렉토리만 표시하고 파일은 무시하도록 지시합니다. 시도해 보겠습니다.

tree -d

다음과 유사한 출력을 볼 수 있습니다.

.
├── backups
│   └── 2023
│       ├── January
│       │   ├── week1
│       │   ├── week2
│       │   └── week3
│       ├── February
│       │   ├── week1
│       │   ├── week2
│       │   └── week3
│       └── March
│           ├── week1
│           ├── week2
│           └── week3
└── logs
    └── 2023
        ├── January
        ├── February
        └── March

log1.txt 또는 data.bak과 같은 파일이 이 뷰에 표시되지 않는 것을 확인하십시오.

옵션 결합

출력을 더 사용자 정의하기 위해 여러 옵션을 결합할 수 있습니다. 예를 들어, 최대 2 레벨 깊이의 디렉토리만 표시하려면 다음을 수행합니다.

tree -d -L 2

이렇게 하면 다음이 표시됩니다.

.
├── backups
│   └── 2023
└── logs
    └── 2023

디렉토리 수 추가

각 하위 트리에 얼마나 많은 디렉토리가 있는지 확인하려면 -a 플래그를 추가할 수 있습니다.

tree -d -a

출력 하단에서 디렉토리 수를 보여주는 요약을 볼 수 있습니다.

X directories

여기서 X 는 총 디렉토리 수입니다.

개별 파일에 방해받지 않고 프로젝트의 구성을 이해하려는 경우 디렉토리 구조만 보는 것이 특히 유용합니다.

요약

이 랩에서는 Linux 에서 tree 명령어를 사용하여 디렉토리 구조를 시각화하는 방법을 배웠습니다. 기본적인 사용법으로 시작하여 간단한 디렉토리 계층 구조를 생성하고 보았습니다. 그런 다음 -L 옵션을 사용하여 표시되는 디렉토리의 깊이를 제한하고 -d 옵션을 사용하여 디렉토리만 표시하는 등 더 고급 기능을 탐색했습니다.

이러한 기술은 복잡한 파일 시스템을 보다 효율적으로 탐색하고 이해하는 데 도움이 됩니다. tree 명령어는 시스템 관리자, 개발자 및 Linux 환경에서 구성된 파일 구조로 작업하는 모든 사람에게 유용한 도구입니다. 디렉토리 계층 구조를 명확하게 시각화함으로써 파일을 더 잘 관리하고 디렉토리 관련 문제를 해결할 수 있습니다.