Я просматривал свою систему с помощью du -sch ./*, чтобы найти большие бесполезные файлы, которые, возможно, были накоплены без причины, когда я нашел это:
$ du -sch ./*
du: cannot read directory ‘./drbunsen/.gvfs’: Permission denied
du: cannot read directory ‘./drbunsen/.cache/dconf’: Permission denied
18G ./drbunsen
18G total
$ cd drbunsen/
$ du -sch ./*
601M ./Desktop
20K ./Documents
598M ./Downloads
4.0K ./flash
4.0K ./Music
8.0M ./Pictures
4.0K ./Public
4.0K ./Templates
4.0K ./Ubuntu One
8.0K ./Videos
11G ./VirtualBox VMs
6.9M ./workspace
12G total
Как сделать скрытые файлы видимыми? du -sch ./.* дает тот же результат, что и du -sch ./*.
У меня такой же вопрос в списке рассылки coreutils, потому что мне было сложно запомнить эту странную команду @ don.joey. И Bob Proulx предложил более естественную команду: du -ahd1 | sort -h
Если вы хотите перечислить все файлы в текущем каталоге, используйте либо «.». или вообще не дают никаких аргументов файла. Также вы можете использовать параметр -d, --max-depth = N. Попробуйте следующее: du -hd1Когда вы запускаете ту же самую команду внутри каталога, она не включает скрытые файлы, начинающиеся с . в счете. Если вы, например, установили Steam, по умолчанию устанавливаете игры под ~/.local/share/Steam/, и он сам также устанавливается там.
В bash вам, по-видимому, нужно запустить du -sch .[!.]* *, поскольку он неправильно расширяет .* glob. В разделе zsh или других оболочках du -sch * .* должен работать, поскольку .* следует развернуть, чтобы включить список всех скрытых файлов в текущий каталог.