LINUX.ORG.RU

Запаковать текущую директорию tar

 


0

1
cd /my/dir
tar -cf "arcname.tar" ./

Пакует так что в архиве создается каталог ".", а уже в нем файлы

Без ./ ругается.

Как?

---

Решилось так:

cd /my/dir
tar -cf "arcname.tar" *

При этом, правда, не пакует скрытые файлы, но мне это не нужно.

★★

Последнее исправление: sambist (всего исправлений: 1)

tar -cf «arcname.tar» *

ещё это попрубуй: НАЗВАНИЕ_КОМАНДЫ * .??*

user_id_68054 ★★★★★
()

tar задуман, что-бы один каталог паковать. Т.е. делать из каталога → архив.

а за такую хрень как у тебя УБИВАТЬ нужно.

emulek
()
Ответ на: комментарий от emulek

Убивать нужно создателей tar'а, за то, что когда делаешь из каталога архив в архиве создаются однокаталоговые относительные пути от текущей директории.

sambist ★★
() автор топика
Ответ на: комментарий от anonymous

tar c . tar x -C crap

Вывело в stdout файлы, умник, а потом свалилось:

tar: Завершение работы с состоянием неисправности с из-за возникших ошибок

sambist ★★
() автор топика
Ответ на: комментарий от sambist

лол. ну тут только могила исправит

anonymous
()
Ответ на: комментарий от sambist

когда делаешь из каталога архив в архиве создаются однокаталоговые относительные пути от текущей директории.

перейди в директорию командой cd. Если это не подходит, используй tar -C.

emulek
()
Ответ на: комментарий от sambist

это упоротая задача. Но вот тебе упоротое решение:

$ tar -C $(dirname $(readlink -f .)) -cvvf arc.tar $(basename $(readlink -f .))

emulek
()
Ответ на: комментарий от anonymous

яб назвал это пакетом шлаки, ети tarbomb'ы ее надоели

timdorohin ★★★★
()
Ответ на: комментарий от sambist

Ты не поверишь, я именно это и делаю в ОП посте.

нет, нужно уровнем выше. Т.е. если ты хочешь упаковать /usr/local/etc, то тебе нужно перейти в /usr/local, и паковать etc. Команда

cd /usr/local && tar -cvvf arc.tar etc

или

tar -C /usr/local -cvvf arc.tar etc

вообще говоря, если хочешь работать с X, то нужно перейти в директорию, в которой лежит этот X. А не в сам X.

emulek
()
Последнее исправление: emulek (всего исправлений: 1)
Ответ на: комментарий от emulek

Это не то, что я хочу.

Еще раз. То, что ты сказал сделает arc.tar -> etc -> filesinetc. Вот:

alex@laptop:~$ ls /test
ls: невозможно получить доступ к /test: Нет такого файла или каталога
alex@laptop:~$ ls ./test
1.pdf  4.pdf  5.pdf  6.pdf  безымянный.pdf  резюме.pdf
alex@laptop:~$ tar -cvvf arc.tar test
drwxrwxr-x alex/alex         0 2015-02-25 00:14 test/
-rw-rw-r-- alex/alex     83371 2015-02-25 00:14 test/1.pdf
-rw-rw-r-- alex/alex     87270 2015-02-25 00:14 test/6.pdf
-rw-rw-r-- alex/alex     95671 2015-02-25 00:14 test/безымянный.pdf
-rw-rw-r-- alex/alex     76728 2015-02-25 00:14 test/5.pdf
-rw-rw-r-- alex/alex     80189 2015-02-25 00:14 test/4.pdf
-rw-rw-r-- alex/alex   3043695 2015-02-25 00:14 test/резюме.pdf

Видишь? Я не хочу внутри test/*, я хочу сразу файлы. Это решает только штука в ОП-посте.

sambist ★★
() автор топика
Ответ на: комментарий от sambist

Видишь? Я не хочу внутри test/*, я хочу сразу файлы.

ты хочешь бросить грабли, что-бы кто-то (скорее всего ты сам) на них наступил, и получил по лбу.

Потому что, когда тебе придёт в голову распаковать архив, ты будешь скорее всего в домашнем каталоге, архив распакуется, и засрёт весь твой хомяк говном, которое потом задолбаешься отшкрябывать. Мало того, это говно имеет временные метки как в оригинале, и его будет невозможно найти, хотя ты и знаешь, что файлы появились минуту назад. С виду будет казаться, что они тут второй год лежат. Мало того, _старые_ файлы из архива затрут _новые_. Причём безвозвратно. Если имя совпадает, а это бывает часто.

http://www.explainxkcd.com/wiki/index.php/1168:_tar

emulek
()
Ответ на: комментарий от emulek

Потому что, когда тебе придёт в голову распаковать архив, ты будешь скорее всего в домашнем каталоге

У меня нет привычки распаковывать архивы в домашнем каталоге. Особенно архивы с бекапом.

Зато у меня есть отвращение к миллионам вложенных друг в друга каталогов когда я распаковываю архивы.

sambist ★★
() автор топика
Ответ на: комментарий от sambist

У меня нет привычки распаковывать архивы в домашнем каталоге. Особенно архивы с бекапом.

и где же ты находишься, если не секрет? Создаёшь специальный временный каталог в /tmp/, и туда переходишь?

Зато у меня есть отвращение к миллионам вложенных друг в друга каталогов когда я распаковываю архивы.

может ты просто не осилил навигацию по каталогам?

emulek
()
Ответ на: комментарий от emulek

и где же ты находишься, если не секрет? Создаёшь специальный временный каталог в /tmp/, и туда переходишь?

Использую гуй.

может ты просто не осилил навигацию по каталогам?

Не поверишь, в гуе это одна кнопка. И я хочу нажимать эту кнопку только раз, а не писать в сосноли

cd ./backup/backup/backup/backup

sambist ★★
() автор топика
Ответ на: комментарий от sambist

Использую гуй.

поинтересуйся значением $PWD у своего гуя.

Не поверишь, в гуе это одна кнопка. И я хочу нажимать эту кнопку только раз, а не писать в сосноли

дык юзай консоль, а не соснсоль, и твои волосы будут шеллковистые.

emulek
()

tar cf arhiv.tar $(find /my/dir/)

и скрытые файлы там )))

ionanahin ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.