Pular para o conteúdo

Como extrair qualquer arquivo com um único comando no terminal

Dica publicada em Linux / Comandos
Xerxes xerxeslins
Hits: 81 Categoria: Linux Subcategoria: Comandos
Tags: arquivosextrairgzrartarunrarunzipzip
  • Indicar
  • Impressora
  • Denunciar

Como extrair qualquer arquivo com um único comando no terminal

No Linux, lidar com arquivos compactados pode ser confuso no início. Cada formato exige uma ferramenta ou parâmetro diferente: tar -xvzf para .tar.gz, unzip para .zip, unrar para .rar, entre outros.

Para facilitar, podemos criar um comando personalizado chamado extrair que identifica automaticamente o tipo do arquivo e usa a ferramenta correta. Tecnicamente, utilizaremos uma função em vez de um simples alias. Isso ocorre porque as funções conseguem ler o nome do arquivo que você digita logo após o comando, permitindo aplicar a lógica condicional necessária.

Veja como aplicar isso no sistema de forma rápida e direta.

Passo 1: Inserindo o código no arquivo .bashrc

Você pode adicionar a função ao final do seu arquivo de configuração do Bash de maneira automatizada, sem a necessidade de abrir editores de texto de forma interativa. Basta copiar o bloco de código abaixo, colar no seu terminal e apertar Enter:

cat << 'EOF' >> ~/.bashrc

# Função para extrair qualquer tipo de arquivo compactado extrair () { if [ -f "$1" ] ; then case "$1" in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *) echo "Formato não suportado: '$1'" ;; esac else echo "Erro: '$1' não é um arquivo válido ou não foi encontrado." fi } EOF

Passo 2: Recarregando as configurações

Para que o seu terminal reconheça o novo comando imediatamente (sem precisar fechar e abrir a janela), recarregue o arquivo de configuração executando:

source ~/.bashrc

Como utilizar

Agora, a complexidade foi abstraída. Sempre que você precisar descompactar um arquivo, independentemente da extensão, basta utilizar o novo comando:

extrair documento.zip

extrair backup.tar.gz

extrair fotos.rar

Entendendo o que foi feito

Para que fique claro como a mágica acontece nos bastidores:

  • O método cat << 'EOF' >> ~/.bashrc: Este comando capta todo o bloco de texto inserido até encontrar a marcação final EOF (End of File) e anexa tudo diretamente no final do seu ~/.bashrc. É uma forma extremamente prática e limpa de editar arquivos de configuração direto da linha de comando.
  • A estrutura case "$1" in: Ela atua como um sistema de triagem. O $1 representa a primeira palavra que você digita após o comando (ou seja, o nome do arquivo). O script verifica a extensão desse arquivo e, com base nela, aciona automaticamente o utilitário correto de descompactação de forma silenciosa e eficiente.
  • Aviso de Dependências: O script automatiza o acionamento dos programas, mas eles precisam estar instalados no seu sistema operacional. A maioria já vem por padrão, mas caso o script aponte erro ao extrair um .rar ou .7z, por exemplo, certifique-se de instalar os pacotes unrar e p7zip utilizando o gerenciador de pacotes da sua distribuição.

Tirando bordas das janelas no Xfce

Transformando Linux Mint 14 em Ubuntu 13.04

Checar seu IP externo no terminal

Músicas de Andrew Hulshult no DOOM (WAD)

Comandos de configuração do XFCE 4.4

Logando como root

bash - Dica simples para aumentar o tamanho do histórico

Baixar arquivos com wget utilizando autenticação

Utilizando o comando scp

Aplicando permissões em arquivos

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.