Почему это не показывает скрытые файлы / папки?

Я просматривал свою систему с помощью 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 ./*.

144
задан 19 October 2015 в 12:00

3 ответа

У меня такой же вопрос в списке рассылки coreutils, потому что мне было трудно запомнить эту странную команду от @ don.joey. И Боб Прулкс предложил лучшую, более естественную команду: du -ahd1 | sort -h

Если вы хотите вывести список всех файлов в текущем каталоге, тогда либо используйте «. или не давать ему никаких аргументов файла вообще. Также вы можете использовать опцию -d, --max-deep = N.

Попробуйте это:

du -hd1

0
ответ дан 19 October 2015 в 12:00

Используйте

du -sch .[!.]* * |sort -h

в вашей домашней папке.

В качестве альтернативы наиболее часто используемой мной командой является

ncdu

. Простота установки при необходимости:

sudo apt-get install ncdu
.
0
ответ дан 19 October 2015 в 12:00

Когда вы запускаете ту же команду внутри каталога, она не включает скрытые файлы, которые начинаются с . в счетчике. Например, если у вас установлен Steam, он по умолчанию устанавливает игры в ~/.local/share/Steam/, а также сам там устанавливается.

Под bash вам, очевидно, нужно запустить du -sch .[!.]* *, так как он неправильно расширяет шар .*. Под zsh или другими оболочками должно работать du -sch * .*, поскольку .* должно быть расширено, чтобы включить список всех скрытых файлов в текущем каталоге.

0
ответ дан 19 October 2015 в 12:00

Другие вопросы по тегам:

Похожие вопросы: