Комментарий о хорошей практике в вашем коде, не связанный с `...`
vs $ (...)
:
В
filename="$(echo "$i" | cut -c5-)"
минимум 4 потенциальных предостережения (незначительные, если нет стимула их использовать):
echo
для произвольных данных, которые вы можете получить (в зависимости от реализации echo
или окружение) проблемы со значениями $ i
, которые начинаются с -
или содержат обратную косую черту. Лучше всего использовать printf
(здесь printf '% s \ n' "$ i"
) при работе с произвольными данными. cut
и большинство утилит фильтрации текста не очень подходят для работы с путями к файлам, потому что они воздействуют на каждую строку своего ввода. Итак, здесь вы берете первые 4 символа из в каждой строке $ i
(новая строка является таким же допустимым символом, как и любой в именах файлов). Лучше всего использовать filename = $ {i # ????}
(хотя вы также можете принять во внимание случаи, когда $ i
содержит менее 4 символов). `...`
или $ (...)
) удаляет каждый завершающий символ новой строки из вывода команды. Поэтому, если $ i
оканчивается символами новой строки, вы пропустите их в $ filename
. $ {i # ????}
также помогает обойти это. cut -c5-
или $ {i # ????}
удаляет 4 символа . Помните, что в некоторых регионах символы могут состоять из нескольких байтов . Вы можете принять это во внимание. (также обратите внимание, что GNU cut
еще не поддерживает многобайтовые символы ( cut -c
то же самое, что cut -b
)). Я догадаю, что вы случайно удалили все свои файлы, или все сами зашифрованные файлы (в .private
, возможно, в одном из шагов «Удалить», как этот:
Обычно Ecryptfs-Vector-Private
»предназначен для того, чтобы помочь ... восстановить данные из зашифрованных домов или зашифрованных частных лиц" папок, так Первый шаг после использования Это было бы резервное копирование всех ваших файлов.
Если у вас нет резервной копии файлов (зашифрованные .Private
папка или фактические файлы), то есть шанс удаленные файлы все еще могут быть восстановлены с помощью утилиты недостаточности ( Как TestDisk
среди прочего, в зависимости от вашей файловой системы).
Если они возмещаются, они все еще должны быть зашифрованы (нет смысла с использованием Ecryptfs, если они не были), но могут быть расшифрованы снова с помощью упакованной фразы
или файлом монтажа (которые ECRYPTFS Советы, чтобы сделать резервную копию после создания зашифрованной папки).