Я почти уверен, что я не единственный, кто сталкивается со следующей проблемой: каждый раз, когда мне нужно распаковать файл в * nix, я не могу вспомнить все параметры и заканчиваю поиском в Google, что удивительно, учитывая, как часто мне нужно сделай это.
У вас есть хорошая шпаргалка? Или как насчет мнемоники для всех этих неприятных переключателей в tar?
Я делаю эту статью вики, чтобы мы могли создать хороший шпаргалку здесь.
Да, и о man-страницах: есть одна вещь, для которой они не полезны, это чтобы выяснить, как распаковать файл.
Ответы:
Или как насчет использования оболочки с расширенными возможностями завершения (например, zsh или свежей версией bash), которая дополнит ваши параметры всесторонней помощью? :))
Что касается tar: просто посмотрите на клавиатуру "qwerty". Есть буквы "zxcvf" рядом друг с другом. Вам нужны либо «tar czvf file.tar.gz файлы», либо «tar xzvf file.tar.gz».
источник
z
опция (илиj
опция для.bz2
файлов) не требуется при извлечении с современными версиями tar. Он автоматически распаковывает файл.Обзор опций Tar
Вы можете редактировать это, чтобы добавить больше эзотерических переключателей, но вот основы:
Примеры
Распакуйте файл tar.gz: tar zxf tarball.tar.gz
Распакуйте файл tar.bz2: tar jxf tarball.tar.bz2
Создайте файл tar.gz: tar zcvf tarvall.tar.gz mydir / *
источник
Есть небольшой скрипт на Perl под названием «unp».
... и это все извлекает. Работает с любым сжатым файлом, если у вас есть нужные двоичные файлы. И ты просто забываешь о синтаксисе или любом другом дерьме. Проверьте репозитории вашего дистрибутива Linux. Это должно быть там (по крайней мере, в Arch, Debian и Ubuntu).
источник
Действительно при частом использовании я делаю различие между извлечением (x) данных и сжатием (c) данных:
Извлекать:
Сжать:
Кроме того, вы можете добавить две функции в ваш .bashrc:
Есть еще одна приятная функция извлечения, она определяет расширение вашего сжатого файла и делает всю работу за вас:
источник
Просто напечатайте
tar --help
и вот ваш чит-лист.источник
Если у вас возникли проблемы с запоминанием параметров tar, попробуйте использовать pipe:
zcat file.tar.gz | tar xvf -
bzcat file.tar.bz2 | tar xvf -
Замените
tar xv
на,tar tv
чтобы просто просмотреть содержимое тарбола.Лично я использую следующую мнемонику:
Хотя «j» и «bzip2», похоже, не имеют ничего общего друг с другом, мне легко запомнить это исключение.
Кроме того, мне смешно, что Googling заменил «man tar».
источник
f
опцию: только по умолчанию дистрибутивы tar по умолчанию равныf -
, исторический по умолчанию равенf /dev/rmt0
или подобен. В конце концов, tar - это Tape ARchiver.Мужчина твой друг.
man tar
источник
Три наиболее часто используемые операции :
Создайте новый архив tar.
Список содержимого архива.
Извлеките одного или нескольких участников из архива.
Пять расширенных операций с tar :
Добавить новые записи в архив, который уже существует.
Добавьте более поздние копии участников архива в конец архива, если они существуют.
Добавьте один или несколько уже существующих архивов в конец другого архива.
Удалить элементы из архива (не работает на лентах).
Сравните участников архива с их аналогами в файловой системе.
источник
Я всегда зачитываю команды в уме, печатая
сжать подробный zip-файл
извлечь подробный почтовый файл ФАЙЛ
источник
Я делаю следующее
Чтобы создать tar:
Распаковать:
Это должны быть основные переключатели, о которых вам нужно беспокоиться:
Пока вы пытаетесь перемещать файлы по каталогам, вы можете делать некоторые более интересные вещи, такие как tar и untar inline:
источник
90% времени я просто использую
x: extract
v: быть подробным (необязательно)
f: входной файл (tar, gz, bzip2 и т. д.)
Полегче, а? :)
Используйте Fileroller или Ark, если вы не в консоли.
источник
Я использую Perl-скрипт под названием
aunpack
, часть проекта atool , уже много лет. Итак, вы просто запускаете:aunpack foo.{zip/tar.gz/tar.bz2}
и он делает правильные вещи, основываясь на расширении файла.Другое преимущество
aunpack
заключается в том, что он не будет загрязнять текущий каталог большим количеством файлов. Скажем, есть 20 файловfoo.zip
, которые не находятся в подкаталоге. Вместо того, чтобы извергать эти файлы в текущем каталоге,aunpack
создайтеfoo
подкаталог и поместите туда все файлы.источник
Все , что вам нужно
tar x
(выдержка из стандартного ввода),tar c
(деготь на стандартный вывод),gzip -c
(GZIP из стандартного ввода на стандартный вывод,-1
чтобы-9
для уровней сжатия, то же самое касаетсяbzip2
) иgunzip -c
(Gunzip из стандартного ввода на стандартный вывод) - все остальное трубы.Для tar и gzip:
Разархивировать и распаковать
Если вы хотите сладкие индикаторы выполнения, используйте pv, который похож на cat, но показывает индикаторы выполнения:
источник
Я думаю, что легко думать о том, что вы хотите, а не только некоторые буквы.
Чтобы проиллюстрировать это, я буду использовать пример того, как извлечь file.tar.gz:
Поскольку это tar-файл, вы должны использовать программу tar. Тогда это варианты:
Это продемонстрировано в примере ниже:
источник
Насколько я помню, это всегда "tar XXvf", где два X
Иногда вы сталкиваетесь со сжатыми, но не заархивированными файлами, где добавляете un к любому типу сжатия. например, g un zip или b un zip2.
Если что, я забываю 2, а иногда и "bzip".
источник
Вы также можете создать псевдоним. просто добавьте эти две строки в ваш
~/.bash_aliases
файл:затем вы можете использовать
untar foo.tar.gz
для извлечения иdotar foo.bar
сжатия. Вы можете использовать другие псевдонимы, которые легко запомнить.источник
C reate Z ф на F ilename
е X тракта Z внутрибрюшинно F ilename
источник