Como extrair arquivos para o sistema de arquivos no terminal?

15

Eu instalei o Jupiter e uso o tema Radiance para que o ícone não pareça correto, então encontrei esta resposta sobre como alterá-lo. Como posso alterar o ícone do Jupiter? . Ele menciona a necessidade de acesso de superusuário e achei que o uso do sudo no terminal seria mais eficiente do que habilitar o root ou o que for necessário, mas não consigo encontrar nada aqui que explique como extrair um arquivo tar.bz para um diretório no terminal.

Jeff H
fonte
1
sudo tar -xzvf example.tar.bz, você realmente não conseguiu encontrar isso pesquisando no Google ?! : P
adempewolff 28/05
Bem, eu sou meio novo no Linux, não tinha certeza se era a coisa certa. E isso não está funcionando. Eu preciso extrair alguns ícones para a pasta pixmap
Jeff H
-1: perguntas básicas devem ser resolvidas por meio de uma pesquisa na web.
Scott Severance
3
Na verdade, há um pouco para pensar aqui, para fazer isso corretamente. Você precisa garantir que os arquivos do arquivo morto cheguem ao lugar certo e tenham a propriedade correta. ( tarcuidará das permissões, mas não necessariamente da propriedade.) E não é necessariamente óbvio para um novato quais partes da tarefa precisam sudoe quais não. Parece uma pergunta valiosa para o nosso site.
Eliah Kagan 28/05
Justo. Verdade seja dita que eu não consegui encontrar uma pergunta duplicada no Ask Ubuntu, por isso não vejo problema em fazer isso ... Eu pessoalmente tentaria pelo menos criar um candidato a candidato pesquisando na web ou lendo man tarantes de fazer a pergunta , mas eu acho que isso poderia ser uma questão importante para o site e eu acho que sei quem deve escrever a resposta ... (nudge @EliahKagan, hehe)
adempewolff

Respostas:

25

Método 1: extraindo os arquivos e copiando-os como raiz

Navegue no Terminal para onde o arquivo estiver localizado. Por exemplo, se estiver localizado na Downloadspasta dentro da sua pasta pessoal, execute este comando:

cd ~/Downloads

O ~caractere neste contexto é uma abreviação para o nome completo da sua pasta pessoal. (Por exemplo, se seu nome de usuário for jeff, é uma abreviação de /home/jeff.)

Agora extraia o arquivo com tar. Como esse arquivo é um .gzarquivo, você usará o zsinalizador para dizer tarisso:

tar xvzf Jupiter_Radiance_theme_icons.tar.gz

xsignifica extrair. vsignifica listar os arquivos à medida que os extrai (você pode deixar isso de fora, se quiser). zsignifica paragunzip ele (como o .tarpróprio arquivo está compactado com gzip- é isso que a .gzextensão designa). fsignifica extraí-lo aqui no sistema de arquivos (e a necessidade é um artefato do uso comum mais antigo de tar, criar e extrair arquivos de fita ).

O arquivo que você acabou de extrair contém três arquivos (você viu os nomes dos arquivos se mantivesse o vsinalizador no comando). Seus nomes são bolt1.png,bolt2.png e bolt4.png. Então agora, copie esses arquivos para /usr/share/pixmaps. Esta é a parte que requer rootprivilégios; portanto, é aqui que você deve usar sudo:

sudo cp --no-preserve=ownership bolt1.png bolt2.png bolt4.png /usr/share/pixmaps

Você os extraiu como seu próprio (não root) usuário, o que lhe deu propriedade sobre eles. Masroot deve possuir os arquivos /usr/share/pixmaps, e é por isso que você deve usar o --no-preserve=ownershipargumento para cp. Como você está copiando os arquivos como rootem um diretório de sua propriedade root, a cópia que você faz será de sua propriedade root.

Método 2: Copiando e extraindo o arquivo morto como raiz

Você pode achar mais simples fazer tudo como root. Em seguida, rootpossuirá os arquivos inicialmente, porque rootos extrairá. A maneira mais fácil de fazer isso é colocar o arquivo na pasta de destino (se ainda não estiver lá).

Supondo que o arquivo esteja localizado em Downloads :

cd ~/Downloads
sudo cp Jupiter_Radiance_theme_icons.tar.gz /usr/share/pixmaps

Observe que você poderia ter usado em mvvez de cpmovê-lo em vez de copiá-lo (desde que as pastas de origem e destino estejam na mesma partição).

Agora vá para a pasta de destino e extraia o arquivo morto:

cd /usr/share/pixmaps
sudo tar xzvf Jupiter_Radiance_theme_icons.tar.gz

Você provavelmente deve remover o arquivo morto, porque não é bom ter arquivos estranhos no /usr/share/pixmaps :

sudo rm Jupiter_Radiance_theme_icons.tar.gz

Método 3: Apenas extraindo o arquivo morto como raiz

Se desejar, você pode manter o arquivo onde quer que o tenha baixado e apenas extraí-lo /usr/share/pixmapscomo root. (Obrigado a adempewolff por sugerir que apresente esse método.)

cd /usr/share/pixmaps
sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz

Isso funciona porque tar, por padrão, extrai o arquivo para qualquer pasta você esteja , e não para a pasta em que o arquivo está (se eles forem diferentes).

Outros métodos

Você pode facilmente fazer uma variação do método 1, onde extrai os arquivos graficamente com o Gerenciador de arquivamento e depois os copia no terminal com sudo. Mas você também pode fazer as duas coisas rootexecutando o Nautilus (o navegador de arquivos) como root. Se você fizer isso, poderá executar qualquer tarefa de gerenciamento de arquivos com o Nautilus, e todos os programas iniciados no Nautilus também serão executados como root. É preciso ter cuidado com isso, porque você pode danificar seu sistema cometer um erro (da mesma forma que pode executando o comando errado sudo) e porque seria particularmente ruim esquecer que essa janela do Nautilus estava executando comoroot normalmente. .

Para executar programas gráficos como root, não use sudodiretamente. Em vez disso, use gksu. Portanto, para executar o Nautilus como root, você pode pressionar Alt+ F2e executar:

gksu nautilus

Se você fizer isso, feche a janela do Nautilus quando terminar e use-a apenas para tarefas nas quais você sabe que precisa estar root(como fazer alterações no conteúdo de/usr/share/pixmaps ).

Você pode até fazer uma variação do método 2 ou do método 3 em que não copia nada como root, mas extrai o arquivo rootmorto graficamente, executando o Gerenciador de arquivamento como root. Para fazer isso, pressione Alt+ F2e execute:

gksu file-roller

No entanto, a maioria dos usuários acha mais fácil extrair arquivos iniciando o Gerenciador de arquivamentos no Nautilus, porque ele abre sabendo qual arquivo você deseja que ele use. (Você pode passar o nome do arquivo como parte dofile-roller comando ... mas, nesse ponto, você começa a perder o benefício de facilidade de uso da GUI sobre a linha de comando.)

Recursos sugeridos

Para saber mais sobre como extrair arquivos tar, consulteman tar .

Se o arquivo tivesse sido .tar.bz2, você usaria em jvez de z. Se tivesse sido .xz, você usariaJ . Para todas as outras informações, consulte a página do manual.

Para saber mais sobre como executar tarefas administrativas no Ubuntu, consulte a documentaçãosudoroot da comunidade em e , e também man sudoe man gksu(ouman kdesudo se você estiver usando o Kubuntu).

A documentação da comunidade sobre compactação de arquivos vale a pena ler, para aprender mais sobre arquivos e compactação de arquivos. (Tecnicamente, são duas coisas relacionadas e sobrepostas, mas diferentes. Por exemplo: Um .tararquivo é um archive. Um .gzarquivo é compactado.)

Na maioria das vezes, você tarprovavelmente não será para criar e restaurar backups, mas pode ser útil para isso, além disso, entender como isso funciona aprimora a compreensão do que tarpode e não pode fazer e como usá-lo. Se isso lhe interessar, consulte a documentação da comunidade sobre como fazer backup do seu sistematar .

Eliah Kagan
fonte
1
+1, mas você não pode eliminar a cpetapa? algo parecido cd /usr/share/pixmapse então sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz?
Adempewolff 28/05
Vou tentar a GUI baseada, obrigado. UPDATE: esse método funcionou perfeitamente, obrigado
Jeff H
@adempewolff Isso é verdade, isso vai funcionar. Eu acho que a maneira como apresentei é conceitualmente semelhante ... mas vou adiante e adicionarei também, pois economiza um pouco de digitação e pode ser preferido.
Eliah Kagan
Concordo que é um tomate Tom- aw -toes distinção. Estou com preguiça de digitar vários comandos!
Adempewolff 28/05
1
@ B1KMusic Certo, você normalmente não precisa z. Teoricamente, pode haver arquivos corrompidos que podem ser extraídos (talvez apenas parcialmente), mas apenas quando você diz tarque tipo de arquivo tentar extrair, mas, na prática, acho que você está certo: mesmo arquivos corrompidos provavelmente não se beneficiarão disso. Quanto ao desempenho e à vbandeira: explico o que a vbandeira faz, as pessoas não precisam usá-la. Muitos arquivos - essa situação em que o desempenho diminuiria - também produziriam uma rolagem rápida e uma saída desinteressante. Sempre que alguém realmente deseja usar v, a desaceleração é improvável.
Eliah Kagan 13/01