
Я пытаюсь получить размер папки пользователя с именем allysek
и использую эту команду du -hLlxcs allysek
. Я знаю, что у меня нет прав доступа к некоторым расположениям.
В итоге я получаю следующий результат:
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-mjyger/PS-NOVA/IMR90.NOMe-seq.bam’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-mfter/PS-NOVA/IMR90.NOMe-seq.bam.bai’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-iuhgi/PS-NOVA/colon.WGBS.bam’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-kh/PS-NOVA/colon.WGBS.bam.bai’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-h/PS-NOVA/dbNOVA_135.hg19.sort.vcf’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-master/PS-NOVA/hg19_rCRSchrm.fa’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-master/PS-plot/DKO1.NOMe-seq.bam’
du: cannot access ‘/export/mite-09/bc/users/allysek/charlet/PS-tools-master/PS-plot/DKO1.NOMe-seq.bam.bai’
896M /export/mite-09/bc/users/allysek
896M total
Итак, мой вопрос: 896M total
включены ли сюда размеры предметов, к которым у меня не было доступа?
решение1
Просто нет. Посмотрите на этот пример
du -shc *
4,0K AUDIO_TS
4,4G VIDEO_TS
4,4G total
chmod 000 * #don't use this in wrong dir!
du -shc *
du: cannot read directory 'VIDEO_TS': Permission denied
du: cannot read directory 'AUDIO_TS': Permission denied
4,0K AUDIO_TS
4,0K VIDEO_TS
8,0K total
решение2
du
это обычная команда, работающая с вашими привилегиями и правами доступа. Так же, как ls
. То, что видите вы, видит и он, поэтому он не может подсчитывать файлы, к которым у вас нет доступа.
Вы можете запретить ему жаловаться на файлы, к которым он не может получить доступ, отменивstderr:
du -hLlxcs allysek 2>/dev/null
решение3
Нет. Сравните вывод
du -shc /
против
sudo du -shc /