Получавам грешка, когато добавя > /dev/null
към командата tar, някой знае ли какво се случва във втория пример?
добре:
tar -cvf $kname /var/www
лошо:
tar -cvf $kname /var/www > /dev/null
error:tar: Removing leading `/' from member names
Получавам грешка, когато добавя > /dev/null
към командата tar, някой знае ли какво се случва във втория пример?
добре:
tar -cvf $kname /var/www
лошо:
tar -cvf $kname /var/www > /dev/null
error:tar: Removing leading `/' from member names
„Добрата“ версия също показва същото съобщение, което току-що сте пропуснали.
Ако не харесвате поведението, потърсете „водещ“ в ръководството. Първо попадение:
-P, --absolute-names
don't strip leading '/'s from file names
Това е така, защото вашият файл ($kname
) има водещ /
.
За да коригирате това, можете да посочите -C
за промяна на директорията, вместо да посочите пълния път на архивния файл.
-P
работи като заобиколно решение, -C
вероятно е повече от това, което искате.
- person pdeschen; 01.04.2015
-C
няма ефект с -c
- person junpet; 28.04.2021
Може би е най-добре да оставите вашите файлове без '/' в резервното копие и просто да игнорирате съобщението за грешка. Tar прави това като предпазна мярка, защото ако разархивирате файла, той автоматично ще постави файловете обратно в оригиналната директория. Това може да бъде опасно и повечето хора искат да го избегнат. Лично аз бих бил доволен от факта, че премахна '/' и тогава вашето възстановяване ще бъде относително, а не абсолютен път на директория. След това можете ръчно да преместите файловете на правилното място или на друго място. Просто публикувам това, за да знаят хората и да не заменят по невнимание оригиналните си файлове.
``/''
? - person Dan Cron   schedule 25.10.2018