Linux tar скрытые файлы

достать из tar.bz2 скрытые файлы

Распаковываю archive.tar.bz2 такими командами:
bzip2 -d /home/user/archive.tar.bz2
tar -xf /home/user/archive.tar

В итоге НЕ распаковываются скрытые файлы.
В манах на этот счет инфы не нашел.

Подскажите как достать из tar.bz2 скрытые файлы (они там точно есть).

tar jxpf, bzip не нужно

можно из системы удалить?

tar xf xyz.tar.bz2 достаточно.

Не помню, правда, с какой версии.

Что такое скрытые файлы (hint: в формате tar они не предусмотрены)? Откуда уверенность, что они там есть?

Попробуй натравить на архив такую команду:

tar jtvf archive.tar.bz2

и посмотри, не выводит ли он чего наводящего на мысли.

h0lder> В итоге НЕ распаковываются скрытые файлы.

Так не бывает. Или их там нет или ты их не там ищешь

bzip2 -d -c /home/user/archive.tar.bz2 | tar tf — | less

Убедись что нужные тебе файлы есть в архиве

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

вечно вы всё усложняете.

tar tfavv archive.tar.bz2

-а не у всех работает
-v с -t нахер не надо.
Не всякий tar умеет через компрессор поток пропускать

ну вот что так сразу салага.

-а была добавлена в tar 1.20 два с половиной года назад, согласись шансы того что я бы угадал были неплохие

-v по сравнению с -t это как бы тебе объяснить чтобы ты лучше понел. разницу между ls и ls -l думаю ты сможешь осознать

Глянь через mc, что уж там.

Файлы, начинающиеся с точки в архиве есть.
В Висте разархивировал, все на месте.

я надеюсь после разархивации ты смотришь каталог через `ls -l`, а не просто `ls` ?))

Источник

Использование архиватора tar для архивирования данных.

&nbsp &nbsp Утилита tar первоначально использовалась для создания архивов на магнитной ленте ( tar — ta pe a r chive ). В настоящее время tar используется для создания архивов на любых носителях и практически, является основным средством хранения файлов и каталогов в одном файле специального формата. Главным достоинством формата tar является то, что архив содержит не только сами данные архивируемых файлов, но и информацию о структуре каталогов, владельце, и временнЫе метки ( время создания, модификации, доступа ). Архиватор tar не выполняет сжатие архивируемых данных, он всего лишь упаковывает множество файлов в один файл, размер которого приблизительно равен суммарному размеру упакованных файлов ( немного больше за счет добавления собственных служебных заголовков ). Для сжатия же, используются внешние программы ( gzip, bzip2 и т.п. )

Читайте также:  Совместимость файловых систем windows

Для получения подсказки по использованию tar введите команду:

На экран выдается справка с кратким описанием назначения программы и параметров командной строки:

Для получения краткой справки по использованию tar введите команду:

При выполнении данной команды, отображаются варианты использования параметров командной строки без каких-либо пояснений:

Можно также воспользоваться встроенной справочной системой:

Примеры использования tar

tar –create –file=archive.tar file1 file2 — создать в текущем каталоге архив archive.tar из файлов ffile1 и file2

tar -cf archive.tar file1 file2 — то же, что и в предыдущем примере, но с использованием синтаксиса коротких опций ( сокращенных параметров командной строки: -c соответствует —create , -f соответствует —file . При использовании коротких опций, их можно объединять – параметры -c -f файл.tar можно вводить как -cf файл.tar.

tar -cvf archive.tar file1 file2 — то же, что и в предыдущем примере, но с выдачей подробной информации о ходе архивирования .

tar -cvf /backup/archive.tar /home/user/* — создать в каталоге backup архив archive.tar из файлов домашнего каталога пользователя user . При использовании данного формата команды, нередко возникает вопрос, почему tar не включает в архив скрытые файла и каталоги, имена которых начинаются с точки. Это не столько проблема tar , сколько проблема оболочки пользователя ( bash ), которая трактует шаблон * как ”все файлы, исключая скрытые”. Команде tar ( как и прочим командам Linux ) передается не шаблон, а уже подошедший под него файл или группа файлов. Определением подходящих под шаблон объектов занимается сама командная оболочка, в которой исходя из соображений безопасности, шаблон ”*” не включает имена файлов, начинающиеся с точки. Поэтому, для того чтобы создать архив, включающий скрытые файлы данным шаблоном пользоваться не нужно, а просто указать имя архивируемого каталога, например /home/user/:

tar -cvf /backup/archive.tar /home/user/

tar -zcvf /backup/archive.tar.gz /home/user/ — создать архив всех файлов домашнего каталога пользователя user с использованием сжатия данных с помощью gzip

tar -jcvf /backup/archive.tar.bz2 /home/user/ — создать архив всех файлов домашнего каталога пользователя user с использованием сжатия данных с помощью bzip2

tar -acvf /backup/archive.tar.bz2 /home/user/ — создать архив всех файлов домашнего каталога пользователя user с использованием сжатия данных с помощью программы, определяемой автоматически по имени файла. В данном примере имя архива имеет расширение .bz2 и будет использована программа сжатия bzip2 . Если бы в имени архива имелось расширение .gz, то использовалась бы программа сжатия данных gzip . Если по имени файла архива невозможно определить программу сжатия, то архив создается, но сжатие не выполняется. При распаковке архива параметр -a указывать не обязательно, поскольку тип сжатия определяется автоматически в любом случае.

tar -tvf archive.tar — отобразить список файлов и каталогов архива archive.tar

tar -tvf archive.tar > listfiles — то же, что и в предыдущем примере, но с выдачей результатов в текстовый файл listfiles

tar –xvf archive.tar — распаковать (разархивировать) в текущий каталог содержимое архива archive.tar

tar –xvf /backup/archive.tar –C /home2/ — извлечь содержимое архива /backup/archive.tar в каталог /home2 .

tar –xv –keep-newer-file –f /backup/archive.tar –C /home2 — то же, что и в предыдущем примере, только перезапись существующих файлов не будет выполнена, если они того же возраста или более новые.

tar –xvkf /backup/archive.tar –C /home2 — если при извлечении данных из архива, будет попытка перезаписи существующего файла, то программа tar завершится ошибкой.

tar –exclude=*log* -zcvf /backup/archive.tar.gz /var/ — при архивировании исключить файлы журналов.

tar —exclude-backups —exclude-caches —exclude-tag-all=excludes.txt -zcvf /backup/home.tar.gz /home/ — при архивировании исключить файлы бэкапов, кэш и все каталоги, в которых присутствует файл с именем excludes.txt

Утилита tar позволяет создавать инкрементные архивы, т.е. содержащие в себе только те файлы, которые были изменены с момента полного или добавочного резервного копирования. При использовании такого режима архивирования выполняется команда tar с параметром —listed-incremental=ФАЙЛ ( -g ФАЙЛ ), где ФАЙЛ указывает на файл метаданных, в котором хранится информация о состоянии инкрементного архива. Если такого файла не существует, то при выполнении команды создается полный архив, а также новый файл метаданных, который будет использоваться в последующих этапах создания инкрементных резервных копий.

tar -zcvf /backup/home.tar.gz —backup=numbered —listed-incremental=/backup/home_meta /home/ — создать инкрементный архив каталога /home . Параметр —backup=numbered указывает на то, что нужно создавать нумерованные резервные копии. Полный архив, в данном примере, будет создан в виде файла с именем home.tar.gz , а последующие инкрементные архивы будут создаваться с именами home.tar.gz.

и т.д. Для восстановления данных из инкрементного архива нужно сначала разархивировать полный архивный файл, а затем – инкрементные:

tar -zxvf /backup/home.tar.gz -C /home2 — извлечь в каталог /home2 содержимое полного архива.

tar -zxvf /backup/home.tar.gz.

-C /home2 — извлечь в каталог /home2 содержимое первого инкрементного архива.

tar -zxvf /backup/home.tar.gz.

-C /home2 — извлечь в каталог /home2 содержимое второго инкрементного архива.

Использование инкрементного архивирования в tar позволяет, например, создавать автоматически с помощью планировщика периодические резервные копии ( ежедневно, еженедельно, ежемесячно и т.п. )

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети

Источник

Команда tar в Linux

В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.

Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.

Синтаксис команды tar

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

Для его распаковки:

tar опции архив.tar

Функции, которые может выполнять команда:

Функция Длинный
формат
Описание
-A —concatenate Присоединить существующий архив к другому
-c —create Создать новый архив
-d —diff
—delete
Проверить различие между архивами
Удалить из существующего архива файл
-r —append Присоединить файлы к концу архива
-t —list Сформировать список содержимого архива
-u —update Обновить архив более новыми файлами с тем же именем
-x —extract Извлечь файлы из архива

При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:

Параметр Длиннный
формат
Описание
-C dir —directory=DIR Сменить директорию перед выполнением операции на dir
-f file —file Вывести результат в файл (или на устройство) file
-j —bzip2 Перенаправить вывод в команду bzip2
-p —same-permissions Сохранить все права доступа к файлу
-v —verbose Выводить подробную информацию процесса
—totals Выводить итоговую информацию завершенного процесса
-z —gzip Перенаправить вывод в команду gzip

А дальше рассмотрим примеры того, как может применяться команда tar Linux.

Как пользоваться tar

1. Создание архива tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:

tar —totals —create —verbose —file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar —totals -cvf archive.tar file1 file2 file3

2. Просмотр содержимого архива

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

tar -xvf archive.tar

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:

tar -C «Test» -xvf archive.tar

3. Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C «Test» -xjvf arhive.tar.bz2

tar -xzvf archive.tar.gz

На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.

Источник

Оцените статью