چگونه یک فایل زیپ را از ترمینال جدا کنیم؟


به جواب پذیرفته شده بروید




فقط یک فایل zip را از طریق اینترنت بارگیری کنید. من می خواهم از ترمینال برای جدا کردن پرونده استفاده کنم. راه درست برای انجام این کار چیست؟


1457









9 :تعداد پاسخها


اگر این unzip دستور از قبل روی سیستم شما نصب نشده است ، پس از آن اجرا کنید:

 sudo apt-get install unzip
 

پس از نصب برنامه unzip ، اگر می خواهید در یک پوشه مقصد خاص استخراج کنید ، می توانید از موارد زیر استفاده کنید:

 unzip file.zip -d destination_folder
 

اگر فهرست منبع و مقصد یکسان هستند ، می توانید به سادگی انجام دهید:

 unzip file.zip
 

1989



شما به سادگی می توانید استفاده کنید unzip .

نصب کنید:

 apt-get install unzip
 

و از آن استفاده کنید:

 cd /path/to/file
unzip file.zip
 

233



ابزاری مفیدتر است 7z که بطور خاص lzma ، پروتکل ارائه دهنده بالاترین میزان فشرده سازی ، طیفی از قالبهای فشرده سازی را فشرده و از بین می برد .

این دستور نصب می کند 7z :

 sudo apt-get install p7zip-full
 

این دستور محتوای پستی را لیست می کند:

 7z l zipfile.zip
 

این دستور محتوای پستی را استخراج می کند:

 7z x zipfile.zip
 

118



شما می توانید استفاده کنید:

 unzip file.zip -d somedir
 

برای استخراج به yourpath/somedir

اگر می خواهید به یک مسیر مطلق استخراج کنید ، از آن استفاده کنید

 sudo unzip file.zip -d /somedir
 

50



استفاده از ابزارهای اسکریپتینگ: پرل و پایتون

بسیاری از پاسخ ها در اینجا به ابزارهایی که نیاز به نصب دارند ، اشاره می کنند ، اما هیچ کس عنوان نکرده است که دو زبان اسکریپتینگ اوبونتو ، پرل و پایتون ، در حال حاضر دارای تمام ماژول های لازم هستند که به شما امکان می دهد بایگانی زیپ را از حالت فشرده خارج کنید ، به این معنی که نیازی به نصب چیزی ندارید. دیگر برای انجام کار فقط از هر دو اسکریپت ارائه شده در زیر استفاده کنید. آنها نسبتاً کوتاه هستند و حتی اگر بخواهیم می توان به فرمان تک لایه متراکم شد.

پایتون

 #!/usr/bin/env python3
import sys
from zipfile import PyZipFile
for zip_file in sys.argv[1:]:
    pzf = PyZipFile(zip_file)
    pzf.extractall()
 

طریقه استفاده:

 ./pyunzip.py master.zip 
 

یا

 python3 pyunzip.py master.zip
 

پرل

 #!/usr/bin/env perl
use Archive::Extract;
foreach my $filepath (@ARGV){
    my $archive = Archive::Extract->new( archive => $filepath );
    $archive->extract;
}
 

طریقه استفاده:

 ./perlunzip master.zip
 

یا

 perl perlunzip.pl master.zip
 

همچنین ببینید


41



اگر فهرست منبع و مقصد یکسان هستند ، می توانید به سادگی انجام دهید:

 unzip filename.zip
 

32



من ترجیح می دهم bsdtar به unzip / zip . برای استخراج ، آنها کاملاً مشابه هستند:

 bsdtar -x -f /one/two/three/four.zip -C /five
unzip /one/two/three/four.zip -d /five
 

با این حال برای زیپ ، bsdtar برنده است. بگویید این ورودی را دارید:

 /one/two/three/alfa/four.txt
/one/two/three/bravo/four.txt
 

و این را در پرونده zip می خواهید:

 alfa/four.txt
bravo/four.txt
 

این آسان است با bsdtar :

 bsdtar -a -c -f four.zip -C /one/two/three alfa bravo
 

zip -d گزینه ای مثل unzip را ندارد ، بنابراین شما راهی برای رسیدن به موارد فوق ندارید ، مگر اینکه در cd مرحله اول باشید.


23



در اینجا شرح مفصلی از گزینه هایی که به نظر من مفید است آمده است:

دستور: unzip - [option] zip-path.
               دایرکتوری اختیاری برای استخراج پرونده ها  
               لیست پرونده های بایگانی را لیست کنید.رمز عبور 
               -P استفاده از رمز عبور برای رمزگشایی نوشته های رمزگذاری شده زیپ فایل (در صورت وجود).
               - فایلهای بایگانی را با بررسی افزونگی چرخه ای آزمایش کنید.  
               فایلهای موجود را به روز کنید.  
               نظر بایگانی

21



http://www.codebind.com/linux-tutorials/unzip-zip-file-using-terminal-linux-ubuntu-linux-mint-debian/ :

unzip ============== نصب کنید ، بنابراین قبل از هر چیز باید اگر نصب نشده بود ، سیستم را بر روی سیستم خود نصب کنیم. دستور unzip برای استخراج پرونده ها از بایگانی ZIP استفاده می شود.

دستور زیر را برای نصب اجرا کنید unzip

 sudo apt-get install unzip
 

unzip نحوی

 $ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfile
 

اکنون مراحل زیر را دنبال کنید:

پرونده UnZip

گزینه 1 - اگر Zip File در همان فهرست / پوشه ای است که ترمینال شما قرار دارد و ما می خواهیم آن را در فهرست کار فعلی استخراج کنیم.

برای دستیابی به سناریوی شرح داده شده از دستور زیر استفاده کنید

 sudo unzip zip_file_name.zip
 

اگر فایل zip با برخی از رمز عبور محافظت می شود ، از دستور زیر استفاده کنید:

 sudo ubzip -P zip_file_name.zip
 

لطفاً مطمئن شوید که از -P (سرمایه P) استفاده نکنید زیرا گزینه های مختلفی هستند.

گزینه 2 - اگر پرونده zip در همان فهرست وجود ندارد و ما می خواهیم فایل را در پوشه های مختلف استخراج / از حالت فشرده خارج کنیم.

برای دستیابی به سناریوی شرح داده شده از دستور زیر استفاده کنید

 sudo unzip path/filename.zip -d another_path_or_same_path
 

در صورت استفاده از گزینه -d پرونده برای ارائه فهرست کار استخراج می شود.

و اگر پرونده zip با رمز محافظت شده است ، می توانیم از آن نیز استفاده کنیم -P .

از tar Command در لینوکس / یونیکس استفاده کنید

tar مخفف اختصاری Tape Archive است. دستور tar برای دستکاری بایگانی در لینوکس / یونیکس استفاده می شود. مدیران سیستم از قیر اغلب فرمان به پاره کردن یک دسته از فایل ها یا دایرکتوری به آرشیو بسیار فشرده هستند که به نام tarball و یا tar ، bzip و gzip در لینوکس / یونیکس سیستم.

تار سینتکس

 tar [OPTION...] [FILE]...
 

یا

تار مورد نیاز پرچم ها

 tar { -r|-t|-c|-x|-u}
 

پرچم های اختیاری تار

 tar {one of the required Flags} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ]
[-Number] [-b Blocks] [-f Archive]
 

مثال ها

با فشرده سازی دایرکتوری یا یک فایل واحد ، پرونده بایگانی tar را ایجاد کنید

دستور ترمینال زیر .tar فایلی را ایجاد می کند که sample_dir.tar با یک فهرست /home/codebind/sample_dir یا sample_dir در فهرست کار فعلی کار می کند.

 [email protected]:~$  tar -cvf sample_dir.tar sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tar
 


توضیحات تصویر را اینجا وارد کنید

در اینجا معنی آن پرچم ها (-cvf) چیست

-c, --create - بایگانی جدید ایجاد کنید

-x, --extract, --get - پرونده ها را از بایگانی استخراج کنید

-f, --file ARCHIVE - از پرونده بایگانی یا دستگاه ARCHIVE استفاده کنید

درست tar.gz یا tgz بایگانی فایل های فشرده دایرکتوری یا یک فایل

دستور ترمینال زیر .tar.gz فایلی را ایجاد می کند که sample_dir.tar.gz با یک فهرست /home/codebind/sample_dir یا sample_dir در فهرست کار فعلی کار می کند.

توجه کنید که ما پرچم دیگری را به فرمان اضافه کرده ایم. در اینجا معنی پرچم -z چیست

-z, --gzip, --gunzip --ungzip - بایگانی را با gzip فشرده کنید

 [email protected]:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tar.gz
 


توضیحات تصویر را اینجا وارد کنید

دستور زیر یک پرونده .tgz ایجاد می کند. یکی از این موارد که ذکر شده است tar.gz و tgz هر دو مشابه هستند.

 [email protected]:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tgz
 

فشرده سازی چندین کارخانه یا پرونده به طور هم زمان

بیایید بگوییم ، به عنوان مثال می خواهیم sample_dir دایرکتوری ، java_test دایرکتوری و abc.py پرونده را در یک فایل tar بنام فشرده سازی کنیم sample_dir.tar.gz .

برای رسیدن به هدف فوق دستور زیر را اجرا کنید.

 [email protected]:~$ tar -cvzf sample_dir.tar.gz sample_dir java_test abc.py
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
java_test/
java_test/HelloCV.java
abc.py
[email protected]:~$ ls
sample_dir java_test abc.py sample_dir.tar.gz
 


توضیحات تصویر را اینجا وارد کنید

درست .bzip2 بایگانی فایل با فشرده سازی دایرکتوری یا یک فایل

 [email protected]:~$ tar -cjvf sample_dir.tar.bz2 sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 
 

توجه کنید که ما پرچم اضافی را -f به فرمان اضافه کرده ایم. -f در اینجا منظور این پرچم چیست

-f, --file ARCHIVE - از پرونده بایگانی یا دستگاه ARCHIVE استفاده کنید


توضیحات تصویر را اینجا وارد کنید

استخراج .tar پرونده بایگانی

ما می توانیم با استفاده از دستور tar ، فایل فشرده شده را استخراج یا خنثی کنیم. دستور زیر مطالب مربوط sample_dir.tar به فهرست موجود را استخراج می کند .

 [email protected]:~$ tar -xvf sample_dir.tar
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 
 


توضیحات تصویر را اینجا وارد کنید

دستور زیر پرونده های Untar را در دایرکتوری مشخص شده یعنی /home/codebind/dir_name در این مورد استخراج می کند.

 [email protected]:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 
 

ما پرچم اضافی را -C به فرمان اضافه کرده ایم. -C در اینجا معنی پرچم چیست

-C, --directory DIR - تغییر به فهرست DIR


توضیحات تصویر را اینجا وارد کنید


8



انتشارات مرتبط


چگونه یک فایل را از طریق وب سایت از طریق ترمینال بارگیری کنیم؟

چگونه با استفاده از ترمینال ، فایل .tgz را از حالت فشرده خارج کنیم؟

چگونه می توانم یک فایل .jar را از ترمینال اجرا کنم

چگونه می توان فایل های mp3 را از خط فرمان پخش کرد؟

چگونه با ترمینال چندین فایل ایجاد کنیم؟

چگونه دکمه های ماوس را عوض کنم که از ترمینال دست بماند؟

چگونه فایلهای .zip را تقسیم کرده و به آنها در ویندوز بپیوندیم؟

چگونه یک فایل از ترمینال ایجاد کنیم که مجموعه ای از کلمات را بی نهایت تکرار کند؟

چگونه می توان ویدیویی را از ترمینال شروع کرد؟

چگونه می توان از avconv برای تبدیل چندین فایل در ترمینال استفاده کرد؟

[command-line] سوال برچسب


چگونه می توانم از آینه ای نزدیک به خودم استفاده کنم یا آینه ای سریع تر انتخاب کنم؟

قفل صفحه کلید در IntelliJ IDEA در اوبونتو 14.04

چگونه می توان پرتابگر واحد وحدت دوم را بر روی تنظیمات صفحه نمایش دوگانه حذف کرد؟

تعداد پرونده ها را در پوشه و زیر پوشه ها پیدا کنید؟

کپی کردن چندین فایل خاص از یک پوشه به پوشه دیگر

گزینه های یادداشت ++ در اوبونتو چیست؟

هیچ کلید عمومی برای شناسه های کلیدی زیر 1397BC53640DB551 ​​موجود نیست [کپی]

Apparmor چیست؟

چگونه می توان دسترسی به اینترنت را برای هر برنامه کنترل کرد؟