Jak wyodrębnić archiwa do systemu plików w terminalu?

15

Zainstalowałem Jupiter i używam motywu blasku, więc ikona nie wygląda dobrze, więc znalazłem odpowiedź na temat tego, jak to zmienić. Jak mogę zmienić ikonę Jupitera? . Wspomina o konieczności dostępu superużytkownika i pomyślałem, że użycie sudo w terminalu byłoby łatwiejsze niż włączenie roota lub cokolwiek, co muszę zrobić, ale nie mogę znaleźć tutaj niczego, co wyjaśniałoby, jak wyodrębnić plik tar.bz do katalogu w terminalu.

Jeff H.
źródło
1
sudo tar -xzvf example.tar.bz, naprawdę nie byłeś w stanie tego znaleźć, przeglądając google ?! : P
adempewolff
Cóż, jestem trochę nowy w Linuksie, nie byłem pewien, czy to była właściwa rzecz. I to nie działa. Muszę wyodrębnić kilka ikon do folderu pixmap
Jeff H
-1: Pytania podstawowe należy rozwiązać za pomocą wyszukiwania w sieci.
Scott Severance
3
Właściwie jest tu trochę do myślenia, aby zrobić to poprawnie. Musisz upewnić się, że pliki z archiwum trafiają we właściwe miejsce i mają odpowiednią własność. ( tarzajmie się uprawnieniami, ale niekoniecznie własnością). I dla początkującego niekoniecznie oczywiste jest, które części zadania potrzebują, sudoa które nie. To wydaje się być cennym pytaniem dla naszej witryny.
Eliah Kagan
Słusznie. Prawda jest taka, że ​​nie byłem w stanie znaleźć duplikatu pytania na samym Pytaj Ubuntu, więc nie widzę problemu z zadawaniem go ... Osobiście starałbym się przynajmniej wymyślić polecenie kandydata poprzez przeszukiwanie sieci lub przeczytanie man tarprzed zadaniem pytania , ale myślę, że może to być cenne pytanie dla strony i myślę, że wiem, kto powinien napisać odpowiedź ... (szturchnąć @EliahKagan, hehe)
adempewolff

Odpowiedzi:

25

Metoda 1: Wyodrębnianie plików, a następnie kopiowanie ich jako root

Przejdź w terminalu do dowolnego miejsca, w którym znajduje się plik. Na przykład, jeśli znajduje się w Downloadsfolderze w folderze domowym, uruchom następujące polecenie:

cd ~/Downloads

~Postać w tym kontekście to skrót od pełnej nazwy katalogu domowym. (Na przykład, jeśli twoja nazwa użytkownika to jeff, jest to skrót /home/jeff).

Teraz wypakuj archiwum za pomocą tar. Ponieważ ten plik jest .gzarchiwum, użyjesz zflagi, aby powiedzieć tar:

tar xvzf Jupiter_Radiance_theme_icons.tar.gz

xoznacza wyodrębnić. voznacza wyświetlanie listy plików podczas ich wyodrębniania (możesz to wyłączyć, jeśli chcesz). zoznacza gunzipto (ponieważ samo .tararchiwum jest skompresowane gzip- właśnie to oznacza .gzrozszerzenie). foznacza wyodrębnienie go tutaj w systemie plików (a potrzeba jest artefaktem starszego powszechnego użycia tar, tworzenia i rozpakowywania archiwów taśmowych ).

Właśnie wyodrębnione archiwum zawiera trzy pliki (zobaczyłeś ich nazwy, jeśli trzymałeś vflagę w poleceniu). Ich nazwy są bolt1.png, bolt2.pngi bolt4.png. Teraz skopiuj te pliki do /usr/share/pixmaps. Jest to część wymagająca rootuprawnień, dlatego powinieneś użyć sudo:

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

Wyodrębniłeś je jako własnego (nie root) użytkownika, co dało ci do nich własność. Ale rootpowinien być właścicielem plików /usr/share/pixmaps, dlatego powinieneś użyć tego --no-preserve=ownershipargumentu cp. Ponieważ kopiujesz pliki jak rootw katalogu należącym do root, tworzona kopia będzie własnościąroot tak jak jest to właściwe.

Metoda 2: Kopiowanie i rozpakowywanie archiwum jako root

Łatwiej może zrobić wszystko tak jak root. Wtedy rootbędzie właścicielem pliki początkowo, ponieważroot je wyodrębni. Najłatwiej to zrobić, umieszczając archiwum w folderze docelowym (jeśli jeszcze go nie ma).

Załóżmy, że plik znajduje się w Downloads:

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

Pamiętaj, że zamiast tego możesz użyć mvzamiastcp przenieść go zamiast skopiować (pod warunkiem, że foldery źródłowy i docelowy znajdują się na tej samej partycji).

Teraz przejdź do folderu docelowego i rozpakuj archiwum:

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

Prawdopodobnie powinieneś usunąć archiwum, ponieważ nie warto mieć obcych plików w /usr/share/pixmaps:

sudo rm Jupiter_Radiance_theme_icons.tar.gz

Metoda 3: Rozpakowywanie archiwum jako root

Jeśli chcesz, możesz przechowywać archiwum gdziekolwiek je pobrałeś i po prostu rozpakować je /usr/share/pixmapsjako root. (Podziękowania dla adempewolff za sugestię, żebym przedstawił tę metodę.)

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

Działa to, ponieważ tardomyślnie rozpakuje archiwum do dowolnego folderu, w którym się znajdujesz , a nie do folderu, w którym znajduje się archiwum (jeśli są różne).

Inne metody

Możesz w łatwy sposób dokonać zmiany metody 1, w której wyodrębniasz pliki graficznie za pomocą Archive Managera, a następnie kopiujesz je w Terminalu za pomocą sudo. Ale możesz także zrobić oba root, uruchamiając Nautilus (przeglądarkę plików) as root. Jeśli to zrobisz, możesz wykonać dowolne zadanie zarządzania plikami za pomocą Nautilus, a wszystkie programy uruchamiane z Nautilus również będą działać jako root. Musisz być ostrożny, ponieważ możesz uszkodzić system, popełniając błąd (tak jak możesz, wykonując niewłaściwe polecenie za pomocą sudo), i ponieważ szczególnie źle byłoby zapomnieć, że to okno Nautilusa działało jakoroot raczej niż normalnie .

Aby uruchomić programy graficzne jako root, nie używaj sudobezpośrednio. Zamiast tego użyj gksu. Aby uruchomić Nautilus as root, możesz nacisnąć Alt+ F2i uruchomić:

gksu nautilus

Jeśli to zrobisz, pamiętaj o zamknięciu okna Nautilus, gdy skończysz , i używaj go tylko do zadań, w których wiesz, że musisz root(na przykład do wprowadzania zmian w treści/usr/share/pixmaps ).

Możesz nawet wykonać odmianę metody 2 lub metody 3, w której nie kopiujesz niczego jako root, ale zamiast tego wyodrębnij archiwum tak rootgraficznie, uruchamiając Menedżera archiwów jako root. Aby to zrobić, naciśnij Alt+ F2i uruchom:

gksu file-roller

Jednak większość użytkowników łatwiej wyodrębnia pliki, uruchamiając Menedżera archiwów z poziomu Nautilus, ponieważ wtedy otwiera się wiedząc, jakiego archiwum chcesz używać. (Możesz przekazać nazwę archiwum jako częśćfile-roller polecenia ... ale w tym momencie zaczynasz tracić łatwość użycia interfejsu GUI zamiast wiersza poleceń).

Sugerowane zasoby

Aby dowiedzieć się więcej o wypakowywaniu plików tar, zobaczman tar .

Gdyby archiwum było .tar.bz2, użyłbyś jzamiast z. Gdyby tak było .xz, skorzystałbyśJ zamiast tego. Wszystkie inne informacje można znaleźć na tej stronie podręcznika.

Aby dowiedzieć się więcej o wykonywaniu zadań administracyjnych w systemie Ubuntu, zapoznaj się z dokumentacją społeczności na temat sudoorazroot , a także man sudoi man gksu(lubman kdesudo jeśli korzystasz z Kubuntu).

Dokumentacja społeczność na Kompresja plików warto przeczytać, aby dowiedzieć się więcej o archiwum i kompresji plików. (Technicznie są to dwie powiązane i pokrywające się, ale różne rzeczy. Na przykład: .tarPlik jest archiwum. .gzPlik jest skompresowany.)

Większość czasu, kiedy targo używasz , prawdopodobnie nie będzie polegać na tworzeniu i przywracaniu kopii zapasowych, ale może to być przydatne, a także zrozumienie, jak to działa, poprawia twoje zrozumienie tego, co tarmożna, a czego nie można, i jak z niego korzystać. Jeśli Cię to interesuje, zapoznaj się z dokumentacją społeczności dotyczącą tworzenia kopii zapasowej systemutar .

Eliah Kagan
źródło
1
+1, ale nie możesz wyeliminować cpkroku? coś jak cd /usr/share/pixmapsi wtedy sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz?
adempewolff
Spróbuję tego opartego na GUI, dziękuję. AKTUALIZACJA: ta metoda działała idealnie, dziękuję
Jeff H
@adempewolff To prawda, to zadziała. Wydaje mi się, że sposób, w jaki przedstawiłem, jest podobny pod względem koncepcyjnym ... ale dodam to również, ponieważ oszczędza sporo pisania i może być preferowane.
Eliah Kagan
Zgadzam się, że jest to pomidory tom- AW -toes wyróżnienie. Po prostu jestem leniwy w pisaniu wielu poleceń!
adempewolff
1
@ B1KMusic Racja, zwykle nie potrzebujesz z. Teoretycznie mogą istnieć uszkodzone archiwa, które można wyodrębnić (być może tylko częściowo), ale tylko wtedy, gdy powiesz, tarjakiego rodzaju archiwum chcesz wyodrębnić, ale w praktyce myślę, że masz rację: nawet uszkodzone archiwa prawdopodobnie nie skorzystają z tego. Jeśli chodzi o wydajność i vflagę: wyjaśniam, co vrobi flaga, ludzie nie muszą jej używać. Archiwa wielu plików - ta sytuacja, w której wydajność spadłaby - spowodowałoby również szybkie przewijanie, nieciekawe wyjście. Za każdym razem, gdy ktoś naprawdę chce skorzystać v, spowolnienie jest mało prawdopodobne.
Eliah Kagan