Простым подходом будет присвоение результата переменной, а затем работа с этой переменной. Example:
for filename in images/*
do
echo "filename is now $filename"
filename=${filename/jpg/png}; echo "filename is now $filename"
filename=${filename/file/image}; echo "filename is now $filename"
echo "final filename is ${filename}"
done
Попробуйте использовать инструмент (Безопасное заполнение )в безопасном удалении.
sudo apt-get install secure-delete
(изhttps://superuser.com/questions/19326/how-to-wipe-free-disk-space-in-linux)
Здесь может быть несколько недоразумений, поэтому команда не делает того, что вы, возможно, ожидаете.
sudo
является лишним, так как вам не нужно sudo
для чтения из /dev/urandom
. Часть > some-file
является перенаправлением оболочки и, таким образом, вообще не охватывается sudo
. Так что ваш sudo
супер неэффективен.(Примечание:в этом конкретном случае sudo
может работать как задумано независимо, см. комментарии. Однако отказ от использования sudo
таким образом является шаблоном, так как в других случаях он укусит вас.)
Затем вы записываете в обычный файл. Это заполняет свободное пространство -файловой системы, в которой находится файл. Если у вас есть несколько файловых систем (, одна для /
, одна для /home
, загрузочные разделы и разделы подкачки и т. д. ), они также не затронуты.
В лучшем случае это перезаписывает только свободное пространство . Нет никакой гарантии, что он покроет все (, зависящее от внутреннего устройства файловой системы, корневого резерва, журнала, упакованного/зарезервированного и т.д. секторов ), и он не перезаписывает файлы, которые все еще находятся там регулярно (, и они могут включать файлы, спрятанные в папках корзины / эскизов / кеша или просто в каком-то подкаталоге, о котором вы забыли ).
Все они все равно будут подхвачены photorec
, так как они никогда не перезаписываются.
Кроме того, запись этого файла должна быть завершена в первую очередь. Таким образом, вместо того, чтобы удалять его сразу после этого, вы должны сначала sync
убедиться, что все эти случайные данные действительно попали на диск, а не только какой-то буфер записи в ОЗУ, который никогда не будет записан.
Таким образом, с этим методом нет никакой гарантии ни на что. В то же время это опасно, так как в файловой системе закончится свободное место,что, в свою очередь, может вызвать сбои записи для всех других программ и, таким образом, привести к непреднамеренной потере данных.
Я думаю, что есть только один способ перезаписать все места, где могут остаться «удаленные» данные.
Сделайте резервную копию вашей системы (полную резервную копию ). Один из вариантов — создать клонированный образ с помощью Clonezilla.
Очистить весь диск (при условии, что один диск ). Для жесткого диска или твердотельного накопителя существуют специальные инструменты/методы, которые работают на низком уровне (и изменяют сопоставление между логическими и физическими ячейками памяти ), и они намного быстрее, чем, например, dd
перезаписать нулями.Вы часто можете получить доступ к таким инструментам (, встроенным -в приводы )через hdparm
.
Сделайте новую установку и передайте компьютер молодому и -подкованному в Linux племяннику.
Но если вы можете себе это позволить, отключите внутренний диск и замените его новым диском. Пусть ваш племянник установит свой любимый дистрибутив Linux:-)