Pular para o conteúdo

Como extrair qualquer arquivo com um único comando no terminal

Dica publicada em Linux / Comandos
Xerxes xerxeslins
Hits: 66 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.

Tocar MP3 dentro no Firefox

Joystick não funciona no snes9x [Resolvido]

[Resolvido] Quadrados ao invés de caracteres no openSUSE

A pera barrou o elementary OS?

Como instalar temas

O comando join

Configurando ou consertando sudo gráfico no KDE

Monitorando tráfego da interface de rede em três comandos

Atop - Monitor de Processo e Carga do Sistema

Orientações sobre comandos para iniciantes

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.