cara menentukan direktori target unzip


21

Apakah ada opsi pada perintah zip linux sehingga saya bisa mengkodekan direktori targetnya. Sebagai contoh, saya ingin meng-zip file ./mydir ke myzipfile.zip tapi saya ingin perintah unzip untuk membuat direktori spesifik "projx" dan memperluas file yang berada di bawah ./mydir ke sana.

zip -r myzipfile.zip mydir (-option to expand into 'projx' when unzipped? )

Jawaban:


18

Tidak ada opsi seperti itu, setidaknya tidak untuk Info-ZIP. Anda harus membuat direktori projx sendiri, memindahkan / menyalin file Anda ke dalamnya dan kemudian meneruskannya ke zip.

Jika direktori sudah ada maka hanya lulus pilihan -duntuk unzipmenentukan direktori target untuk ekstraksi.


4

Untuk melakukan itu ada cara lain. Anda dapat meratakan seluruh isi file zip menggunakan metode berikut. Direktori target adalah " projx " dan jalankan perintah berikut.

cd /projx && unzip -j /path/to/myzipfile.zip

Opsi -j disebut "jalur sampah" dan hanya membuang setiap file ke direktori saat ini alih-alih mengekstraksi struktur direktori apa pun.


0

Saya tidak tahu tentang opsi baris perintah tertentu, tetapi Anda dapat menggunakan perintah berikut untuk mencapai tujuan Anda:

ln -s mydir projx
zip -r myzipfile.zip projx
rm projx

Perintah pertama membuat tautan simbolis, sehingga Anda dapat mengakses file mydirjuga melalui projx. Kemudian menggunakan Info-ZIP(diuji dengan versi 2.31) tautan simbolik ditereferensi (ini adalah default, kecuali jika Anda tentukan -y) dan file disimpan secara rekursif:

adding: projx/ (stored 0%)
adding: projx/foo.1 (deflated 23%)
adding: projx/bar.2 (deflated 73%)
...

Anda lihat, nama folder disimpan dalam file juga - jadi setelah ekstraksi direktori projxdibuat.

Namun, saya tidak bisa memikirkan kemungkinan untuk menyimpan jalur absolut, tetapi ini adalah ide yang buruk.


Path absolut hanya berfungsi pada MacOS dengan menentukan opsi -jj. Pada sistem operasi lain hanya opsi -jyang didukung (dan -jjdiartikan sebagai -j) yang menghilangkan setiap jalur utama dan dengan demikian mengarah ke sebaliknya (desain yang sangat pintar ...).
scai
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.