디렉터리가 차지하는 공간(두 수준 아래)을 인쇄하려고 합니다. 나열된 치수가 정확하지 않습니다. 예를 들어 large_child_folder
150GB. 실제 디렉토리 크기를 얻는 방법은 무엇입니까?
tree -L 2 -d --du -sh
.
├── [8.0K] parent_folder
│ └── [4.0K] large_child_folder
└── [8.0K] another_parent_folder
└── [4.0K] another_large_child_folder
답변 @트리 1.5에서 tree 명령을 사용하여 디렉토리 내용의 크기를 인쇄합니까?정확하지 않은 것 같습니다.
답변1
다음 명령은 현재 디렉터리 아래 최대 2레벨 깊이의 모든 디렉터리 크기에 대해 사람이 읽을 수 있는 정보를 제공합니다.
du --max-depth=2 -h
--max-length=N 명령줄 인수보다 N 이하 수준인 경우에만 총 디렉터리 수를 인쇄합니다.
-h, --사람이 읽을 수 있는 형식으로 인쇄 크기(예: 1K 234M 2G)
답변2
당신은 그것을 사용할 수 있습니다의무
- LS_COLORS 환경 변수를 기반으로 한 색상 출력입니다.
- 파일 시스템 트리 표시
- 작은 파일을 집계하는 기능
- 파일이나 디렉토리를 제외하는 기능
- 다양한 디렉토리를 비교하는 기능
- 빠르고 Rust로 작성됨
답변3
주문하다
$ tree --version;
# tree v2.1.1 © 1996 - 2023 by Steve Baker, Thomas Moore, Francesc Rocher,
# Florian Sesser, Kyosuke Tokoro
# -x - Stay on the current file-system only...
# -a - All files are printed... (those beginning with a dot `.')...
# -p - Print the file type and permissions for each file...
# -u - Print the username, or UID...
# -g - Print the group name, or GID...
# -h - Print the size of each file but in a more human readable way...
# -F - Append a `/' for directories, a `=' for socket files...
# -D - Print the date of the last modification time...
# --du - For each directory report its size as the accumulation of sizes...
# --dirsfirst - List directories before files...
# --charset - Set the character set to use when outputting...
# --sort - Sort the output by type instead of name...
# --timefmt - Prints... and formats the date according to the format string...
#
tree -xapughFD \
--du --dirsfirst \
--charset='ascii' --sort='size' --timefmt='%Y-%m-%d_%H-%M-%S' -- \
. \
| grep -P '^(?:\|\s{3}|\s{4}){0,1}(?:`|\|)\-\-';
grep
정규식 에서는 {0,1}
(솔직히 와 같은 것 ?
)을 "깊이" 사용할 수 있습니다. 예를 들어 {0,3}
현재 디렉터리와 최대 3개의 디렉터리를 배치합니다.
예
$ cd /usr/share/ffmpeg/; pwd -P;
/usr/share/ffmpeg
$ tree -xahpugFD --du --charset=ascii --dirsfirst --sort=size --timefmt='%Y-%m-%d_%H-%M-%S' -- . | grep -P '^(?:\|\s{3}|\s{4}){0,1}(?:`|\|)\-\-';
|-- [drwxr-xr-x root root 194K 2022-02-01_19-47-55] examples/
| |-- [-rw-r--r-- root root 28K 2019-04-04_10-39-16] transcode_aac.c
| |-- [-rw-r--r-- root root 21K 2019-04-04_10-39-16] muxing.c
| |-- [-rw-r--r-- root root 20K 2019-04-04_10-39-16] transcoding.c
| |-- [-rw-r--r-- root root 19K 2019-04-04_10-39-16] decoding_encoding.c
| |-- [-rw-r--r-- root root 15K 2019-04-04_10-39-16] demuxing_decoding.c
| |-- [-rw-r--r-- root root 14K 2019-04-04_10-39-16] qsvdec.c
| |-- [-rw-r--r-- root root 12K 2019-04-04_10-39-16] filter_audio.c
| |-- [-rw-r--r-- root root 9.9K 2019-04-04_10-39-16] filtering_audio.c
| |-- [-rw-r--r-- root root 9.0K 2019-04-04_10-39-16] filtering_video.c
| |-- [-rw-r--r-- root root 7.8K 2019-04-04_10-39-16] resampling_audio.c
| |-- [-rw-r--r-- root root 5.6K 2019-04-04_10-39-16] extract_mvs.c
| |-- [-rw-r--r-- root root 5.5K 2019-04-04_10-39-16] avio_dir_cmd.c
| |-- [-rw-r--r-- root root 5.5K 2019-04-04_10-39-16] remuxing.c
| |-- [-rw-r--r-- root root 5.1K 2019-04-04_10-39-16] http_multiclient.c
| |-- [-rw-r--r-- root root 4.9K 2019-04-04_10-39-16] scaling_video.c
| |-- [-rw-r--r-- root root 4.0K 2019-04-04_10-39-16] avio_reading.c
| |-- [-rw-r--r-- root root 1.9K 2019-04-04_10-39-16] metadata.c
| |-- [-rw-r--r-- root root 1.7K 2019-04-04_10-39-16] Makefile
| `-- [-rw-r--r-- root root 888 2019-04-04_10-39-16] README
|-- [-rw-r--r-- root root 19K 2019-04-04_10-39-16] ffprobe.xsd
|-- [-rw-r--r-- root root 227 2019-04-04_10-39-16] libvpx-1080p50_60.ffpreset
|-- [-rw-r--r-- root root 227 2019-04-04_10-39-16] libvpx-1080p.ffpreset
|-- [-rw-r--r-- root root 227 2019-04-04_10-39-16] libvpx-720p50_60.ffpreset
|-- [-rw-r--r-- root root 227 2019-04-04_10-39-16] libvpx-720p.ffpreset
`-- [-rw-r--r-- root root 219 2019-04-04_10-39-16] libvpx-360p.ffpreset