Шпаргалка по распаковке tar архивов.
Для распаковки tar-архивов через командную строку используется утилита tar.
Полезно знать, что архивы в формате tar имеют расширение файлов .tar. Также в Linux распространены архивы, которые имеют дополнительное сжатие другими программами. Например, архивы .tar.bz2, .tar.gz и другие. Все эти архивы можно распаковать утилитой tar.
Распаковка tar
Для распаковки архива в формате .tar в текущую директорию выполните команду:
tar xvf archive.tar
Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
tar xvjf archive.tar.bz2
Распаковка tar.xz, txz
tar xvJf archive.tar.xz
Распаковка tar.gz, tgz
tar xvzf archive.tar.gz
Распаковка tar.lzma
tar --lzma -xvf archive.tar.lzma
Пояснение опций
x — распаковать архив.
v — Verbose-режим (вывод на экран дополнительной информации во время распаковки).
f — выполнить распаковку архива из файла.
j — вызвать bzip2 для распаковки архива.
z — вызвать gzip
J — вызвать xz
Распаковка в определенную директорию
Чтобы распаковать архив в определенную директорию используется опция -C или --directory, например:
tar xvf archive.tar -C /to/directory
Примечание: директория должна существовать.
Заключение
Мы рассмотрели базовый набор команд, который можно использовать для распаковки различных видов tar-архивов. Существуют также еще некоторые типы архивов, но они менее распространены.
Комментарии
16:45
17:16
годная памятка на все времена.
17:18
17:56
18:12
20:20
-a, --auto-compress
Use archive suffix to determine the compression program.
09:30
Проверил.
Ключ -a работает при создании архивов, например
tar -cvaf doc.tar.xz ~/Documents/
Тут главное не ошибиться с расширением. Например, если указать ".tar.bz" - создастся обычный tar без сжатия (".tar.bz2" - Ok)
Возможно, именно поэтому в своё время мне показалось, что оно меня игнорирует, и я решил, что это ключ для распаковки : )
А для распаковки дискового файла с правильным расширением достаточно просто
tar -xf
без указания метода сжатия.
Проверено для gz, bz2, xz, lz, lzma
20:48
21:24
00:59
Как сделать в Dolphin или Thunar?
12:32
12:40
Нет ничего про распаковку скачиваемого потока.
Почему люди врут?
13:40
22:26
09:04
11:53
if [[ -f $1 ]]; then
case $1 in
*.tar.bz2) tar xjfv $1 ;;
*.tar.gz) tar xzfv $1 ;;
*.tar.xz) tar xvJf $1 ;;
*.bz2) bunzip2 $1 ;;
*.gz) gunzip $1 ;;
*.rar) unrar x $1 ;;
*.tar) tar xf $1 ;;
*.tbz) tar xjvf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "I don't know how to extract '$1'" ;;
esac
else
case $1 in
*help) echo "Usage: unpack ARCHIVE_NAME" ;;
*) echo "'$1' is not a valid file" ;;
esac
fi
}
# function to create archives
# EXAMPLE: pack tar file
pack () {
if [ $1 ]; then
case $1 in
tar.bz2) tar -cjvf $2.tar.bz2 $2 ;;
tar.gz) tar -czvf $2.tar.bz2 $2 ;;
tar.xz) tar -cf - $2 | xz -9 -c - > $2.tar.xz ;;
bz2) bzip $2 ;;
gz) gzip -c -9 -n $2 > $2.gz ;;
tar) tar cpvf $2.tar $2 ;;
tbz) tar cjvf $2.tar.bz2 $2 ;;
tgz) tar czvf $2.tar.gz $2 ;;
zip) zip -r $2.zip $2 ;;
7z) 7z a $2.7z $2 ;;
*help) echo "Usage: pack TYPE FILES" ;;
*) echo "'$1' cannot be packed via pack()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
11:53