Проверьте, был ли диск Обнулен с xxd и uniq?

Скопировать все содержание/dev/sda1 к резервной папке на/dev/sdb1:

mkdir /dev/sdb1/backup
cp -avr /dev/sda1/* /dev/sdb1/backup

Желание рекурсивно (-r) копирует все на sda1, пытается сохранить владение/полномочия в режиме 'архива' (-a) и дать Вам немного подробные (-v) вывод так, чтобы Вы не сидели, смотря на подсказку, делающую ничто в течение длительного периода, задающегося вопросом, работает ли это все еще.

Повторитесь для материала на/dev/sdc1

Я позволю кому-то еще сделать присвоение буквы диска - я не большая часть пользователя Windows.

2
18.04.2014, 15:12
3 ответа

Простое использование od или hexdump должно подойти, поскольку эти программы избегают вывода повторяющихся строк (или используйте xxd -a , как указано выше). Например:

$ truncate -s 1M test
$ hexdump test
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0100000
$ od test
0000000 000000 000000 000000 000000 000000 000000 000000 000000
*
4000000

Если диск обнулен, то вывод не будет сильно отличаться от этого, за исключением того, что конечный адрес будет намного больше. Если вы видите другие данные, вы можете просто нажать Crtl - C .

Чтобы избежать продолжения после обнаружения ненулевых данных и заполнения терминала, вы можете сделать что-то вроде этого (в bash ):

count=0
stdbuf -oL od /dev/sdb |
  while read line; do
    echo "$line"
    (( ++count > 3 )) && break
  done

Это напечатает не более 4 строк вывода, по которому вы можете определить, обнулен привод или нет.

Top сделал это грязно с помощью sort, вы могли бы сделать sudo xxd / dev / sdb | sort -u . Добавление параметра -u для сортировки эквивалентно выполнению sort | uniq .

1
27.01.2020, 22:13

xxd не кажется мне правильным молотком для этого винта. Вы можете запустить tr , чтобы удалить нулевые байты и посмотреть, осталось ли что-нибудь:

[ -n "$(</dev/sdb tr -dc '\0' | head -c 1)" ]

Вы также можете использовать od , который сворачивает строки, заполненные нулями:

[ "$(od -tx1 -An -w1 | head -n 2 | tr -d ' \n')" = "00*" ]
1
27.01.2020, 22:13

Я думаю, эта команда вам поможет

xxd /dev/sdb | grep -v '0000 0000 0000 0000 0000 0000 0000 0000'

Если привод был обнулен, эта команда не возвращает никакого вывода. Если на нем остались какие-либо байты, команда будет рада вывести их на экран

Спасибо

0
27.01.2020, 22:13

Теги

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