tar премахва водещия '/' от имената на членовете

Получавам грешка, когато добавя > /dev/null към командата tar, някой знае ли какво се случва във втория пример?

добре:

 tar -cvf $kname /var/www

лошо:

 tar -cvf $kname /var/www > /dev/null

 error:tar: Removing leading `/' from member names

person Hebing    schedule 19.09.2014    source източник
comment
Само аз ли се притеснявам от факта, че съобщението от tar има два различни цитата? Първият е обратна отметка, а вторият е единична кавичка.   -  person Dan Cron    schedule 26.08.2016
comment
Вижте също tar: Премахване на водещия `/' от имена на членове   -  person Martin Schröder    schedule 22.09.2016
comment
За съжаление tar го отпечатва в началото на изграждането на архива, така че ще пропуснете това съобщение, ако екранът се превърти нагоре.   -  person H2ONaCl    schedule 03.12.2016
comment
@DanCron Това вероятно е взето от стила на цитати на LaTeX. (Харесва ми! :D ) tex.stackexchange.com /questions/10670/quotes-in-latex#10672   -  person Campa    schedule 25.10.2018
comment
@Campa Мисля, че си на път за нещо. Но ако изберат да използват кавички в стил LaTeX, няма ли да използват две обратни кавички преди и след това две единични кавички след ``/''?   -  person Dan Cron    schedule 25.10.2018


Отговори (3)


„Добрата“ версия също показва същото съобщение, което току-що сте пропуснали.

Ако не харесвате поведението, потърсете „водещ“ в ръководството. Първо попадение:

-P, --absolute-names
       don't strip leading '/'s from file names
person Karoly Horvath    schedule 19.09.2014
comment
добрата версия може да бъде изпълнена успешно. но лошият versin ми даде грешката tar: Премахване на водещия `/' от имена на членове. не разбирам напълно това съобщение за грешка, как да разреша грешката? - person Hebing; 19.09.2014
comment
Лошата версия може да бъде изпълнена също толкова успешно. Както казах, и двете показват едно и също съобщение. - person Karoly Horvath; 19.09.2014
comment
добавянето на -P работи, вижте: tar -cvf test.tar -P /var/www › /dev/null, благодаря - person Hebing; 19.09.2014
comment
забележка: вероятно не искате това... просто игнорирайте съобщението. - person Karoly Horvath; 19.09.2014
comment
@KarolyHorvath: защо не? - person parvus; 18.10.2014
comment
@parvus, защото разархивирането на този файл ще го разархивира в абсолютния път, от който е бил архивиран, вероятно презаписвайки много ценни файлове. без водещата наклонена черта, тя се разархивира спрямо ./ - person regretoverflow; 14.11.2014

Това е така, защото вашият файл ($kname) има водещ /.

За да коригирате това, можете да посочите -C за промяна на директорията, вместо да посочите пълния път на архивния файл.

person kenorb    schedule 30.03.2015
comment
докато -P работи като заобиколно решение, -C вероятно е повече от това, което искате. - person pdeschen; 01.04.2015
comment
-C няма ефект с -c - person junpet; 28.04.2021

Може би е най-добре да оставите вашите файлове без '/' в резервното копие и просто да игнорирате съобщението за грешка. Tar прави това като предпазна мярка, защото ако разархивирате файла, той автоматично ще постави файловете обратно в оригиналната директория. Това може да бъде опасно и повечето хора искат да го избегнат. Лично аз бих бил доволен от факта, че премахна '/' и тогава вашето възстановяване ще бъде относително, а не абсолютен път на директория. След това можете ръчно да преместите файловете на правилното място или на друго място. Просто публикувам това, за да знаят хората и да не заменят по невнимание оригиналните си файлове.

person pvella    schedule 08.09.2017