Acabei de baixar um .arquivo zip da internet. Eu quero usar o terminal para descompactar o arquivo. Qual é a maneira correta de fazer isso?
Se o unzip o comando ainda não está instalado no seu sistema e, em seguida, execute:
sudo apt-get install unzipDepois de instalar o utilitário descompactar, se você deseja extrair para uma pasta de destino específica, você pode usar:
unzip file.zip -d destination_folderSe os diretórios de origem e destino forem os mesmos, você pode simplesmente fazer:
unzip file.zip
Você pode simplesmente usar unzip.
Instale-o:
apt-get install unzipE usá-lo:
cd /path/to/fileunzip file.zip
Uma ferramenta mais útil é 7z, que fecha e descompacta uma variedade de formatos de compressão, notavelmente lzma, geralmente o protocolo que oferece as taxas as mais altas da compressão.
Este comando instala 7z:
sudo apt-get install p7zip-fullEste comando lista o conteúdo do zip:
7z l zipfile.zipEste comando extrai o conteúdo do zip:
7z x zipfile.zip
Você pode usar:
unzip file.zip -d somedirpara extrair para yourpath/somedir
Se você deseja extrair para um caminho absoluto, use
sudo unzip file.zip -d /somedir
Usando ferramentas de script: Perl e Python
Muitas respostas aqui mencionam ferramentas que requerem instalação, mas ninguém mencionou que duas das linguagens de script do Ubuntu, Perl e Python, já vêm com todos os módulos necessários que permitem descompactar um arquivo zip, o que significa que você não precisa instalar mais nada. Basta usar qualquer um dos dois scripts apresentados abaixo para fazer o trabalho. Eles são bastante curtos e podem até ser condensados em um comando de linha única, se quisermos.
Jiboia
#!/usr/bin/env python3import sysfrom zipfile import PyZipFilefor zip_file in sys.argv[1:]: pzf = PyZipFile(zip_file) pzf.extractall()Uso:
./pyunzip.py master.zip ou
python3 pyunzip.py master.zipPerl
#!/usr/bin/env perluse Archive::Extract;foreach my $filepath (@ARGV){ my $archive = Archive::Extract->new( archive => $filepath ); $archive->extract;}Uso:
./perlunzip master.zipou
perl perlunzip.pl master.zipVer
Se os diretórios de origem e destino forem os mesmos, você pode simplesmente fazer:
unzip filename.zip
Eu prefiro bsdtar para unzip/zip. Para extrair, eles são muito semelhantes:
bsdtar -x -f /one/two/three/four.zip -C /fiveunzip /one/two/three/four.zip -d /fiveNo entanto, para fechar, bsdtar Vitoria. Digamos que você tenha essa entrada:
/one/two/three/alfa/four.txt/one/two/three/bravo/four.txte quero isso no arquivo zip:
alfa/four.txtbravo/four.txtIsso é fácil com bsdtar:
bsdtar -a -c -f four.zip -C /one/two/three alfa bravozip não tem o -d opção como descompactar, então você não tem como alcançar o acima, a menos que você cd primeiro.
Aqui está a descrição detalhada das opções que considero úteis:
Comando: descompacte-[option] zip-path. - d um diretório opcional para o qual extrair arquivos-l Arquivos de arquivo de Lista. -P senha Usar senha para descriptografar entradas zipfile criptografadas(se houver). - t arquivos de arquivo de teste com verificação de redundância cíclica. - U atualizar os arquivos existentes. - z arquivo comentário
Siga estas instruções: http://www.codebind.com/linux-tutorials/unzip-zip-file-using-terminal-linux-ubuntu-linux-mint-debian/
Instalar descompactar
Então, antes de tudo, precisamos instalar o unzip em nosso sistema se ele não estiver instalado. o comando unzip é usado para extrair arquivos do arquivo aZIP.
Execute o seguinte comando para instalar
unzipsudo apt-get install unzip
unzipSintaxe$ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfileAgora siga as etapas abaixo:
Descompacte O Ficheiro
Opção 1 - Se o arquivo Zip estiver no mesmo diretório / pasta em que seu terminal está e quisermos extraí-lo no diretório presentworking.
Use o seguinte comando para alcançar o cenário descrito acima
sudo unzip zip_file_name.zipse o arquivo zip estiver protegido com alguma senha, use o comando following :
sudo ubzip -P zip_file_name.zipPor favor, certifique-se de usar-P (capital P) não-p porque as opções arediferent.
Opção 2 - Se o arquivo zip não estiver presente no mesmo diretório e quisermos extrair/descompactar o arquivo em um diretório diferente.
Use o seguinte comando para alcançar o cenário descrito acima
sudo unzip path/filename.zip -d another_path_or_same_pathse não usarmos a opção-d, O arquivo será extraído para o diretório presentworking.
E se o arquivo zip estiver protegido por senha, também podemos usar
-P.use o comando tar no Linux / Unix
taré um acrônimo para Tape Archive. o comando tar é usado paramanipula arquivos no Linux / Unix. Os administradores de Sistema usam tarcommand frequentemente para copiar um monte de arquivos ou diretórios para o arquivo highlycompressed que são chamadostarballoutar,bzipegzipem Linux / Unix sistema.sintaxe tar
tar [OPTION...] [FILE]...Ou
Tar bandeiras necessárias
tar {-r|-t|-c|-x|-u}bandeiras opcionais do alcatrão
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]Exemplo
Criar arquivo tar compactando um diretório ou um único arquivo
O comando do terminal abaixo criará um
.tararquivo chamadosample_dir.tarcom um diretório/home/codebind/sample_dirousample_dirno diretório de trabalho atual.ripon@ripon:~$ tar -cvf sample_dir.tar sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tarAqui está o que essas bandeiras (-cvf) realmente significam
-c, --create- criar um novo arquivo
-x, --extract, --get- extrair arquivos de um arquivo
-f, --file ARCHIVE- use arquivo de arquivo ou arquivo de dispositivoCriar
tar.gzoutgzArquivo compactando um diretório ou um único arquivoO comando do terminal abaixo criará um
.tar.gzarquivo chamadosample_dir.tar.gzcom um diretório/home/codebind/sample_dirousample_dirno diretório de trabalho atual.Observe que adicionamos flag-z extra ao comando.Aqui está o que theflag-z realmente significa
-z, --gzip, --gunzip --ungzip- Comprima o arquivo com gzipripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tar.gzO comando abaixo criará um.arquivo tgz. Um isso para notar istar.GZ e tgz são semelhantes.
ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tgzComprimindo vários diretórios ou arquivos de uma só vez
Digamos, por exemplo, queremos comprimir o
sample_dirdiretório,ojava_testdiretório, e oabc.pyarquivo para um arquivo tar chamadosample_dir.tar.gz.Execute o seguinte comando para atingir o objetivo acima.
ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dir java_test abc.pysample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputjava_test/java_test/HelloCV.javaabc.pyripon@ripon:~$ lssample_dir java_test abc.py sample_dir.tar.gzCriar
.bzip2Arquivo compactando um diretório ou um único arquivoripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$Observe que adicionamos bandeira extra
-fao comando.Aqui está o queA bandeira-fsignificar
-f, --file ARCHIVE- use arquivo de arquivo ou arquivo de dispositivoExtrair
.tararquivoPodemos extrair ou desvincular o arquivo compactado usando o comando tar. O comando abaixo extrairá o conteúdo de
sample_dir.tarpara o diretório presente.ripon@ripon:~$ tar -xvf sample_dir.tarsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$O comando a seguir extrairá ou desvinculará arquivos em specifiedDirectory, ou seja,
/home/codebind/dir_nameneste caso.ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_namesample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$nós adicionamos bandeira extra
-Cao comando.Aqui está o que a bandeira-Csignificar
-C, --directory DIR- alterar Para diretório DIR
Extraia todos os arquivos da pasta atual, você pode usar: descompacte \*.postal
@ burtsevyg a barra invertida não é necessária lá. Ele vai fazer Shell tratar '\ * ’ como símbolo estrela literal. Basta usar ’ descompacte*.zip ‘Para fazer shell expandir’ * ’ para todos os arquivos que terminam em .postal
Usar ’ * ’ sozinho não funcionou para mim. Isso causou erros de nome do arquivo não correspondido. '*'fez o trabalho.
O Ubuntu tem várias ferramentas de compactação/descompactação já instaladas. Execute ‘apropos zip’ no console para a lista completa.
Eu recomendo que você use e aprenda “unar” em vez de um zip específico, a menos que você precise de recursos específicos. "Os formatos de arquivo suportados incluem Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt e muitos outros formatos antigos e obscuros. ".
Relacionado (para’*.arquivos tgz’): [como descompactar .arquivo tgz usando o terminal?] (command line - How to unzip .tgz file using the terminal? - Ask Ubuntu)





