Как хранить большую папку в одном файле без сжатия

Извините, если это глупый вопрос, но я хочу взять 78-гигабайтную папку и сохранить ее в одном файле (для загрузки в облачную службу), как будто я сжимаю его в архиве, но я не хочу никакого сжатия (У меня не так много времени процессора). В любом случае, я могу это сделать, возможно, терминальную команду, о которой я не знаю?

  • Имя файла Regex с несколькими цифрами
  • Проблема с разрешениями пользователей Linux
  • слияние всех файлов в один файл?
  • Список всех файлов, присутствующих в кеше
  • список файлов с похожими именами, отсортированными по сходству
  • Как рекурсивно перемещать партии из 20 файлов в пронумерованные папки из папки из 1000 файлов
  • Проверьте, существуют ли файлы в списке файлов в определенном каталоге
  • Проверьте, есть ли файлы, соответствующие шаблону, чтобы выполнить скрипт
  • 2 Solutions collect form web for “Как хранить большую папку в одном файле без сжатия”

    Использовать tar : tar -cf my_big_folder.tar /my/big/folder

    Восстановите архив с помощью tar -xf my_big_folder.tar -C /

    -C изменится на корневой каталог, чтобы восстановить архив, поскольку созданный выше архив содержит абсолютные пути.

    EDIT : из-за относительно большого размера архива было бы лучше отправить его [прямо] в свое окончательное местоположение, используя SSH или точку монтирования облачного ресурса / папки. Например, как предлагает Коул Джонсон :

     tar -cf /network/mount/point/my_big_folder.tar /my/big/folder 

    или

     tar -c /my/big/folder | ssh example.com "cat > my_big_folder.tar" 

    EDIT : Поскольку Blacklight Shining также предлагает , Если вы хотите избежать абсолютных путей, вы можете перейти к родительской папке большой и tar оттуда:

     tar -cf /network/mount/point/my_big_folder.tar \ -C /my/big/folder/location the_big_folder 

    или

     tar -cC /my/big/folder/location the_big_folder | \ ssh example.com "cat > my_big_folder.tar" 

    Личные размышления

    Является ли включение относительных или абсолютных путей вопросом личного предпочтения.

    Есть случаи, когда абсолютные пути очевидны, например, для восстановления в ситуации аварийного восстановления. Для локальных проектов или коллекций обычно архивируется дерево каталогов из родительского поля желаемой папки, чтобы избежать загромождения текущего каталога, если архив случайно распакован на месте. Если big_folder находится где-то глубоко в стандартной иерархии * NIX , может возникнуть некоторый смысл начать архивирование первой нестандартной папки, где big_folder отклоняется от нее и ее дерева каталогов.

    Наконец – педантичный здесь – элементы архива tar всегда относительны, так как a) они могут быть восстановлены в любом каталоге и b) tar удаляет ведущий / при создании архива. Я лично стараюсь всегда использовать -C при распаковке архива.

    Альтернатива: cpio

     (cd /my/big/folder && find . -depth -print0 | cpio -0o > myfolder.cpio) 

    Распаковка в текущий каталог:

     cpio -id < myfolder.cpio 

    Предостережения:

    • Если вы используете find /my/big/folder вместо cd , архив будет содержать полные пути, и извлечение будет пытаться следовать им;
    • Большие файлы (> 2 ГБ) могут быть проблемой;
    Linux и Unix - лучшая ОС в мире.