Estoy tratando de comprimir un directorio en
/home/cyrus/sql
Y quería cambiar el directorio de trabajo al comprimir la carpeta:
/ $ zip -b /home/cyrus sql.zip /home/cyrus/sql
Pero cuando reviso el archivo zip:
/ $ unzip -l sql.zip
Archive: sql.zip
Length Date Time Name
--------- ---------- ----- ----
0 2013-05-30 10:59 home/cyrus/sql/
1776642 2013-05-23 10:22 home/cyrus/sql/wordpress.sql
--------- -------
1776642 2 files
La carpeta raíz debería haber sido sql
. ¿Qué he hecho mal?
cd /home/cyrus && zip /sql.zip sql
si desea que se cree el archivo zip en la raíz.No estoy seguro si entiendo esto bien, pero -b no cambiará la carpeta raíz. Pondrá el archivo zip temporal en el directorio / home / cryus, copiando sobre sql.zip al directorio actual cuando haya terminado. Esta opción solo es útil cuando se actualiza un archivo existente, y el sistema de archivos que contiene este archivo antiguo no tiene suficiente espacio para contener archivos antiguos y nuevos al mismo tiempo.
tratar de usar:
-j Almacene solo el nombre de un archivo guardado (basura la ruta) y no almacene nombres de directorio. Por defecto, zip almacenará la ruta completa (relativa a la ruta actual).
fuente
-j
puede que no sea correcto; Supongo que el OP quiere mantener rutas relativas, no eliminar todas las rutas.Inspirado por la respuesta de Stephane:
El resultado:
fuente
Puede ser más fácil vincular la carpeta que está intentando comprimir al directorio actual. De esa manera puedes quedarte donde estás.
Ellos rm el enlace simbólico si lo desea.
fuente