Под Линукс в архивировании для новичков есть маленькая трудность, поскольку общеупотребительным форматом для архивов является так называемый tar.gz.
Это не что иное, как двойной архив, продукт последовательной работы сначала утилиты tar, которая может слить файлы и каталоги в один несжатый файл (так называемый tarfile), а потом сжатие этого файла архиватором gzip. Такая практика повелась де-факто потому, что gzip не умеет работать с каталогами, а утилита tar, предназначенная для создания программных пакетов, это делать умеет.
Утилита tar позволяет слить несколько файлов в один. Чтобы занести файлы 'apple', 'angst' и 'asparagus' в архив по имени 'afiles.tar', используйте следующую команду:
# tar --create --file=afiles.tar apple angst asparagus
или
# tar -c -f afiles.tar apple angst asparagus
При этом если файл afiles.tar существует, старое содержимое его будет уничтожено.
Как забэкапить, например, каталог /usr, с подкаталогами (c - create, f - делать вывод в файл, а не на ленту):
# tar -cf backup_usr.tar /usr
Как посмотреть подробно содержимое tar (t - вывести список содержимого архива, v - verbose, f - file):
# tar -tvf backup_usr.tar
Как сразу сделать архив со сжатием:
# tar -czvf compressed-archive.tar file-stored-to-archive
Подсказка по командам tar:
# tar --help
Утилита gzip позволяет создавать архив со сжатием (с расширением .gz).
Как заархивировать файл (в этом примере создается архив backup_usr.tar.gz, а исходный файл удаляется):
# gzip backup_usr.tar
В этом примере исходный файл сохраняется, и создается новый файл архива backup_usr.tar.gz:
# gzip -c backup_usr.tar >backup_usr.tar.gz
Вывод подсказки:
# gzip -h
Утилита bzip2 делает более современный архив (с расширением .bz2).
Как заархивировать файл (в этом примере создается архив backup_usr.tar.bz2, а исходный файл удаляется):
# bzip2 backup_usr.tar
В этом примере исходный файл сохраняется, и создается новый файл архива backup_usr.tar.bz2 (k - keep):
# bzip2 -k backup_usr.tar
Как распаковать файл gcc-g++-4.2.2.tar.bz2 (d - decompress, при этом файл gcc-g++-4.2.2.tar.bz2 стирается, и появляется файл gcc-g++-4.2.2.tar):
# bzip2 -d gcc-g++-4.2.2.tar.bz2
В этом примере исходный файл сохраняется, и создается новый файл gcc-g++-4.2.2.tar:
# bzip2 -d -k gcc-g++-4.2.2.tar.bz2
Вывод подсказки:
# bzip2 -h
# bzip2 --help
ASPLinux, утилита zip. В следующем примере создается стандартный файл архива /bbb/071102asplinux10.zip и туда добавляется содержимое папок /home и /etc со всеми файлами и подкаталогами (опция -r):
# zip -r /bbb/071102asplinux10.zip /home /etc |