Intento comprimir todas las carpetas en el directorio dado. Así que escribí esto
find /home/user/rep/tests/data/archive/* -maxdepth 0 -type d -exec zip -r "{}" \;
pero tengo
zip error: Nothing to do! (/home/user/rep/tests/data/archive/tmp.zip)
zip error: Nothing to do! (/home/user/rep/tests/data/archive/tmp_dkjg.zip)
esto es lo que contiene
user@machine:~$ ls /home/aliashenko/rep/tests/data/archive/
tmp tmp_dkjg tmp_dsf
Solución del problema
Para crear un archivo comprimido:
De una lista de archivos,
zip myZippedImages.zip alice.png bob.jpg carl.svg
. Tienes que especificar ambos- el archivo zip (salida), y
- los archivos que comprimirá (entrada).
From a folder,
zip -r myZippedImages.zip images_folder
Para que quede más claro que la respuesta de Alex, para crear un archivo zip, zip toma un mínimo de 2 argumentos. ¿Cómo lo sé? Porque cuando usas man zip
, obtienes su página de manual, parte de la cual es:
zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption...] [-b path]
[-n suffixes] [-t date] [-tt date] [zipfile [file...]] [-xi list]
y cuando escribiste zip
en la línea de comando, obtienes:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
En ambos casos, aviso [zipfile list]
o [zipfile [file...]]
. Los corchetes indican que algo es opcional. Si no está guardando en un archivo zip, entonces list
no se requiere el argumento.
Si desea guardar en un archivo zip (al elegir la [zipfile list]
opción, también debe proporcionar list
, porque está entre corchetes. Por esta razón, prefiero la salida de zip
en lugar de man zip
. (La página de manual puede ser confusa)
No hay comentarios.:
Publicar un comentario