Как распаковать архивы в файловую систему в терминале?

Я установил jupiter и использую тему сияния, чтобы значок не выглядел правильно, поэтому я нашел ответ о том, как его изменить. Как изменить значок для Jupiter? . В нем упоминается о необходимости доступа суперпользователя, и я подумал, что использовать sudo в терминале было бы проще, чем включить root или что-то еще, что мне нужно сделать, но я не могу найти здесь ничего, что объясняет, как извлечь файл tar.bz в каталог в терминале.

14
задан 13 April 2017 в 15:24

1 ответ

Метод 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
[ 1197] Метод 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

Однако большинству пользователей проще извлечь файлы, запустив Менеджер архивов из внутри Наутилуса, потому что тогда он открывается, зная, какой архив вы хотите использовать. (Вы можете передать имя архива как часть команды 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 .

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: