Як витягнути архіви до файлової системи в терміналі?


15

Я встановив юпітер і використовую тему сяйва, щоб значок не виглядав правильно, тому я знайшов цю відповідь про те, як його змінити. Як змінити піктограму для Юпітера? . Тут згадується необхідність доступу суперпользователя, і я вважав, що використання sudo в терміналі було б легше, ніж включити root або все, що мені потрібно зробити, але я не можу знайти нічого, що пояснює, як витягти файл tar.bz до каталогу в терміналі.


1
sudo tar -xzvf example.tar.bz, ви справді не змогли знайти це за допомогою Google? : P
adempewolff

Добре, що я новачок у Linux, я не був впевнений, чи це правильно. І це не працює. Мені потрібно витягнути декілька піктограм у папку піксельних зображень
Джефф Н

-1: Питання, за допомогою яких цей базовий варіант слід вирішити за допомогою веб-пошуку.
Скотт Северанс

3
Власне, тут варто трохи подумати, щоб зробити це правильно. Ви повинні переконатися, що файли з архіву потрапляють у потрібне місце та мають право власності. ( tarПіклуватиметься про дозволи, але не обов'язково в власності.) І це не обов'язково очевидно для новачка , які частини потребують завдання sudoі які ні. Це здається цінним питанням для нашого сайту.
Елія Каган

Справедливо. Правду кажучи, я не зміг знайти дублююче запитання у самому Ask Ubuntu, тому я не бачу проблем із тим, щоб його задавали ... Я особисто намагався придумати команду-кандидата при веб-пошуку чи читання, man tarперш ніж задавати питання , але я думаю, що це може бути цінним питанням для сайту, і я думаю, я знаю, хто повинен написати відповідь ... (натиснути @EliahKagan, хе-хе)
adempewolff

Відповіді:


25

Спосіб 1: Витяг файлів, а потім їх копіювання як корінь

Перейдіть у Терміналі туди, де знаходиться файл. Наприклад, якщо він знаходиться в Downloadsпапці всередині вашої домашньої папки, запустіть цю команду:

cd ~/Downloads

~Характер в цьому контексті є абревіатурою повної назви вашої домашньої теки. (Наприклад, якщо ваше ім’я користувача - jeffце абревіатура для /home/jeff.)

Тепер витягніть архів за допомогою tar. Оскільки цей файл є .gzархівом, ви будете використовувати zпрапор, щоб сказати tarце:

tar xvzf Jupiter_Radiance_theme_icons.tar.gz

xзасоби для видобутку. vозначає перелічити файли по мірі їх вилучення (ви можете залишити це вимкненим, якщо хочете). zозначає для gunzipнього (як .tarархів сам стискається gzip- ось що .gzпозначає розширення). fозначає витягнути його тут у файловій системі (а потреба в цьому - артефакт старого загального використання tar, для створення та вилучення стрічкових архівів ).

Архів, який ви тільки що витягли, містить три файли (ви бачили їхні імена файлів, якщо ви тримали vпрапор у команді). Їх імена bolt1.png, bolt2.pngі bolt4.png. Отже, скопіюйте ці файли в /usr/share/pixmaps. Це та частина, яка потребує rootпривілеїв, тож саме тут вам слід скористатися sudo:

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

Ви вилучили їх як власного (не root) користувача, який надав вам право власності на них. Але rootповинні володіти файлами в /usr/share/pixmaps, тому вам слід використовувати --no-preserve=ownershipаргумент cp. Оскільки ви копіюєте файли як rootу довіднику, власником якої є належна rootвами копія root.

Спосіб 2: Копіювання та вилучення архіву як корінь

Можливо, вам буде простіше робити все як root. Тоді rootспочатку буде мати власні файли, тому що rootвитягне їх. Найпростіший спосіб зробити це - помістити архів у папку призначення (якщо його ще немає).

Припустимо, файл знаходиться в Downloads:

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

Зверніть увагу, що ви могли використовувати його mvзамість того, cpщоб переміщувати його замість копіювання (за умови, що вихідні та цільові папки знаходяться на одному розділі).

Тепер перейдіть до цільової папки та витягніть архів:

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

Ви, ймовірно, повинні видалити архів, тому що не добре мати сторонні файли у /usr/share/pixmaps:

sudo rm Jupiter_Radiance_theme_icons.tar.gz

Спосіб 3: Просто вилучення архіву як корінь

Якщо ви хочете, ви можете зберегти архів , де б ви завантажили його, і просто розпакувати його в /usr/share/pixmapsякості root. (Завдяки adempewolff за те, що він запропонував мені представити цей метод.)

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

Це працює, тому що tarза замовчуванням буде вилучено архів у ту папку , в якій ви перебуваєте , а не в папку, в якій знаходиться архів (якщо вони різні).

Інші методи

Ви можете легко змінити спосіб 1, коли ви витягуєте файли графічно за допомогою диспетчера архівів, а потім копіюєте їх у терміналі sudo. Але ви також можете зробити це як root, запустивши Nautilus (файловий браузер) як root. Якщо ви це зробите, ви можете виконати будь-яке завдання управління файлами з Nautilus, і будь-які програми, запущені з Nautilus, також працюватимуть як root. Ви повинні бути обережними з цим, тому що ви можете пошкодити вашу систему, помилившись (так само, як можете, запустивши неправильну команду sudo), і тому що було б особливо погано забувати, що це вікно Nautilus працювало rootшвидше, ніж зазвичай .

Для запуску графічних програм rootне використовуйте sudoбезпосередньо. Натомість використовуйте gksu. Отже, щоб запустити Nautilus як root, можна натиснути Alt+ F2та запустити:

gksu nautilus

Якщо ви це зробите, не забудьте закрити вікно Nautilus, коли закінчите , і використовувати його лише для тих завдань, де ви знаєте, що вам потрібно root(наприклад, внесення змін до вмісту /usr/share/pixmaps).

Ви навіть можете зробити варіант 2-го чи 3-го способу, коли ви нічого не копіюєте як root, а замість цього витягніть архів як rootграфічно, запустивши як "Менеджер архівів" root. Для цього натисніть Alt+ F2та запустіть:

gksu file-roller

Однак більшості користувачів легше витягувати файли, запустивши диспетчер архівів всередині Nautilus, оскільки тоді він відкриється, знаючи, який архів ви бажаєте ним використовувати. (Ви можете передавати ім'я архіву як частину file-rollerкоманди ... але в цей момент ви починаєте втрачати зручність користування графічним інтерфейсом над командним рядком.)

Рекомендовані ресурси

Щоб дізнатися більше про вилучення файлів за допомогою tar, див man tar.

Якби архів був .tar.bz2, ви використовували б jзамість цього z. Якби це було .xz, ви б Jзамість цього використали . Додаткову інформацію див. На цій сторінці керівництва.

Щоб дізнатися більше про виконання адміністративних завдань в Ubuntu, перегляньте документацію спільноти на sudoтаroot , а також man sudoі man gksu(або man kdesudoякщо ви використовуєте Kubuntu).

Документацію спільноти щодо стиснення файлів варто прочитати, щоб дізнатися більше про архіви та стиснення файлів. (Технічно це дві пов'язані між собою і перекриваються, але різні речі. Наприклад: .tarФайл - це архів. .gzФайл стискається.)

Більшу частину часу, який ви використовуєте, tarце, ймовірно, не буде для створення та відновлення резервних копій, але це може бути корисно для цього, а також розуміння того, як це працює, розширює ваше розуміння того, що tarможна, а що не можна робити і як ним користуватися. Якщо це вас цікавить, перегляньте документацію спільноти щодо створення резервної копії вашої системиtar .


1
+1, але ви не можете усунути cpкрок? щось на кшталт cd /usr/share/pixmapsі тоді sudo tar xzvf ~/Downloads/Jupiter_Radiance_theme_icons.tar.gz?
adempewolff

Я спробую один на основі GUI, дякую. ОНОВЛЕННЯ: цей метод спрацював ідеально, дякую
Джефф Н

@adempewolff Це правда, це спрацює. Я думаю, що спосіб, який я представив, концептуально схожий ... але я продовжую і додаю цей шлях, оскільки це зекономить гарний шрифт набору тексту та може бути кращим.
Елія Каган

Я згоден , що це помідори Томь ав -toes відмінність. Мені просто лінь вводити кілька команд!
adempewolff

1
@ B1KMusic Правильно, зазвичай вам не потрібно z. Теоретично можуть бути пошкоджені архіви, які можна витягнути (можливо, лише частково), але лише тоді, коли ви кажете, tarякий архів намагатись витягти, але на практиці я думаю, що ви праві: навіть зіпсовані архіви, ймовірно, від цього не отримають користі. Що стосується продуктивності та vпрапора: я пояснюю, що vробить прапор, людям не потрібно ним користуватися. Багатофайлові архіви - така ситуація, коли продуктивність знизиться - також дала б швидко прокручуваний, нецікавий вихід. Кожен раз, коли хтось дійсно хоче використовувати v, уповільнення малоймовірне.
Ілля Каган
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.