Quiero tomar una carpeta de 78 gb y almacenarla en un solo archivo (para cargarla en un servicio en la nube), como si la estuviera comprimiendo en un archivo, pero no quiero ninguna compresión (no tengo tanta CPU tiempo disponible). ¿Hay alguna forma de que pueda lograr esto, tal vez un comando de terminal que no conozco?
shell
files
compression
cjmaria
fuente
fuente
tar
comando en Linux.tar -cf long.file.tar folder
lzop
está diseñado para la velocidad.Respuestas:
Uso
tar
:tar -cf my_big_folder.tar /my/big/folder
Restaurar el archivo con
tar -xf my_big_folder.tar -C /
-C cambiará al directorio raíz para restaurar su archivo, ya que el archivo creado anteriormente contiene rutas absolutas.
EDITAR : Debido al tamaño relativamente grande del archivo, sería mejor enviarlo [directamente] a su ubicación final, utilizando SSH o un punto de montaje del recurso / carpeta en la nube. Por ejemplo, como sugiere Cole Johnson :
o
EDITAR : como Blacklight Shining también sugiere , si desea evitar rutas absolutas, puede cambiar al padre de la carpeta grande y
tar
desde allí:o
Reflexiones personales
La inclusión de caminos relativos o absolutos es una cuestión de preferencia personal.
Hay casos en que las rutas absolutas son obvias, por ejemplo, para una restauración en una situación de recuperación ante desastres. Para proyectos o colecciones locales, es común archivar un árbol de directorios desde el padre de la carpeta deseada para evitar saturar el directorio actual, en caso de que el archivo se descomprima accidentalmente en su lugar. Si big_folder se encuentra en algún lugar profundo de una jerarquía * NIX estándar , puede tener sentido comenzar a archivar la primera carpeta no estándar donde big_folder se desvía y su árbol de directorios desde allí.
Finalmente, yendo pedante aquí, los
tar
miembros del archivo siempre son relativos, ya que a) pueden restaurarse en cualquier directorio yb)tar
elimina el inicio/
al crear un archivo. Personalmente, siempre uso -C cuando desempaqueta un archivo.fuente
tar -cf /network/mount/point/folder.tar /folder
lugar de compartirlo con la computadora local y luego subirlo si puedestar -cf $archive.tar -C $source_dir .
. Si la máquina de destino no tiene directorio con el mismo camino que el directorio de origen, usted necesita para hacer eso. Solo asegúrese de-C
ingresar a un nuevo directorio cuando extraiga (mkdir $destination_dir && tar -xf $archive.tar -C $destination_dir
); de lo contrario, el contenido del archivo se descargará en el directorio en el que se encuentre.Alternativa: cpio
Desembalaje al directorio actual:
Advertencias:
find /my/big/folder
lugar decd
, el archivo contendrá rutas completas y la extracción intentará seguirlas;fuente