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.