RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

User Tools

Site Tools


Sidebar


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
linux:bash:tar

Памятка по работе с архивами в консоли

tar

Опции

Опции Описание
-c Создать архив
-x Извлечь файлы из архива
-v выводить список обрабатываемых файлов
-f указать имя архива или TAR файла
-t содержимое архива
-z разархивировать содержимое, сжатое с помощью программы gzip [tar.gz]
-j разархивировать содержимое, сжатое с помощью программы bzip2 [tar.bz2]

TAR [файл *.tar] - это простой архив без сжатия TAR GZIP [файл *.tar.gz] - это TAR архив, сжатый с помощью GZIP TAR BZIP2 [файл *.tar.bz2] - это TAR архив, сжатый с помощью BZIP2

Извлечь содержимое архива

$ tar -xvf foo.tar
$ tar -xvfz foo.tar.gz
$ tar -xvfj foo.tar.bz2

Смотрим содержимое архива tar, tar.gz, tar.bz2

tar -tvf foo.tar
tar -tvfz foo.tar
tar -tvfj foo.tar

Извлечь один файл из архива

$ tar -xvf foo.tar bar.txt
$ tar -xvfz foo.tar.gz bar.txt
$ tar -xvfj foo.tar.bz2 bar.txt

Извлечь один каталог из архива

$ tar -xvf foo.tar docs
$ tar -xvfz foo.tar.gz docs
$ tar -xvfj foo.tar.bz2 docs

zip

bzip

http://www.shellhacks.com/ru/Kak-Izvlech-raspakovat-Arhivy-tar-targz-i-tarbz2

Все файлы и каталоги после распаковки tar.gz архива под root'ом (tar -xvzf file.tar.gz) созданного в Windows через 7zip имеют права 777 вместо привычных 755 для каталогов и 644 для файлов.

Ошибки здесь никакой нет. Windows не наследует права на файлы и каталоги.

Чтобы исправить права

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Но что делать если архив был создан в Linux?

Надо читать man'ы. Хотя бы когда что-то не работает.

[...]
     -p, --preserve-permissions, --same-permissions
           extract information about file permissions (default for superuser)
[...]
     --no-same-permissions
           apply the user's umask when extracting permissions from the archive
           (default for ordinary users)

Почему же так происходит?

Если вы запускаете tar, как обычный пользователь, то будет применяться ваш umask по умолчанию. Если вы запускаете tar как root, то следует добавить ключ –no-same-permissions, чтобы tar использовал umask.

Пользователь (umask 022. 777-22=755 каталоги, 666-22=644 файлы).

tar zxvf file.tar.gz
tar zxvf file.tar.gz --no-same-permissions

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/bash/tar.txt · Last modified: 2018/01/25 14:01 (external edit)