то, что я пытаюсь сделать, должно сжать список файлов с помощью tar.
Таким образом, то, что я делаю,
sudo tar -pcf filename.tgz `cat filename.list`
таким образом, если существует каталог в списке как это
/home/vmuser/.gconf
tar сжимает все в той папке. Однако то, что я хочу, должно просто добавить точно независимо от того, что находится в списке.
Если Вы хотите к tar
все файлы, перечисленные в filename.list
, необходимо использовать эти tar -T filename.list
команда, а не tar 'cat filename.list'
.
От tar
страница справочника:
-T, --files-from FILE
get names to extract or create from FILE
Используя -T
будет препятствовать тому, чтобы Вы получили ошибку:
-bash: /bin/tar: Argument list too long
, при попытке сжать большое количество файлов.
<час> для предотвращения рекурсивного сжатия каталогов, используйте эти --no-recursion
флаг, как предложил @Ignacio Vazquez-Abrams. Заключительная команда становится:
tar -pcf filename.tgz -T filename.list --no-recursion
От tar(1)
страница справочника:
--no-recursion
avoid descending automatically in directories