* [Comm] Re: [sisyphus] Re: du ошибается...
@ 2002-12-17 8:15 ` Dmitry V. Levin
2002-12-17 13:49 ` [Comm] " Alexey Tourbin
0 siblings, 1 reply; 6+ messages in thread
From: Dmitry V. Levin @ 2002-12-17 8:15 UTC (permalink / raw)
To: ALT Linux general discussion list; +Cc: ALT Linux Sisyphus mailing list
[-- Attachment #1.1: Type: text/plain, Size: 483 bytes --]
On Tue, Dec 17, 2002 at 07:53:22AM +0500, Alexander Kirey wrote:
> >du означает disk usage, а вы хотите с помощью его посчитать суммарный
> >размер файлов? Он вам и показывает disk usage.
> >
> Да-с, и как это я... Но разница почти в 100 мегабайт...
Вот вам пример в числах:
1. Скомпилируйте lseek.c (attached),
2. Запустите
$ ./lseek 0x400000000 ~/tmp/empty
3. Сравните вывод от
$ ls -lh ~/tmp/empty
и
$ du -h ~/tmp/empty
P.S. Этот предмет - для community@.
--
ldv
[-- Attachment #1.2: lseek.c --]
[-- Type: text/plain, Size: 655 bytes --]
#include <errno.h>
#include <error.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
int main (int ac, char *const *av)
{
const char *fname;
int fd;
off_t offset;
if (ac != 3)
error (1, 0, "usage: offset fname");
offset = strtoull (av[1], 0, 0);
fname = av[2];
fd = open (fname, O_CREAT | O_EXCL | O_WRONLY, 0600);
if (fd < 0)
error (1, errno, "open: %s", fname);
if (lseek (fd, offset - 1, SEEK_SET) == (off_t)-1)
error (1, errno, "lseek: %#llx", (unsigned long long) offset);
if (write (fd, "", 1) < 0)
error (1, errno, "write: %s", fname);
if (close (fd) < 0)
error (1, errno, "close: %s", fname);
return 0;
}
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Comm] Re: du ошибается...
2002-12-17 8:15 ` [Comm] Re: [sisyphus] Re: du ошибается Dmitry V. Levin
@ 2002-12-17 13:49 ` Alexey Tourbin
2002-12-17 18:11 ` [Comm] " ASA
2002-12-18 11:27 ` Alexander Kirey
0 siblings, 2 replies; 6+ messages in thread
From: Alexey Tourbin @ 2002-12-17 13:49 UTC (permalink / raw)
To: ALT Linux general discussion list
[-- Attachment #1: Type: text/plain, Size: 598 bytes --]
On Tue, Dec 17, 2002 at 11:15:14AM +0300, Dmitry V. Levin wrote:
> Вот вам пример в числах:
>
> 1. Скомпилируйте lseek.c (attached),
> 2. Запустите
> $ ./lseek 0x400000000 ~/tmp/empty
> 3. Сравните вывод от
> $ ls -lh ~/tmp/empty
> и
> $ du -h ~/tmp/empty
Идея понятна, только программа не работает. :(
$ gcc lseek.c -o lseek
$ ./lseek 0x400000000 ~/tmp/empty
./lseek: lseek: 0: Invalid argument
$
> P.S. Этот предмет - для community@.
--
WBR, Alexey Tourbin "He is a sane man who can have tragedy
BIOZAK Ltd., Russia in his heart and comedy in his head."
--G.K.Chesterton
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Comm] Re: [Comm] Re: du ошибается...
2002-12-17 13:49 ` [Comm] " Alexey Tourbin
@ 2002-12-17 18:11 ` ASA
2002-12-17 20:01 ` Vitaly Lipatov
2002-12-18 11:27 ` Alexander Kirey
1 sibling, 1 reply; 6+ messages in thread
From: ASA @ 2002-12-17 18:11 UTC (permalink / raw)
To: Alexey Tourbin
Hello Alexey,
Tuesday, December 17, 2002, 5:49:09 PM, you wrote:
>> 2. Запустите
>> $ ./lseek 0x400000000 ~/tmp/empty
>> 3. Сравните вывод от
>> $ ls -lh ~/tmp/empty
>> и
>> $ du -h ~/tmp/empty
AT> Идея понятна, только программа не работает. :(
....
Ни к чему все эти программы, шелла хватит.
dd if=/dev/zero of=/tmp/empty bs=1 count=1 seek=1000000000
(только с числом нулей не переборщите)
--
Best regards,
ASA mailto:llb@udm.ru
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Re: [Comm] Re: du ошибается...
2002-12-17 18:11 ` [Comm] " ASA
@ 2002-12-17 20:01 ` Vitaly Lipatov
2002-12-17 20:12 ` Michael Shigorin
0 siblings, 1 reply; 6+ messages in thread
From: Vitaly Lipatov @ 2002-12-17 20:01 UTC (permalink / raw)
To: community
On Вторник 17 Декабрь 2002 21:11, ASA wrote:
> Hello Alexey,
>
> Tuesday, December 17, 2002, 5:49:09 PM, you wrote:
> >> 2. Запустите
> >> $ ./lseek 0x400000000 ~/tmp/empty
> >> 3. Сравните вывод от
> >> $ ls -lh ~/tmp/empty
> >> и
> >> $ du -h ~/tmp/empty
>
> AT> Идея понятна, только программа не работает. :(
> ....
>
> Ни к чему все эти программы, шелла хватит.
>
> dd if=/dev/zero of=/tmp/empty bs=1 count=1 seek=1000000000
>
> (только с числом нулей не переборщите)
Ваш пример физически запишет на диск столько нулей, а lseek -
только файл создаст такого размера, не выделяя под него иноды
(или что там). Вроде так?
--
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! LaTeX! LyX!
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Comm] Re: du ошибается...
2002-12-17 20:01 ` Vitaly Lipatov
@ 2002-12-17 20:12 ` Michael Shigorin
0 siblings, 0 replies; 6+ messages in thread
From: Michael Shigorin @ 2002-12-17 20:12 UTC (permalink / raw)
To: community
On Tue, Dec 17, 2002 at 11:01:23PM +0300, Vitaly Lipatov wrote:
> > dd if=/dev/zero of=/tmp/empty bs=1 count=1 seek=1000000000
> Ваш пример физически запишет на диск столько нулей
man dd :)
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Re: du ошибается...
2002-12-17 13:49 ` [Comm] " Alexey Tourbin
2002-12-17 18:11 ` [Comm] " ASA
@ 2002-12-18 11:27 ` Alexander Kirey
1 sibling, 0 replies; 6+ messages in thread
From: Alexander Kirey @ 2002-12-18 11:27 UTC (permalink / raw)
To: community
Alexey Tourbin пишет:
>On Tue, Dec 17, 2002 at 11:15:14AM +0300, Dmitry V. Levin wrote:
>
>
>>Вот вам пример в числах:
>>
>>1. Скомпилируйте lseek.c (attached),
>>2. Запустите
>> $ ./lseek 0x400000000 ~/tmp/empty
>>3. Сравните вывод от
>> $ ls -lh ~/tmp/empty
>> и
>> $ du -h ~/tmp/empty
>>
>>
>
>Идея понятна, только программа не работает. :(
>
>
Sorry, не смог сразу ответить...
Да, идея понятна, хотя результат не очень :(
У меня в этом году после установки Linux уже крышу сорвало
от нахлынувшей информации :)
Что касается того, как я использовал du в примере, когда создал тред, то
разобрался: du -a, просетлило по поводу содержимого...
В примере "lseek.c" изменил строчку:
offset = strtoull (av[1], 0, 0)
на
offset = 100000000;
$ gcc lseek.c -o lseek
>$ ./lseek 0x400000000 ~/tmp/empty
>./lseek: lseek: 0: Invalid argument
>$
>
>
>
Как просил Dmitry V. Levin:
$ ls -lh ~/tmp/empty
-rw------- 1 test test 95M Дек 17 14:47 /home/test/tmp/empty
$ du -h ~/tmp/empty
12K /home/test/tmp/empty
$
--
Александр Кирей
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2002-12-18 11:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-17 8:15 ` [Comm] Re: [sisyphus] Re: du ошибается Dmitry V. Levin
2002-12-17 13:49 ` [Comm] " Alexey Tourbin
2002-12-17 18:11 ` [Comm] " ASA
2002-12-17 20:01 ` Vitaly Lipatov
2002-12-17 20:12 ` Michael Shigorin
2002-12-18 11:27 ` Alexander Kirey
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git