Jest to prawdopodobnie coś podstawowego, ale nie jestem w stanie sprawić, by działało. Próbuję użyć DU, aby uzyskać całkowity rozmiar plików minus niektóre katalogi. Muszę wykluczyć jeden konkretny katalog o nazwie, uploads
ale nie każdy katalog o nazwie uploads
. Na przykład moja struktura plików wygląda trochę tak:
/store
/uploads
/junk_to_ignore
/more_junk_to_ignore
/user_one
/uploads
/user_two
Mogę uruchomić następujące polecenie:
du -ch --exclude=uploads*
i daje mi rozmiar pliku minus wszystkie katalogi „upload”. Jednak próbując wykluczyć niektóre katalogi (i wszystkie jego podkatalogi) nie udaje mi się. Próbowałem odmian:
du -ch --exclude=./uploads*
du -ch --exclude='/full/path/to/uploads/*'
ale nie mogę tego rozgryźć. Jak wykluczyć określony katalog?
command-line
disk-usage
Będzie
źródło
źródło
username: store$ du -ch --exclude=./uploads
pracował dla mnie (z i bez symbolu wieloznacznego) z katalogu sklepu. Czy uruchamiasz dokładnie to polecenie z poziomu folderu sklepu? I musi to być ścieżka względna (która znajduje widzi / wydruki), a nie absolutna.Odpowiedzi:
Prawie go znalazłeś :)
Zauważ, że na końcu nie ma gwiazdki. Gwiazdka oznacza, że wszystkie podkatalogi w „upload” powinny zostać pominięte - ale nie pliki bezpośrednio w tym katalogu.
źródło
du -sb --exclude=./relative/path/to/uploads
) nie działa dla mnie. To robi:du -sb --exclude relative/path/to/uploads
du
. Mój (OSX) nawet nie ma--exclude
, zamiast tego musi-I mask
„Ignorować pliki i katalogi pasujące do określonej maski”. W swoim roboczym przykładzie pomijasz również=
, co sprawia, że dalej myślę, że to tylko twoja wersjadu
bycia niecodu
różnym.Aby wykluczyć wiele katalogów, ponownie przekaż flagę --exclude.
źródło
du -ch --exclude={relative/path/to/uploads,other/path/to/exclude}
wspaniale jest pominąć wirtualne systemy plików
źródło
Jeśli musisz mieć system macOS, instalujesz GNU Coreutils za pomocą następującego polecenia.
Większość poleceń zainstalowanych przez Coreutils ma prefiks
g
, ponieważ mają one wstępnie zainstalowany w systemie macOS imiennik BSD. Następnie możesz wykonać następujące czynności.źródło