Это вполне возможно, учитывая, что у вас достаточно места для хранения.
Единственные проблемы / проблемы, которые я могу предвидеть, - это «конфиденциальность» вещей, которые у вас там будут.
Наличие all-in dropbox делает возможной атаку «человек посередине», вынюхивая ваши данные из сети во время синхронизации.
Последнее, что вы можете захотеть принять во внимание, - это возможность того, что изменения в файле будут перезаписаны с одного места на другое, если несколько человек будут использовать машины синхронно.
Кроме этого, я не вижу других связанных проблем.
El problema está en cómo xargs
lee la entrada y la pasa al comando.
Podemos ver esto fácilmente conrm -i
$ touch a 'b c' 'd
> e'
$ find -type f | cat
./d
e
./b c
./a
$ find -type f | xargs rm -i
rm: cannot remove './d': No such file or directory
rm: cannot remove 'e': No such file or directory
rm: cannot remove './b': No such file or directory
rm: cannot remove 'c': No such file or directory
rm: remove regular empty file './a'? $
Tenga en cuenta que tratamos de eliminar 5 archivos; ./a
, ./b
, c
, ./d
ye
Entonces, tanto el espacio como la nueva línea en el nombre del archivo hacen que se pasen dos argumentos al comando.
La solución estándar es usar find -print0
yxargs -0
$ find -type f -print0 | xargs -0 rm -i
rm: cannot remove '.': Is a directory
rm: remove regular empty file './d\ne'?
rm: remove regular empty file './b c'?
rm: remove regular empty file './a'? $
Ahora el carácter NUL (que no puede ser parte de un nombre de archivo )se usa como separador y el espacio en blanco no es significativo.
Другая половина вопроса заключается в том, что с этим делать. Ответом на это является использование разделителя \0
вместо разделителя пробелов(-0
в недопустимом имени файла -, это единственный символ, который не разрешен. /
является частью имени файла, но имеет особое назначение ).
Для этого измените код следующим образом.
find … -print0 | xargs -0 …