යුනික්ස් විධාන රේඛාවේ zip / unzip කරන්නේ කෙසේද?


576

විධාන රේඛාවෙන් zip ලේඛනාගාරය නිර්මාණය කර උකහා ගන්නේ කෙසේද?


3
ach ජොකිම්, ඔබ ප්‍රශ්නයකින් ප්‍රශ්නය ඇසිය යුතු අතර පිළිතුරකින් පිළිතුරක් ලබා දිය යුතුය. ඔබේම ප්‍රශ්නවලට පිළිතුරු සැපයීමේ කිසිදු ගැටළුවක් නැත, නමුත් ප්‍රශ්නයේම කොටසක් ලෙස නොවේ, මන්ද එය SO හි සමස්ත ප්‍රජාවගේ ඡන්දය-හොඳම-පිළිතුරු-වාසිය බිඳ දමයි. ඊට අමතරව, මෙය බොහෝ විට සුපර් යූසර් සඳහා වඩාත් සුදුසු වන්නේ එය ක්‍රමලේඛයට සම්බන්ධ නොවන බැවිනි.

2
ඔබේ පිවිසුම අමතක වුවහොත් ඔබ සබැඳිව යන්නේ කෙසේද සහ SO පරීක්ෂා කරන්නේ කෙසේද?

l rlb.usa: මම විවිධ ස්ථානවල විවිධ සේවාදායකයන්හි වැඩ කරමි. මා දකින පරිදි මේ වගේ සටහනක් සඳහා SA භාවිතා කිරීම අනෙක් අයටද උපකාරී වේ.
joachim

Answers:


701

සාමාන්යයෙන් එක් භාවිත tarවන නොහැකිළු සංරක්ෂිත නිර්මාණය කිරීමට සහ එක්කෝ gzipහෝ bzip2බව සංරක්ෂිත සංකෝචනය කිරීමට. ඉහත සඳහන් ලේඛනාගාරය සම්පීඩනය කිරීමට අනුරූප gunzipසහ bunzip2විධාන භාවිතා කළ හැකිය, නැතහොත් tarසම්පීඩනය සිදු කිරීම සඳහා ඔබට විධානයෙහි කොඩි භාවිතා කළ හැකිය .

ඔබ විශේෂයෙන් සිප් ගොනු ආකෘතියට යොමු කරන්නේ නම් , ඔබට සරලවම zipසහ unzipවිධාන භාවිතා කළ හැකිය .

සම්පීඩනය කිරීමට:

zip squash.zip file1 file2 file3

හෝ නාමාවලියක් zip කිරීමට

zip -r squash.zip dir1

සම්පීඩනය කිරීමට:

unzip squash.zip

මෙය ඔබගේ වර්තමාන වැඩ කරන නාමාවලියෙහි එය ඉවත් කරයි.


77
මම පුද්ගලිකව කවදාවත් zip -r9 archive.zip files...සින්ටැක්ස් භාවිතා කරමි (-r = පුනරාවර්තන -9 = උපරිම සම්පීඩනය).
ඇම්ෆෙටාමචින්

3
පැති සටහනක් ලෙස: zip.ZIP ලේඛනාගාරයේ විවිධ රසයන් නිර්මාණය කළ හැකි අතරම විවිධ සම්පීඩක භාවිතා කළ හැකිය. අනෙක් අතට, ඒ හා සමාන තවත් සම්පීඩන මෙවලම් ගණනාවක් තිබේ: 7-Zip, gzip, bzip2, rzip, ආදිය එකිනෙකට හුවමාරු නොවන.
ධ්‍රැවීය

7
මව් නාමාවලිය ඇතුළත් කිරීමට ඔබට අවශ්‍ය නැතිනම්:cd dir1; zip -r ../squash.zip *
Marinos An

මම ව්‍යාකූල වී සිටිමි, මම මෙය කර උද්ධමනය හා නිස්සාරණයන් පිළිබඳ දීර් list ලැයිස්තුවක් ලබා ගත්තෙමි, නමුත් මම නාමාවලිය පරීක්ෂා කළ විට එය හිස් ය, මුල් සිප් ගොනුව සඳහා ඉතිරි කරන්න? මේ සියල්ල යන්නේ කොහේද?
ගිම්හාන සංවර්ධක

12
වාර්තාව සඳහා, සියලුම ලිපිගොනු කෙලින්ම වත්මන් නාමාවලියට ඇතුළත් කරනවා වෙනුවට unzip -d myfolder squash.zipවෙනම නව නාමාවලියකට ( myfolder) උපුටා ගැනීම සඳහා භාවිතා කරන්න , සිප් ගොනුවේ ඉහළ මට්ටමේ බොහෝ ගොනු සහ නාමාවලි අඩංගු නම් එය කරදරයක් විය හැකිය. බොහෝ UI unzip මෙවලම් ක්‍රියා කරන ආකාරය මෙය අනුකරණය කරයි.
ඇලෙක්සැන්ඩර් ක්ලිමෙට්ෂෙක්

68

සැබෑ ඇත විශාල මම එසේ ඔබ වඩා වර්ගීය අර්ථයෙන් "සිප්" අදහස් භාර ගැනීමට යන්නේ යුනික්ස් ව්යුත්පන්න යටතේ සංකෝචනය හා uncompress කිරීමට විවිධ ක්රම සංඛ්යාව නිශ්චිත ගොනු ආකෘතිය.

GNU tarවැඩසටහන සමඟ ඔබට ලිපිගොනු ඉහළට (සම්පීඩිත ආකෘතියෙන්) සිප් කළ හැකිය :

tar -zcvf myfile.tgz .

එය වත්මන් නාමාවලිය කරනු ඇත. .ඔබට වෙනත් දෙයක් අවශ්‍ය නම් වෙනත් ගොනු නම් සමඟ ප්‍රතිස්ථාපනය කරන්න .

එම ගොනුව ඉවත් කිරීමට, භාවිතා කරන්න:

tar -zxvf myfile.tgz

එය උපකල්පනය කරන්නේ ඔබට tarසම්පීඩනය කිරීමට මෙන්ම ලිපිගොනු එකකට ඒකාබද්ධ කිරීමට හැකියාවක් ඇති බවය.

එසේ නොවේ නම්, ඔබ භාවිතා කළ හැකිය tar cvfවිසින් අනුගමනය gzipසම්පීඩන සඳහා (නැවත, ලබා ගත හැකි නම්) සහ gunzipපසුව tar xvf.


ZIP ආකෘති ගොනු නිශ්චිතව හැසිරවීම සඳහා, එය බාගත 7zipකර භාවිතා කිරීමට මම නිර්දේශ කරමි - එය ZIP එක ඇතුළුව විශාල ගොනු ආකෘති හඳුනා ගනී .


නැතහොත් tar jcvf file.tar.bz2...bzip2 ආකෘතියෙන් හෝ tar Jcvf file.tar.xz ...xz සම්පීඩනය සඳහා සම්පීඩනය කිරීමට භාවිතා කරන්න.
ඕල්ඩ් ටයිමර්

6
මම ඔබේ පිළිතුර අවතක්සේරු කළේ තාර ලිපිගොනු නොව zip ලේඛනාගාරය සමඟ කටයුතු කරන්නේ කෙසේද යන ප්‍රශ්නයයි.
ස්ටාර්ෆිෂ්

3
Ar ස්ටාර්ෆිෂ්, එය නිසැකවම ඔබගේ අයිතිවාසිකම් තුළ වේ, අවම වශයෙන් එයට හේතුව පැහැදිලි කිරීමට ස්තූතියි, බොහෝ අය ඒ සඳහා කාලය ගත නොකරයි :-) මම “සිප්” ගත්තේ විශේෂිත ආකෘතියකට වඩා සාමාන්‍ය අර්ථයෙන් (සම්පීඩනය), ඒ නිසා මම එය වඩාත් පැහැදිලි කරන්නම්.

1
විවිධ වේදිකා අතර, මැක් සිට ලිනක්ස් දක්වා හෝ අනෙක් අතට ගමන් කිරීමේදී තාර ලේඛනාගාරය නිවැරදිව ක්‍රියා නොකරන බව මතක තබා ගන්න. සියලුම පද්ධති වල නිවැරදිව ක්‍රියා කරන බැවින් සිප් වඩාත් ආරක්ෂිත වේ.
user1751825

මම හිතන්නේ තාක්‍ෂණිකව මෙය gzip, ඒ නිසා එය හොඳයි. මම අනුමාන කරනවා. ප්‍රශ්නය පැහැදිලිවම ඇසූ දෙය නොවේ.
බකමූණ

35

ඔබට zip සහ unzip පැකේජ ස්ථාපනය කර නොමැති නම් සහ ඔබට ජාවා තිබේ නම්, ඔබට jarunzip කිරීමට භාවිතා කළ හැකිය :

jar -xf file.zip

3
මගේ සේවාදායකය නොවේ, unzip, zip, 7z, කිසිවක් නැත ... තවද මෙය ක්‍රියාත්මක විය. ස්තූතියි!
ඩාරියස්

3
මෙය විශිෂ්ට ඉඟියක්.
ස්ටාර්ෆිෂ්

30

හොඳයි, විවිධ මෙහෙයුම් පද්ධති සඳහා ලිපිගොනු බෙදා හැරීමේදී, මම 7-zip නිර්දේශ කරමි .

සාමාන්‍යයෙන් පැකේජයේ දී p7zip, ඔබට ඔබේම 7z ලේඛනාගාරයක් සෑදිය හැකි 7zසහ 7zaවිධානය ලැබෙනු ඇත .

7zaසම්මත ( pkzip ) zip ලේඛනාගාරය දිරාපත් කළ හැකිය (සහ ඒවා -tzipස්විචය සමඟ නිර්මාණය කරන්න ).

සම්පීඩනය:

7za a archive.7z file1 file2 directory/

විසංයෝජනය:

7za x archive.7z

-sfxස්විචය සමඟ ස්වයං-නිස්සාරණ ලේඛනාගාරයක් ද එයට නිර්මාණය කළ හැකිය:

7za a -sfx archive.exe files1 file2 dir

වින්ඩෝස් පරිශීලකයින්ට 7z ලේඛනාගාරය විවෘත කළ නොහැකි නම් මම මෙම ක්‍රමය නිර්දේශ කරමි (ඔබට ඒ සඳහා මෙවලමක් උපදෙස් දීමට අවශ්‍ය නම්: PeaZip ).

ඔබේ ටාබෝල් සමඟ එකම සම්පීඩන ඇල්ගොරිතම භාවිතා කිරීමට ඔබට අවශ්‍ය නම්, -Jසමඟ ස්විචය භාවිතා කරන්න tar:

tar cJf archive.tar.xz file1 file2 dir

xzසම්පීඩන සඳහා LZMA2 භාවිතා කරන නමුත්, මාර්ගය වැඩ සඳහා යුනික්ස් මෙවලම, ය gz, bz2යනාදිය ක්රියා කරයි. එය පෙරනයක් ලෙස පවා ක්‍රියා කරයි.

7z යුනික්ස් හි සම්පූර්ණ ගොනු පද්ධති තොරතුරු සහිත ලේඛනාගාරයක් නිර්මාණය නොකරයි, එබැවින් ඔබ tar7z භාවිතා කිරීමට පෙර භාවිතා කිරීමට අවශ්‍ය වනු ඇත (නමුත් 7z tarගොනුව පිළිබඳ වෙනත් තොරතුරු ගබඩා කරන බැවින් xz, එය නිර්මාණය කර ඇති බැවින් භාවිතා කිරීමට මම නිර්දේශ කරමි ):

tar cf - file1 file2 dir | 7za z -si archive.tar.7z

2
මම සමහර විට මෙම පිළිතුර එකතු කළ යුතුය atool, එය විවිධ සම්පීඩක භාවිතා කිරීම වඩාත් සුවපහසු කරන කුඩා කුඩා මෙවලමකි. බව බඳින්න aබවට පත් හා සංරක්ෂණ නිර්මාණය a arc.7z folder/හෝ සරල නිස්සාරණයa arc.7z
polemon

23
unzip <filename>

හා

zip -r archive.zip <filename> [filename]

මෙම විධානයන් ඔබේ පැකේජ කළමනාකරු හරහා ස්ථාපනය කර ඇති බවට ඔබ සහතික විය යුතුය. විධාන රේඛාවේ වෙනත් කිසිවක් භාවිතා කිරීමට වඩා එය අපහසු නැත. තාර සමඟ ලේඛනාගාර සෑදීමට වඩා එය සරල ය.


2
මෙය පැරණි නූලක් බව මම දනිමි නමුත් මෙය හොඳම පිළිතුරයි. 7z හෝ තාර ගැන කතා නොකරයි, එහි සංක්ෂිප්ත හා කෙළින්ම කාරණය
කයිල්

4

BSD තාරයටද මෙය කළ හැකිය

bsdtar -a -c -f sunday.zip sunday.jpg

හෝ:

bsdtar -x -f sunday.zip

tarGNU tarසහ අනෙකුත් ඒවාට සාපේක්ෂව අතිරේක සම්පීඩන ආකෘති කිහිපයකට සහය දැක්වීමේ වාසිය BSD සතුව ඇත tar. ලොකුම වාසිය නම්, සමහර විට, එය සමාන වාක්‍ය ඛණ්ඩයක් භාවිතා කරන අතරතුරtar එසේ කිරීමයි . නියත වශයෙන්ම ඔබ භාවිතා කළ හැකිය 7z, unrar, unzipඑම commandline සිට, ආදිය, නමුත් ඔවුන් භාවිතා විවිධ කාරක රීති.
njsg

3

වඩාත්ම සම්මත පිළිතුර නම් pax, එය නිර්දේශ කරනුයේ cpioසහ tar.

cpioPOSIX මෙන් නොව tar, නමුත් GNU මෙන් tar, paxසංරක්ෂිත ලිපිගොනු සහ සංරක්ෂිතය සම්පීඩනය කළ හැකිය. මෙම හැසිරීම වෙනස් වේ zip, එය එක් එක් ගොනුව සංරක්ෂිතයට දැමීමට පෙර සම්පීඩනය කරයි.


1
කරන්නේ paxසහාය සිප් ඇසුරුම්?
ස්ටාර්ෆිෂ්

නෑ, එය paxලේඛනාගාරයට සහය නොදක්වයි !
රොබ්ලොජික්

2

මෙය ආවරණය කරන්නේ නිස්සාරණය පමණි.

ඒ සඳහා මම භාවිතා කිරීමට පටන් ගෙන dtrxඇත.

එහි සමස්ත කරුණ වන්නේ සංකීර්ණත්වය ඉවත් කිරීමයි. එබැවින් ඔබ ඕනෑම ලේඛනාගාරයක් තුළට ගොස් එය සමඟ කළ යුතු දේ එයින් සොයා ගනී. Zip, tar, gz ... භාවිතය සැමවිටම එක හා සමානයි - dtrx archive.zip. එය ප්‍රශ්න කිහිපයක් අසන අතර ඔබ ඉවරයි.

dtrxබොහෝ ගබඩාවල ඇත, එබැවින් ඔබට apt| yumඑය ස්ථාපනය කරන්න.


1

මගේ වැඩ නාමාවලියෙහි නවීකරණය කරන ලද ලිපිගොනු සිප් කිරීමට මම බොහෝ විට උත්සාහ කරමි - එක්කෝ නවීකරණය කරන ලද ලිපිගොනු වෙනත් සෑන්ඩ්බොක්ස් වැඩ නාමාවලියකට පිටපත් කිරීමට හෝ කෙටි කාලයක් සඳහා ඒවා සංරක්ෂණය කිරීමට මට අවශ්‍ය නිසා සමහර වෙනස්කම් අහෝසි කිරීමට මට අවශ්‍යය.

එවැනි අවස්ථාවක, මම නවීකරණය කරන ලද ගොනු ලැයිස්තුව තාවකාලික ගොනුවකට පිටපත් zipකර විකල්පය සමඟ භාවිතා කරමි -@.

මම Foo.h, Bar.cc, සහ TestBar.cc ගොනු වෙනස් කළ බව කියමු.

මම නවීකරණය කරන ලද-ගොනු.ටෙක්ස් නමින් ගොනුවක් නිර්මාණය කරමි යැයි කියමු.

Foo.h
Bar.cc
TestBar.cc

එම ලිපිගොනු zip කිරීම සඳහා මම පහත විධානය ක්‍රියාත්මක කරමි:

cat modified-files.txt | zip modified-files.zip -@
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.