zip comando no Linux como forçar a zip apenas arquivos e não toda a estrutura de diretórios?

2

Eu quero apenas uma coisa estúpida e simples. ZIP todo o conteúdo do diretório dado.

O que eu recebo como resultado de:

zip -r /home/andi/MEDIA_DUMPS/xyz_media.zip /home/andi/xyz/mega_backend/mega_www/media

Segue:

➜  home  tree -L 5
.
└── andi
    └── xyz
        └── mega_backend
            └── mega_www
                └── media
                    ├── csv
                    ├── editor
                    └── img

enquanto eu quero apenas isso:

➜  media  tree -L 1
.
├── csv
├── editor
└── img

MINHA MANEIRA AD-HOC AO REDOR USANDO TAR:

tar -cjf /home/andi/MEDIA_DUMPS/xyz_media.tar.gz -C /home/andi/xyz/mega_backend/mega_www/media .

com base em: link

    
por andilabs 18.11.2014 / 09:56

3 respostas

2

Como faço para compactar apenas arquivos e não toda a estrutura de diretórios?

Use a opção -j (junk-paths).

zip: compactar e compactar arquivos (arquivados)

-j
--junk-paths
      Store  just the name of a saved file (junk the path), and do not
      store directory names. By default, zip will store the full  path
      (relative to the current directory).

...

You may want to make a zip archive that contains the files in foo, without recording the directory name, foo.

You can use the -j option to leave off the paths, as in:

zip -j foo foo/*

Fonte zip: Empacote e comprima arquivos (arquivados) :

    
por 18.11.2014 / 10:44
1

Tente

find /home/andi/xyz/backend/media -type f -print | zip -j name.zip -@

encontrar procura por arquivos & canaliza-los para zip. -j significa lixo no caminho & - @ diz ao zip para ler o stdin.

Espero que isso tenha sido útil.

    
por 18.11.2014 / 11:37
1
Zip command is:
zip -jr /home/jack/Desktop/Backup/20180314/032256.zip /home/jack/Desktop/bopy'

Isso cria um arquivo zip sem a pasta inteira nele. A bandeira "-jr" ou "zip -j -r .... zip /../.."

    
por 14.03.2018 / 03:25

Tags