
Tengo que comprimir algunos archivos individualmente desde la carpeta A y moverlos a la carpeta B en el mismo directorio, lo que lleva mucho tiempo. Así que pensé en mover todos esos archivos para comprimirlos a una nueva carpeta (c), comprimirlos y moverlos a la carpeta B. ¿Es posible hacerlo con pocos comandos? Se aceptan sugerencias.
Respuesta1
Posiblemente un tipo de script de shell podría ayudarte:
enter code here
mv <file.a>...<file.n> <new_folder>
zip -r <new_folder>
mv new_folder.zip /destination_folder
Respuesta2
cp -R (the path of the folder to copy) (the name of the copied file)
entonces
zip -r (name your zip) (the name of the copied file)
Escenario de ejemplo: digamos que quiero copiar los complementos de una instalación de WordPress y luego comprimirlos (mientras estoy en la carpeta raíz de WordPress).
Voy a hacer:
cp -R wp-content/plugins plugins_backup
entonces para comprobarlo haré:
ls -la
Veré el nuevo directorio.complementos_copia de seguridad, y lo cerraré:
zip -r plugins_backup.zip plugins_backup
listo. (luego sigue la respuesta de mv para moverlo a cualquier parte).
Respuesta3
De alguna manera he ignorado todo este tiempo el complemento FUSE para compatibilidad con archivos ZIP. Permite al usuario montar (o crear) un archivo ZIP como si fuera un sistema de archivos de lectura/escritura.
Primero cree un archivo nuevo (vacío) que termine en .zip y móntelo en /mnt. Como desea que el archivo ZIP termine en la carpeta B, lo crearemos allí:
# rm -f /folder_B/my_files.zip
# fuse-zip /folder_B/my_files.zip /mnt
Su publicación no está clara, pero parece que desea que el archivo .ZIP contenga la carpeta_C y luego todos sus archivos residan allí. Entonces crearemos la carpeta_C dentro del archivo .ZIP que está en /mnt:
# mkdir /mnt/folder_C
Ahora simplemente puede ir a la carpeta_A y mover todos los archivos que desea comprimir a /mnt/carpeta_C:
# cd /folder_A
# mv file1 file2 ... fileN /mnt/folder_C
Finalmente, desmonte e inspeccione el archivo ZIP:
# umount /mnt
# unzip -v /folder_B/my_files.zip
Me doy cuenta de que esto parece complicado, pero los cuatro pasos básicos son:
# fuse-zip /folder_B/my_files.zip /mnt
# mkdir /mnt/folder_C
# mv /folder_A/file1 /folder_A/file2 ... /folder_A/fileN /mnt/folder_C
# umount /mnt
No quiero decir que este método sea mejor ni peor que las otras soluciones, solo una forma diferente de hacerlo. Espero lo encuentres interesante.