Отобразить «untar» в tar xvfz?

14

Как я могу сопоставить 'untar' как команду с tar -xvfz? Извините, но я почти всегда забываю аргументы, необходимые tar для этой операции.

медер омуралиев
источник

Ответы:

25

alias untar='tar -xvzf'

Поместите его в свой файл .bashrc, чтобы сохранить его в сеансах входа в систему / оболочки, или в свой файл /etc/bash.bashrc, чтобы сохранить его для всех пользователей в вашей системе.

Джон Ледбеттер
источник
5
В зависимости от вашей операционной системы вы можете не указывать параметр -z. По крайней мере, в Debian tar автоматически определяет тип сжатия, и использование -z для файла tar, который не сжат с помощью gzip, вызывает там ошибку
Caotic
Также опция -z является расширением GNU.
Ричард Хоскинс
1
@Richard: subby пометил его. Linux @ledbettj: z опция в недавнем (менее 4 лет) gnu tar не нужна, она обрабатывается автоматически и выдает треск, если нет gzipping или вместо него bzipp'd. Кроме того, «-» не требуется и выводит предупреждение в некоторых случаях.
niXar
19

Вы также можете быть заинтересованы в следующем:

x(){
    if [ -f $1 ] ; then
            case $1 in
                    *.tar.bz2)   tar xvjf $1    ;;
                    *.tar.gz)    tar xvzf $1    ;;
                    *.bz2)       bunzip2 $1     ;;
                    *.rar)       unrar x $1     ;;
                    *.gz)        gunzip $1      ;;
                    *.tar)       tar xvf $1     ;;
                    *.tbz2)      tar xvjf $1    ;;
                    *.tgz)       tar xvzf $1    ;;
                    *.zip)       unzip $1       ;;
                    *.Z)         uncompress $1  ;;
                    *.7z)        7z x $1        ;;
                    *)           echo "Unable to extract '$1'" ;;
            esac
    else
            echo "'$1' is not a valid file"
    fi
}

С помощью приведенного выше кода в вашем .bashrc, введя xпосле него имя файла, вы извлечете большинство архивов, с которыми вы столкнулись (при условии, что у вас есть пакеты, необходимые для извлечения архива такого типа).

ПРИМЕЧАНИЕ: этот код немного изменен по сравнению с тем, что я нашел здесь давным-давно.

Ричи Маркес
источник
1
Вау. это тоже здорово.
meder omuraliev
.rar был включен дважды. Я не думаю, что вторая версия когда-либо будет выполнена. Или это будет?
Wolf
Мои извинения, вторая строка * .rar не должна быть там; это никогда не будет выполнено.
Ричи Маркес
Будет ли блокировать else когда-либо с остальным блоком case в конце блока case?
убийца
2

Я всегда вспоминаю это, говоря это вслух:
tar e X tract Z ip F ile V erbose

волк
источник
1
Для меня сознательное запоминание этого не проблема, потому что мои пальцы левой руки «автоматически» придумали «zxfv» ... :)
Jonik
@Jonik так верно ^^
Оскар Дювеборн
1

Вы должны попробовать dtrx- он сработает правильные аргументы для многих типов файлов, в том числе "tar, zip, cpio, deb, rpm, gem, 7z, cab, rar, gz, bz2, lzma, xz и многих видов exe-файлы, включая архивы Microsoft Cabinet, архивы InstallShield и самораспаковывающиеся zip-файлы. " Он также помещает содержимое в один каталог, независимо от того, был ли архив упакован таким образом или нет.

TRS-80
источник
Даже там, в репозиториях Ubuntu. Не отличный способ для установки!
Лакшман Прасад
Он был добавлен только в Debian ранее в этом году, так что это только в karmic, но вы можете без проблем установить .deb на jaunty.
TRS-80
1

Никто больше не использует atool ? Это инструмент командной строки для независимого от формата архивирования и извлечения.

Чтобы распаковать любой поддерживаемый архив: aunpack archive.zip Чтобы упаковать файлы в любой поддерживаемый архив: apack archive.tar.bz2 *.txt Чтобы вывести список файлов в любом поддерживаемом архиве:als archive.tgz

Я не могу вспомнить, когда в последний раз я непосредственно использовал какой-либо инструмент для архивирования.

Райан К. Томпсон
источник