체인의정석

mac에서 tree 설치 및 오류 해결 및 사용법 본문

개발/docker & linux

mac에서 tree 설치 및 오류 해결 및 사용법

체인의정석 2023. 4. 21. 12:34
728x90
반응형

Tree 설치 방법

코드 작성 후 산출물 작성을 위해 설계한 경로를 tree형태로 뽑으려 했다.

brew install tree

근데 아래 오류가 발생했다.

/usr/local/Homebrew/Library/Homebrew/global.rb:15:in `require': cannot load such file -- active_support/core_ext/object/blank (LoadError)

이 경우 해결방안을 찾아보니

brew update-reset

이걸 해주라고 한다.

다시 설치하니 설치가 잘 된다.

이제 원하는 경로에 들어가서 tree 명령어를 치면 경로의 폴더와 파일들이 다 나온다.

tree

해당 프린트 된 값을 기준으로 각 경로에 대한 설명을 써서 산출물을 만들었다.

Tree 기능 설명

tree의 기능들을 조금 더 자세히 살펴보고 싶어 tree --help를 써봤다.

usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-L level [-R]] [-H  baseHREF]
        [-T title] [-o filename] [-P pattern] [-I pattern] [--gitignore]
        [--gitfile[=]file] [--matchdirs] [--metafirst] [--ignore-case]
        [--nolinks] [--hintro[=]file] [--houtro[=]file] [--inodes] [--device]
        [--sort[=]<name>] [--dirsfirst] [--filesfirst] [--filelimit #] [--si]
        [--du] [--prune] [--charset[=]X] [--timefmt[=]format] [--fromfile]
        [--fflinks] [--info] [--infofile[=]file] [--noreport] [--version]
        [--help] [--] [directory ...]
  ------- Listing options -------
  -a            All files are listed.
  -d            List directories only.
  -l            Follow symbolic links like directories.
  -f            Print the full path prefix for each file.
  -x            Stay on current filesystem only.
  -L level      Descend only level directories deep.
  -R            Rerun tree when max dir level reached.
  -P pattern    List only those files that match the pattern given.
  -I pattern    Do not list files that match the given pattern.
  --gitignore   Filter by using .gitignore files.
  --gitfile X   Explicitly read gitignore file.
  --ignore-case Ignore case when pattern matching.
  --matchdirs   Include directory names in -P pattern matching.
  --metafirst   Print meta-data at the beginning of each line.
  --prune       Prune empty directories from the output.
  --info        Print information about files found in .info files.
  --infofile X  Explicitly read info file.
  --noreport    Turn off file/directory count at end of tree listing.
  --charset X   Use charset X for terminal/HTML and indentation line output.
  --filelimit # Do not descend dirs with more than # files in them.
  -o filename   Output to file instead of stdout.
  ------- File options -------
  -q            Print non-printable characters as '?'.
  -N            Print non-printable characters as is.
  -Q            Quote filenames with double quotes.
  -p            Print the protections for each file.
  -u            Displays file owner or UID number.
  -g            Displays file group owner or GID number.
  -s            Print the size in bytes of each file.
  -h            Print the size in a more human readable way.
  --si          Like -h, but use in SI units (powers of 1000).
  --du          Compute size of directories by their contents.
  -D            Print the date of last modification or (-c) status change.
  --timefmt <f> Print and format time according to the format <f>.
  -F            Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
  --inodes      Print inode number of each file.
  --device      Print device ID number to which each file belongs.
  ------- Sorting options -------
  -v            Sort files alphanumerically by version.
  -t            Sort files by last modification time.
  -c            Sort files by last status change time.
  -U            Leave files unsorted.
  -r            Reverse the order of the sort.
  --dirsfirst   List directories before files (-U disables).
  --filesfirst  List files before directories (-U disables).
  --sort X      Select sort: name,version,size,mtime,ctime.
  ------- Graphics options -------
  -i            Don't print indentation lines.
  -A            Print ANSI lines graphic indentation lines.
  -S            Print with CP437 (console) graphics indentation lines.
  -n            Turn colorization off always (-C overrides).
  -C            Turn colorization on always.
  ------- XML/HTML/JSON options -------
  -X            Prints out an XML representation of the tree.
  -J            Prints out an JSON representation of the tree.
  -H baseHREF   Prints out HTML format with baseHREF as top directory.
  -T string     Replace the default HTML title and H1 header with string.
  --nolinks     Turn off hyperlinks in HTML output.
  --hintro X    Use file X as the HTML intro.
  --houtro X    Use file X as the HTML outro.
  ------- Input options -------
  --fromfile    Reads paths from files (.=stdin)
  --fflinks     Process link informtion when using --fromfile.
  ------- Miscellaneous options -------
  --version     Print version and exit.
  --help        Print usage and this help message and exit.
  --            Options processing terminator.

위 기능중 유용해 보이는 몇개만 뽑아서 사용해 보았다.

파일없이 디렉토리만 가져오기

tree -d

현재 경로를 기준으로 각 파일의 경로를 모두 가져오기

tree -f

특정 레벨만큼만 가져오기 1로 하면 1depth만 가져온다.

tree -L 1


.
├── classes
├── output
└── scripts

json 형태로 tree 가져오기

 tree -J

 

728x90
반응형
Comments