The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"как заполнить существующий файл нулями?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Система)
Изначальное сообщение [ Отслеживать ]

"как заполнить существующий файл нулями?"  +/
Сообщение от Сергей email(??) on 16-Авг-12, 14:06 
есть файл file.avi 10GB
надо заполнить место, занимаемое им, нулями.
единственное, что приходит в голову, использовать dd с чтением из /dev/zero и записью в этот файл. но можно ли быть уверенным, что писать будет в те же сектора на жестком диске или файл сократится до 0 байт и, когда пойдет запись в него, будет сделано новое выделение места?

буду благодарен за любую идею

спасибо :)

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "как заполнить существующий файл нулями?"  +/
Сообщение от wiseman (ok) on 16-Авг-12, 14:15 
> есть файл file.avi 10GB
> надо заполнить место, занимаемое им, нулями.
> единственное, что приходит в голову, использовать dd с чтением из /dev/zero и
> записью в этот файл. но можно ли быть уверенным, что писать
> будет в те же сектора на жестком диске или файл сократится
> до 0 байт и, когда пойдет запись в него, будет сделано
> новое выделение места?

Нельзя быть уверенным
> буду благодарен за любую идею

rm -P, а потом dd
> спасибо :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "как заполнить существующий файл нулями?"  +/
Сообщение от Сергей email(??) on 21-Авг-12, 10:22 
> rm -P, а потом dd

мне бы только заполнить файл нулями, удалять нельзя. а если пересоздавать заново, то надо заранее озаботиться о сохранении всех прав (ntfs). тоже не знаю, как это сделать.
вообщем, вариант, в принципе, вполне рабочий, можно осилить, только лишние операции будут, а если учесть, что там много гигабайт, то это затянется. поэтому и хотелось просто "пробежаться" по файлу нулями и все.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "как заполнить существующий файл нулями?"  +/
Сообщение от Сергей email(??) on 21-Авг-12, 10:24 
> rm -P, а потом dd

гм, кстати, у меня в rm нет такого ключа (-P). однако :( (Slackware)
сначала в нете почитал про этот ключ, а только потом попробовал у себя.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "как заполнить существующий файл нулями?"  +/
Сообщение от aurved on 23-Авг-12, 12:48 
это из FreeBSD

-P          Overwrite regular files before deleting them.  Files are
            overwritten three times, first with the byte pattern 0xff,
            then 0x00, and then 0xff again, before they are deleted.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

2. "как заполнить существующий файл нулями?"  +/
Сообщение от aurved on 16-Авг-12, 16:26 
ну или shred
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "как заполнить существующий файл нулями?"  +/
Сообщение от shredder on 16-Авг-12, 16:54 
> ну или shred

dd if=/dev/zero of=/fail bs=1M count=500
ты это имел ввиду?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "как заполнить существующий файл нулями?"  +/
Сообщение от And (??) on 16-Авг-12, 21:39 
>> ну или shred
> dd if=/dev/zero of=/fail bs=1M count=500
> ты это имел ввиду?

Надо полагать он имел в виду shred. Или wipe c параметром -R и др. Типа такого.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Заполняю файл _случайными_ нулями!"  +/
Сообщение от Andrey Mitrofanov on 17-Авг-12, 11:13 
>>> ну или shred
>> dd if=/dev/zero of=/fail bs=1M count=500
>> ты это имел ввиду?
> Надо полагать он имел в виду shred. Или wipe c параметром -R
> и др. Типа такого.

Нет-нет! Только dd, только харджор!


$ ./skhred
-rw-r--r-- 1 one one 6 Авг 17 11:10 file
0000000 31 0a 32 0a 33 0a
0000000 31 0a 00 0a 33 0a
0000000 31 00 00 0a 33 0a
0000000 31 00 00 0a 00 0a
0000000 31 00 00 00 00 0a
0000000 31 00 00 00 00 00
0000000 00 00 00 00 00 00
-rw-r--r-- 1 one one 6 Авг 17 11:10 file
$ ls -l skhred
-rwxr--r-- 1 one one 270 Авг 17 11:10 skhred
$ cat -n skhred
     1  #!/bin/bash
     2  
     3  FILE=file
     4  
     5  seq 1 3 >$FILE
     6  dmp() { od -t x1 $FILE |head -1; }
     7  nol() { dd if=/dev/zero count=1 bs=1 seek=$1 conv=notrunc of=$FILE 2>/dev/null; }
     8  
     9  ls -l $FILE
    10  dmp
    11  for byte in $(seq 0 $(( $(stat -c %s $FILE) -1 )) | shuf); do
    12    nol $byte
    13    dmp
    14  done
    15  ls -l $FILE
$ _

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "как заполнить существующий файл нулями?"  +/
Сообщение от Сергей email(??) on 21-Авг-12, 10:28 
> ну или shred

да! точно! благодарю!
в итоге:
shred --random-source=/dev/zero -n1 file.avi

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру