LINUX.ORG.RU

У find нужный ключик есть вроде как. Что-то типа du $(find -l1 $dir)

pinus_nigra
()

да он вроде и так не считает

[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 ★★★★
()
Последнее исправление: sparks (всего исправлений: 1)
Ответ на: комментарий от sparks

он не считает, когда они внутри этой директории. мне же надо не считать их вообще - нет их и всё.

buratino ★★★★★
() автор топика
Ответ на: комментарий от sparks

ага, понял

[sparks@bastet tmp]$ du -ms ./dir2
1	./dir2

он не повторяется, если inod уже посчитан

sparks ★★★★
()
Ответ на: комментарий от buratino

Да, тогда find, у него есть опция

       -links n
              File has n hard links.
sparks ★★★★
()
Ответ на: комментарий от buratino
[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 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.