Come estrarre gli archivi nel file system nel terminale?


15

Ho installato Giove e utilizzo il tema della luminosità in modo che l'icona non appaia corretta, quindi ho trovato questa risposta su come cambiarla Come posso cambiare l'icona per Giove? . Indica la necessità di un accesso da superutente e ho pensato che usare sudo nel terminale sarebbe stato più entusiasmante che abilitare root o qualunque cosa avessi bisogno di fare, ma qui non riesco a trovare nulla che spieghi come estrarre un file tar.bz in una directory nel terminale.


1
sudo tar -xzvf example.tar.bz, non sei riuscito a trovarlo cercandoti su Google ?! : P
adempewolff,

Beh, sono un po 'nuovo di Linux, non ero sicuro che fosse la cosa giusta. E questo non funziona. Devo estrarre alcune icone nella cartella pixmap
Jeff H,

-1: domande che questo di base dovrebbe essere risolto attraverso una ricerca web.
Scott Severance,

3
In realtà, c'è un po 'di cui pensare qui, per farlo correttamente. Devi assicurarti che i file dell'archivio arrivino nel posto giusto e abbiano la giusta proprietà. ( tarsi occuperà delle autorizzazioni, ma non necessariamente della proprietà.) E non è necessariamente ovvio per un principiante quali parti del compito necessitano sudoe quali no. Questa sembra una domanda preziosa per il nostro sito.
Eliah Kagan,

Giusto. A dire il vero non sono stato in grado di trovare una domanda duplicata su Ask Ubuntu stesso, quindi non vedo alcun problema con la sua domanda ... Personalmente avrei cercato di trovare almeno un comando candidato cercando o leggendo man tarprima di porre la domanda , ma penso che questa potrebbe essere una domanda preziosa per il sito e penso di sapere chi dovrebbe scrivere la risposta ... (nudge @EliahKagan, hehe)
adempewolff,

Risposte:


25

Metodo 1: Estrarre i file, quindi copiarli come root

Naviga nel Terminale ovunque si trovi il file. Ad esempio, se si trova nella Downloadscartella all'interno della cartella principale, eseguire questo comando:

cd ~/Downloads

Il ~personaggio in questo contesto è un'abbreviazione per il nome completo della cartella principale. (Ad esempio, se il tuo nome utente è jeff, è un'abbreviazione per /home/jeff.)

Ora estrai l'archivio con tar. Poiché quel file è un .gzarchivio, utilizzerai il zflag per dirlo tar:

tar xvzf Jupiter_Radiance_theme_icons.tar.gz

xsignifica estrarre. vsignifica elencare i file mentre li estrae (puoi lasciarlo spento se vuoi). zsignifica per gunzipesso (poiché l' .tararchivio è esso stesso compresso con gzip- questo è ciò che l' .gzestensione designa). fsignifica estrarlo qui nel filesystem (e la sua necessità è un artefatto dell'uso comune più vecchio di tar, per creare ed estrarre archivi su nastro ).

L'archivio che hai appena estratto contiene tre file (hai visto i loro nomi di file se hai mantenuto la vbandiera nel comando). I loro nomi sono bolt1.png, bolt2.pnge bolt4.png. Quindi ora copia questi file in /usr/share/pixmaps. Questa è la parte che richiede rootprivilegi, quindi è qui che dovresti usare sudo:

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

Li hai estratti come tuo (non root) utente, il che ti ha dato la proprietà su di loro. Ma rootdovrebbe essere il proprietario dei file /usr/share/pixmaps, motivo per cui dovresti usare l' --no-preserve=ownershipargomento cp. Poiché stai copiando i file come rootin una directory di proprietà root, la copia che fai sarà di proprietà rootcome è appropriato.

Metodo 2: Copia ed estrazione dell'archivio come root

Potresti trovare più semplice fare tutto come root. Quindi rootpossiederà inizialmente i file, perché rootli estrarrà. Il modo più semplice per farlo è mettere l'archivio nella cartella di destinazione (se non è già presente).

Supponendo che il file si trovi in Downloads:

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

Si noti che invece si sarebbe potuto utilizzare mvinvece di cpspostarlo anziché copiarlo (a condizione che le cartelle di origine e di destinazione si trovino nella stessa partizione).

Ora vai alla cartella di destinazione ed estrai l'archivio:

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

Probabilmente dovresti rimuovere l'archivio, perché non è bene avere file estranei in /usr/share/pixmaps:

sudo rm Jupiter_Radiance_theme_icons.tar.gz

Metodo 3: basta estrarre l'archivio come root

Se lo desideri, puoi conservare l'archivio ovunque sia stato scaricato ed estrarlo /usr/share/pixmapscome root. (Grazie ad adempewolff per avermi suggerito di presentare questo metodo.)

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

Questo funziona perché tar, per impostazione predefinita, estrarrà l'archivio in qualunque cartella ci si trovi , piuttosto che nella cartella in cui si trova l'archivio (se sono diversi).

Altri metodi

È possibile effettuare facilmente una variante del Metodo 1 in cui estrarre graficamente i file con Gestore archivio, quindi copiarli nel Terminale con sudo. Ma puoi anche fare entrambe le cose root, eseguendo Nautilus (il browser dei file) come root. In tal caso, è possibile eseguire qualsiasi attività di gestione dei file con Nautilus e anche tutti i programmi avviati da Nautilus verranno eseguiti come root. Devi stare attento con questo, perché puoi danneggiare il tuo sistema commettendo un errore (proprio come puoi eseguendo il comando sbagliato con sudo) e perché sarebbe particolarmente brutto dimenticare che questa finestra di Nautilus era in esecuzione rootpiuttosto che normalmente .

Per eseguire programmi grafici come root, non utilizzare sudodirettamente. Invece, usa gksu. Quindi, per eseguire Nautilus come root, è possibile premere Alt+ F2ed eseguire:

gksu nautilus

Se lo fai, assicurati di chiudere la finestra di Nautilus quando hai finito e di usarlo solo per attività dove sai di dover essere root(come apportare modifiche al contenuto di /usr/share/pixmaps).

Potresti anche fare una variante del Metodo 2 o del Metodo 3 in cui non copi nulla come root, ma invece estrai l'archivio come rootgraficamente, eseguendo il Gestore archivio come root. Per fare ciò, premi Alt+ F2ed esegui:

gksu file-roller

Tuttavia, la maggior parte degli utenti trova più facile estrarre i file avviando Archive Manager da Nautilus, perché si apre sapendo quale archivio si desidera utilizzare. (Puoi passare il nome dell'archivio come parte del file-rollercomando ... ma a questo punto inizi a perdere il vantaggio di facilità d'uso della GUI sulla riga di comando.)

Risorse suggerite

Per ulteriori informazioni sull'estrazione di file con tar, vedere man tar.

Se l'archivio fosse stato .tar.bz2, useresti jinvece di z. Se fosse stato .xz, avresti usato Jinvece. Per tutte le altre informazioni, consultare quella pagina di manuale.

Per ulteriori informazioni sull'esecuzione di attività amministrative in Ubuntu, consultare la documentazionesudoroot della comunità su e , e anche man sudoe man gksu(o man kdesudose si utilizza Kubuntu).

La documentazione della Comunità sui Compressione dei file è la pena di leggere, per saperne di più su archivi e la compressione dei file. (Tecnicamente si tratta di due cose correlate e sovrapposte ma diverse. Ad esempio: un .tarfile è un archivio. Un .gzfile è compresso.)

Il più delle volte che lo usi tarprobabilmente non sarà per creare e ripristinare i backup, ma può essere utile per quello, inoltre, capire come funziona migliora la tua comprensione di cosa tarpuò e non può fare e come usarlo. Se questo ti interessa, consultare la documentazione della comunità sul backup del sistema contar .


1
+1, ma non riesci a eliminare il cppassaggio? qualcosa del genere cd /usr/share/pixmapse poi sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz?
Adempewolff,

Proverò quello basato sulla GUI, grazie. AGGIORNAMENTO: quel metodo ha funzionato perfettamente, grazie
Jeff H,

@adempewolff È vero, funzionerà. Penso che il modo in cui ho presentato sia concettualmente simile ... ma andrò avanti e lo aggiungerò anche in questo modo, poiché consente di risparmiare un bel po 'di battitura e potrebbe essere preferito.
Eliah Kagan,

Sono d'accordo che si tratta di un pomodoro Tom- aw -toes distinzione. Sono solo pigro a digitare più comandi!
Adempewolff,

1
@ B1KMusic Giusto, in genere non è necessario z. Teoricamente potrebbero esserci degli archivi corrotti che possono essere estratti (forse solo parzialmente) ma solo quando dici tarquale tipo di archivio provare a estrarre, ma in pratica penso che tu abbia ragione: anche gli archivi corrotti probabilmente non ne trarranno beneficio. Per quanto riguarda le prestazioni e la vbandiera: spiego cosa fa la vbandiera, le persone non devono usarla. Gli archivi a molti file - questa situazione in cui le prestazioni diminuiscono - produrrebbero anche output a scorrimento rapido e poco interessanti. Ogni volta che qualcuno vuole davvero usare v, il rallentamento è improbabile.
Eliah Kagan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.