tar - утилита для запаковки и распаковки нескольких файлов в один. В отличие от традиционных архиваторов, tar сам по себе не выполняет сжатие полученного архива. Т.е. все, что делает tar - это просто ложит кучу файлов в один, по размеру ничуть не меньше суммы оригинальных.
В качестве дополнения для сжатия или разжатия tar может использовать утилиту gzip, т.к. он нативно поддерживает интерфейс с ней.
Архивация
$ tar -cf /my/target/dir/file.tar myfile1 myfile2 mydir1 mydir2
Параметр -c указывает - создать архив.
Параметр -f и следующий за ним путь - это путь к целевому файлу (в нашем случае архив будет создан с именем файла file.tar и лежать он будет по адресу /my/target/dir/)
myfile1 myfile2 mydir1 mydir2 - это просто набор файлов и директорий, которые необходимо положить в архив. Директории проходятся рекурсивно и архиватор ложит файлы из директорий и все поддиректории в архивный файл с соблюдением их взаимного расположения.
Архивация со сжатием
$ tar -czf /my/target/fir/file.tgz myfile1 myfile2 mydir1 mydir2
Здесь добавилась опция -z, которая указывает, что tar нужно использовать gzip для сжатия полученного архива.
Остальные опции - такие же, как и в просто создании.
Извлечение всех файлов
$ tar -xf myfile.tar
Параметр -x означает, что нужно извлечь файлы.
Параметр -f указывает tar-файл, из которого необходимо извлекать файлы.
Файлы будут извлечены по текущему пути.
Извлечение определенных файлов
$ tar -xf myfile.tar myfile1 myfile2
Здесь добавились параметры myfile1 и myfile2 - это имена файлов в архиве, которые необходимо извлечь.
Второй пример:
$ tar -xf myfile.tar myfile*
Этот пример говорит tar извлечь все файлы, имя которых начинается с myfile.
Извлечение файлов из tar.gz или tgz (из сжатых tar архивов)
$ tar -xzf myfile.tgz
Параметр -z указывает на то, что с архивом следует работать с применением утилиты gzip для того, чтобы сначала расжать его и только потом уже извлекать файлы.
Список файлов в архиве
$ tar -tf myfile.tar
Параметр -t указывает tar показать список файлов.
Параметр -f и следующее за ним имя файла - это указание на архив, из которого показывать файлы.
Второй пример - покажем файлы по фильтру:
$ tar -tf myfile.tar myfile*
Как видно, мы запросили показать только файлы, имена которых начинаются с "myfile".
Добавление файлов в архив
$ tar -rf myfile.tar myfile3 myfile4
Параметр -r показывает, что нужно добавлять файлы к уже существующему архиву.
Параметр -f и имя файла за ним - это указание на архивный файл, с которым предстоит работать.
Параметры myfile3 и myfile4 - это указание - какие файлы добавить в архив.
Добавление только более новых файлов
$ tar -uf myfile.tar myfile3 myfile4
Добавить в архив только файлы, которые новее уже существующих (т.е. обновление архива).
Параметр -u указывает, что нужно выполнить обновление архивных файлов.
Параметр -f указывает на файл архива, с которым предстоит работать.
Параметры myfile3 и myfile4 - это файлы, которые нужно обновлять.
Слияние архивов
$ tar -Af myfile1.tar myfile2.tar
Этой командой мы соединяем 2 архива tar в один.
Параметр -A указывает, что нужно сделать конкатенацию архивов.
Параметр -f указывает на файл архива, к которому присоединять.
Параметр myfile2.tar - это архив, который присоединять.
Использование bzip2 вместо gzipДля этого опцию -z везде меняем на -j. Остальные моменты остаются такими-же.
Учтите, что утилита bzip2 должна уже стоять в системе, чего нередко нет, в отличие от gzip.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX