Если Вы хотите каталог в Вашем PATH
для всех сессий Вы могли добавить его к /etc/environment
. Будьте осторожны, если Вы делаете это, хотя - если Вы завинчиваете PATH
в /etc/environment
существует шанс, что Ваша система не будет больше загружаться.
Используйте параметр -T
:
-T, --files-from FILE
get names to extract or create from FILE
Обратите внимание, что он не работает с ~
в качестве псевдонима для домашнего каталога, вам необходимо указать папку явно.
Сначала вам нужно заменить этот ~
своим домашним каталогом. Предположим, что ваш домашний каталог не содержит :
(обычно они этого не содержат, иначе на них нельзя было бы ссылаться в / etc / passwd
):
(cd / &&
sed "s:^~:$HOME:" | pax -w | gzip) < file.list > file.tar.gz
Или если ваш tar
- это файл из GNU или bsdtar
:
(cd / &&
sed "s:^~:$HOME:" | tar -T - -zcf -) < file.list > file.tar.gz
Некоторые другие tar
имеют -I
вместо -T
для этого. звезда
использует аргумент list = -
для этого ( star cvf - list = -
).
Обратите внимание, что в приведенных выше решениях, за исключением звездочки
, если какой-либо из файлов в этом списке относится к типу каталог , то включается все содержимое этих каталогов.
Чтобы заархивировать только каталог, а не его содержимое, с помощью pax
добавьте параметр -d
с помощью GNU tar
или bsdtar
- без рекурсии
(также -n
с bsdtar
).
С звездочкой
, чтобы включить содержимое каталогов, добавьте параметр -dodesc
.