FWIW, я использую хинду Linux. IT может быть разработан для того, что, или везде, где Вы хотите, чтобы он был. Если у меня был нетбук, я поместил пользовательскую хинду установку на него. Это заняло бы время, все же.
Добавьте это к Вашему .bash_login
файл. alias tar=tar --backup=simple
Это добавит ~ в файл, который он собирается перезаписать.
Таким образом, при создании архива, он будет всегда работать
tar --backup=simple zcvf foo.tex foo.bib
и после выполнения foo.tex ~ будет существовать (это - фактический tex файл, и архив будет в в foo.tex),
Используйте перенаправление вывода вместо того, чтобы указать имя файла. Это относится ко многим командам, не просто tar.
Конечно, Вы имеете set -o noclobber
(также записанный set -C
) в Вашем .bashrc
, право?
$ tar zc >foo.tex foo.bib
bash: foo.tex: cannot overwrite existing file
Если Вы часто даете эту команду, не вводите ее вручную: запишите make-файл.
foo.tar.gz: foo.tex foo.bib
tar czf $@ $^
Используйте tarballs только, когда необходимо будет отправить их кому-то еще, для не создания резервных копий. Вместо того, чтобы делать резервные копии старых версий, используйте управление версиями (CVS, Подвижный, Мерзавец, и т.д., безотносительно плаваний Ваша лодка). (Действительно создайте резервную копию репозитория в случае, если Ваши дисковые сбои или Вы случайно искажаете или стираете репозиторий.)
Эта проблема происходит, потому что 'короткие' опции для tar позволяют Вам комбинировать вещи способом, который запутывает это foo.tex
принадлежит f
опция.
Полная версия Вашей команды (с современной версией tar
) был бы:
tar --create --file foo.tex --gzip --verbose foo.big
или с сокращенными опциями:
tar -c -f foo.tex -z -v foo.big
Оба это, по моему опыту, путь, более очевидно, неправильно пишущий в файл foo.tex
.
Если Вы сделали бы:
tar --create --file --gzip --verbose foo.tex foo.big
Вы получаете файл --gzip
, и это - что-то, что я надеюсь, что Вы регулярно не используете в качестве имени файла, так, чтобы перезапись не была проблемой. (BTW можно удалить файл с таким именем файла с rm -- --gzip
.)
Параметры символа для tar
без -
более старый/исходный путь состоит в том, чтобы указать опции. Динозавры Unix, как я, склонны использовать их, но я думаю, что они сбивают с толку. Я рекомендую использовать более полные 'штриховые' версии отдельно, пока Вы не чувствуете себя больше уверенно с помощью tar
.
Вы могли бы предпочесть поведение 7z
(С 7 zip). Я не мог заставить это перезаписывать существующий файл при сжатии. Это поддерживает вывод tar (-t tar
).
Существует также atool - я попробовал его, и UI выглядит хорошим:
apack a b
apack: a: format not known, identifying using file
apack: a: format is `tar'
apack: a: refusing to overwrite existing file
Сначала довольно легко помнить правильные символы:
czf
= создайте заархивированный файлxzf
= извлеките заархивированный файлЕсли Вы думаете этот путь, необходимо всегда разбираться в нем.
Другая вещь с важными данными, имея его в некотором управлении версиями. Я рекомендую git
для этого. Это сохранит Вас вся Ваша история локально и позволяет Вам продвигать все это к любому другому носителю. - Очень удобный и больше никаких резервных копий с помощью tar.
Я не уверен, почему Вы даете то же имя файла как свой источник к шару tar.
если исходный файл foo.tex
, это должно быть заархивировано затем, необходимо сделать следующее:
tar zcvf foo.tgz foo.tex
если существуют mulitple файлы, затем делают следующее
tar zcvf foo.tgz foo.tex foo.bib
при попытке сделать, возрастающий шар tar затем использует эту ссылку. Я еще не попробовал его, но я думаю, лучше использовать мерзавца, при попытке сделать управление версиями.
tar --backup=simple
tar --backup=numbered
который пронумерует резервные копии последовательно. – sparticvs 24.01.2018, 22:41