일부 옵션을 사용할 수 없는 이유

일부 옵션을 사용할 수 없는 이유

저는 Synology NAS(BusyBox 실행)에서 bash를 사용하고 있습니다. 최근에 운영 체제를 다시 설치해야 했습니다. 이제 du를 사용하여 폴더 크기가 포함된 파일을 생성하는 스크립트는 실패합니다. du에는 이제 옵션이 더 적기 때문입니다. 즉

du -hc --max-depth=1 --exclude=deleted --exclude=README.txt --exclude=#recycle /path/to/event_media/* >> /path/to/media_files_list.txt

나에게주세요:

du: unrecognized option '--max-depth=1'

그래서 내가 언제...

du --help

알겠어요..

BusyBox v1.16.1 (2014-05-29 11:29:56 CST) multi-call binary.

Usage: du [-aHLdclsxhmk] [FILE]...

Summarize disk space used for each FILE and/or directory.
Disk space is printed in units of 1024 bytes.


Options:

    -a      Show file sizes too
    -L      Follow all symlinks
    -H      Follow symlinks on command line
    -d N    Limit output to directories (and files with -a) of depth < N
    -c      Show grand total
    -l      Count sizes many times if hard linked
    -s      Display only a total for each argument
    -x      Skip directories on different filesystems
    -h      Sizes in human readable format (e.g., 1K 243M 2G )
    -m      Sizes in megabytes
    -k      Sizes in kilobytes (default)

옵션 세트가 축소되었습니다.

변경된 내용과 최대 깊이 및 제외와 같은 전체 옵션 세트에 다시 액세스하기 위해 설정하는 방법을 이해하도록 도와줄 수 있는 사람이 있습니까?

답변1

사용하려는 옵션이 있습니다.암소 비슷한 일종의 영양버전 du(부터핵심 도구패키지), 이는 임베디드 Linux 시스템이 아닌 시스템에서 찾을 수 있습니다. 귀하의 NAS는 다음을 제공합니다.바쁜 상자버전은 일반적으로 임베디드 시스템에서 볼 수 있는 버전입니다. BusyBox 유틸리티는 더 작지만(디스크 공간, RAM이 적음) 기능이 더 적습니다.

GNU coreutils를 설치하거나 시스템에서 사용할 수 있는 스크립트를 조정해야 합니다. Google 검색에서는 GNU coreutils를 설치할 수 있다고 제안했습니다.ipkg를 통해.

답변2

나는 단지 이 시점에서 가장 중요한 대답이 더 명확해지기를 원할 뿐입니다.

busybox 에서는 계속 max-depth=#사용할 수 있지만 du다음으로 변경하세요.

du --max-depth=#
# Becomes
du -d #

제외 폴더의 경우 매개변수가 없을 수 있지만 원하는 폴더만 선택할 수 있습니다.

du --exclude folder3
# Becomes
du folder1 folder2 folder4

관련 정보