В чем причина использования -f в tar

Проблема в том, что для использования flatpak enterнеобходимо иметь права root, поскольку для этого требуется вводить различные пространства имен контейнеров. Что делает это более сложным, так это то, что sudoизменяет переменные среды, из-за чего flatpak не знает об экземплярах вашего приложения.

Это приводит к довольно неочевидному -использованию:

sudo -E flatpak enter instance-id /bin/bash
2
20.08.2019, 13:58
1 ответ

Это параметр, который вы используете, чтобы указать фактический путь к архиву, с которым вы хотите работать, либо для извлечения, либо для создания или добавления к нему и т. д. Если вы не используете -f archivename, различные реализации tarбудет вести себя иначе (некоторые могут попытаться использовать устройство по умолчанию в /dev, стандартный поток ввода или вывода или файл/устройство, указанное в переменной среды ).

В командной строке, которую вы цитируете,

tar -zxvf myFile.tar.gz

, что совпадает с

tar -z -x -v -f myFile.tar.gz

вы используете эту опцию с myFile.tar.gzв качестве аргумента опции -, чтобы указать, что вы хотите извлечь из определенного файла в текущем каталоге.

Обратитесь к руководству для tarвашей системы, чтобы узнать, какой поток данных или устройство будет использовать утилита, если вы не используете опцию -f.

Реализация GNU tar, например, имеет параметр --show-defaults, который показывает параметры по умолчанию, используемые tar, и, вероятно, будет включать параметр -f(, этот параметр по умолчанию может быть переопределен установка переменной окружения TAPE).

3
27.01.2020, 21:53

Теги

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