Отобразить «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-файлы. " Он также помещает содержимое в один каталог, независимо от того, был ли архив упакован таким образом или нет.


Даже там, в репозиториях Ubuntu. Не отличный способ для установки!
Лакшман Прасад

Он был добавлен только в Debian ранее в этом году, так что это только в karmic, но вы можете без проблем установить .deb на jaunty.
TRS-80

1

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.