Как получить размер папки, игнорирующий жесткие ссылки?

Если Вы - счастливая работа через учебные руководства онлайн, я был бы рассмотрение reccomend библиотеки документации Linode. У Вас не должно быть сервера Linode для использования их статей, и они покрывают широкий спектр предметов.

http://library.linode.com/

Если Вы жаждете некоторую структуру на свой процесс обучения затем, я предлагаю, чтобы Вы использовали цели экзамена RHCSA указать на Вас в правильном направлении. Даже мысль, цели экзамена фокусируются на системах Red Hat, они полезны для предоставления Вам общее представление о том, что необходимо изучить. Это не сфокусируется на специфических особенностях веб-сервера, но это затронет некоторые очень полезные темы.

http://www.redhat.com/training/courses/ex200/examobjective

17
05.03.2014, 11:40
5 ответов
[1122158] Общий размер в байтах всех файлов в [1122526]почасовой форме2. [1122527], которые имеют только одну ссылку:[12149]Из [1122528] найти[1122529] man-страницу:[12150]Чтобы получить сумму в килобайтах вместо байтов, используйте [1122530]-printf "%k\n"[12151]Чтобы перечислить файлы с разным количеством ссылок, поиграйте с [1122532]find -links +1[1122533] (более одной ссылки), [1122534]find -links -5[1122535] (менее пяти ссылок) и так далее. [1122165]
7
27.01.2020, 19:46
[1120442]Удивительные сборки BusyBox из [1120763] find[1120764] поставляются без поддержки [1120765]-printf[1120766]. Вот модификация ответа [1120767]@grebneke[1120768]:

1
27.01.2020, 19:46

Если вам конкретно нужен размер файлов, которые присутствуют в ежечасно2 , но не меньше ежечасно1 , вы можете получить его немного косвенно с помощью du . Если du обрабатывает один и тот же файл более одного раза (даже под разными именами, то есть с жесткими ссылками), он учитывает файл только в первый раз. Итак, что du ежечасно.1 ежечасно.2 сообщает для ежечасно2 - это размер, который вы ищете. Таким образом:

du -ks hourly.1 hourly.2 | sed -n '2s/[^0-9]*//p'

(Работает в любой системе POSIX и большинстве других вариантов Unix. Предполагается, что имя каталога ежечасно.1 не содержит новой строки.)

11
27.01.2020, 19:46

Как говорит @Gilles, поскольку du du считает только первым из всех жестких колев, указывающих на тот же инодовый, который он встречается, вы можете дать ей каталоги подряд:

$ du -hc --max-depth=0 dirA dirB
29G /hourly.1
 1G /hourly.2
30G total

I.E. Любой файл в «Hourly.2» ссылки на INODE (AKA «REAL» файл) уже упоминается в «Hourly.1», не будет учитываться.

9
27.01.2020, 19:46

Более простой

du -hc --max-depth=1 path/

Пример

9.4G    daily/users/rockspa/home/daily.21
3.6G    daily/users/rockspa/home/daily.30
4.2G    daily/users/rockspa/home/daily.11
1.1G    daily/users/rockspa/home/daily.4
4.2G    daily/users/rockspa/home/daily.9
3.0G    daily/users/rockspa/home/daily.25
3.5G    daily/users/rockspa/home/daily.20
4.2G    daily/users/rockspa/home/daily.13
913M    daily/users/rockspa/home/daily.5
2.8G    daily/users/rockspa/home/daily.26
1.4G    daily/users/rockspa/home/daily.1
2.6G    daily/users/rockspa/home/daily.28
4.2G    daily/users/rockspa/home/daily.15
3.8G    daily/users/rockspa/home/daily.19
327M    daily/users/rockspa/home/daily.8
4.2G    daily/users/rockspa/home/daily.17
3.1G    daily/users/rockspa/home/daily.23
...
4
27.01.2020, 19:46

Теги

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