
Я немного новичок в Linux, но я пытаюсь восстановить некоторые файлы для одного из наших клиентов со старого ленточного накопителя. Они попросили, чтобы мы вытащили файлы сырыми блоками данных по 1024k. Команда, которую я использую для этого, следующая:
sudo dd /dev/nst0 of=FILE01 bs=1024k
Это работает просто отлично, однако мне приходится вручную менять имя файла для каждого сгенерированного файла, и я уверен, что есть лучший способ сделать это. В идеале я бы также хотел использовать команду «sleep» или что-то подобное, чтобы мне не приходилось сидеть и нажимать Enter каждые несколько секунд.
Спасибо большое, ребята!!
решение1
Используйте цикл:
i=01
while sudo dd if=/dev/nst0 of="FILE$i" bs=1024k count=1 # loop till `dd` errors out
do
i=$(printf "%02d" $((i+1))) # 0-padded 2-digit number
done
решение2
Одним из примеров решения будет использование for
цикла и seq
команды, подобных этой:
for i in `seq -f "%02g" 1 99`
do
sudo dd if=/dev/nst0 of="FILE$i" bs=1024k count=1
done