Форум — General как заставить du вообще не считать хардлинки du 0 1 сабж? то есть, все файлы, где count > 1, вообще не считать?ну или как быстро глянуть размер каталога без хардлинков? Ссылка
У find нужный ключик есть вроде как. Что-то типа du $(find -l1 $dir) pinus_nigra ★ (28.09.20 12:18:16 MSK) Ссылка
да он вроде и так не считает [sparks@bastet tmp]$ du -ms ./file ./link1 ./link2 1 ./file [sparks@bastet tmp]$ dd if=/dev/zero of=./file2 bs=1M count=1 1+0 records in 1+0 records out 1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.000546496 s, 1.9 GB/s [sparks@bastet tmp]$ du -ms ./file ./link1 ./link2 ./file2 1 ./file 1 ./file2 [sparks@bastet tmp]$ ls -ali ./file ./link1 ./link2 ./file2 1849924 -rw-rw-r--. 3 sparks sparks 1048576 Sep 28 16:10 ./file 1825442 -rw-rw-r--. 1 sparks sparks 1048576 Sep 28 16:10 ./file2 1849924 -rw-rw-r--. 3 sparks sparks 1048576 Sep 28 16:10 ./link1 1849924 -rw-rw-r--. 3 sparks sparks 1048576 Sep 28 16:10 ./link2 sparks ★★★★ (28.09.20 17:11:12 MSK) Последнее исправление: sparks 28.09.20 17:12:17 MSK (всего исправлений: 1) Показать ответ Ссылка
Ответ на: комментарий от sparks 28.09.20 17:11:12 MSK он не считает, когда они внутри этой директории. мне же надо не считать их вообще - нет их и всё. buratino ★★★★★ (28.09.20 17:12:19 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от buratino 28.09.20 17:12:19 MSK [sparks@bastet tmp]$ du -ms ./dir1 ./dir2 2 ./dir1 0 ./dir2 [sparks@bastet tmp]$ ls ./dir1 file file2 [sparks@bastet tmp]$ ls ./dir2 link1 link2 Покажи пример, я не понимаю sparks ★★★★ (28.09.20 17:14:38 MSK) Последнее исправление: sparks 28.09.20 17:14:55 MSK (всего исправлений: 1) Показать ответы Ссылка
Ответ на: комментарий от sparks 28.09.20 17:14:38 MSK ага, понял [sparks@bastet tmp]$ du -ms ./dir2 1 ./dir2 он не повторяется, если inod уже посчитан sparks ★★★★ (28.09.20 17:18:14 MSK) Ссылка
Ответ на: комментарий от buratino 28.09.20 17:12:19 MSK Да, тогда find, у него есть опция -links n File has n hard links. sparks ★★★★ (28.09.20 17:27:19 MSK) Ссылка
Ответ на: комментарий от sparks 28.09.20 17:14:38 MSK mkdir /v1 /v2create-super-file > /v1/fileln /v1/file /v2/fileи тут du -h /v1 должен показать 0 buratino ★★★★★ (28.09.20 17:58:45 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от buratino 28.09.20 17:58:45 MSK [sparks@bastet tmp]$ du -ms "$(find ./dir1 -type f -links 1)" 1 ./dir1/file2 [sparks@bastet tmp]$ ls -al ./dir1 total 2048 drwxrwxr-x. 2 sparks sparks 80 Sep 28 20:04 . drwxrwxrwt. 25 root root 680 Sep 28 20:04 .. -rw-rw-r--. 3 sparks sparks 1048576 Sep 28 16:10 file -rw-rw-r--. 1 sparks sparks 1048576 Sep 28 20:04 file2 sparks ★★★★ (28.09.20 21:04:39 MSK) Ссылка