Извлеките -
из опции vcfz
. Для опций tar
дефис не требуется.
С помощью дефиса аргументом для опции -f
является z
. Таким образом, команда фактически пытается архивировать dvr_rdk_v1.tar.gz
и dvr_rdk
в архив с именем z
. Без дефиса меняется семантика опций, так что следующий аргумент в командной строке, т.е. имя файла вашего архива, становится аргументом к флагу f
.
Также проверьте разрешение на запись в каталог, из которого выполняется команда.
используйте tar -vczf filename.tar.gz
, чтобы создать архив
$ tar -cvf music.tar Music/
Это покажет список файлов и папок
$ tar -tvf music.tar
И для извлечения снова
$ tar -xvf music.tar
Опция -f
должна непосредственно предшествовать имени файла. Поэтому вместо -vcfz
Команда tar исторически была одной из немногих команд, которая не соответствует рекомендациям по синтаксису служебных программ Unix .
На странице стандартов для tar сказано:
f
Используйте первый файловый операнд (или второй, если b уже был указан) в качестве имени архива вместо зависящего от системы значения по умолчанию
При этом рекомендации по синтаксису включают следующее:
Рекомендация 5:
Один или несколько параметров без аргументов-параметров, за которыми следует не более одного параметра, принимающего аргумент-параметр, должны быть приняты, если они сгруппированы за одним разделителем '-'.
Таким образом, хотя введенная вами команда tar -vcfz dvr_rdk_v1.tar.gz dvr_rdk /
подойдет для старых версий tar, некоторые версии tar, написанные в строгом соответствии с рекомендациями по синтаксису служебных программ. проанализирует это как «использовать z
в качестве аргумента файла для -f
». Таким образом, для переносимости вы должны использовать следующее:
tar -cvzf dvr_rdk_v1.tar.gz dvr_rdk/
Обратите внимание, что -f
должен стоять непосредственно перед именем архива. но после опций --exclude
в этом многострочном примере Makefile -...
-f $(HOME)/.bitcoin-$(TIME).tar.gz $(HOME)/.bitcoin'
#######################
#Резервное копирование $HOME/.bitcoin -Пример использования Makefile
########################
TIME=$(shell date +%s)
export TIME
init:
@echo ''
bash -c 'mkdir -p $(HOME)/.bitcoin'
bash -c 'conf/get_size.sh'
bash -c 'tar czv --exclude=*.log --exclude=banlist.dat \
--exclude=fee_exstimates.dat --exclude=mempool.dat \
--exclude=peers.dat --exclude=.cookie \
--exclude=.lock --exclude=.walletlock \
-f $(HOME)/.bitcoin-$(TIME).tar.gz $(HOME)/.bitcoin'
#install current bitcoin.conf
bash -c 'install -v conf/bitcoin.conf $(HOME)/.bitcoin'
@echo ''