方法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
as 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
通过将Archive Manager运行为来以图形方式提取存档root
。为此,请按Alt+ F2并运行:
gksu file-roller
但是,大多数用户发现通过从Nautilus中启动存档管理器可以更轻松地提取文件,因为这样一来,它便会打开,知道您要使用哪个存档。(您可以将存档的名称作为file-roller
命令的一部分进行传递……但是,此时,您开始失去了GUI优于命令行的易用性。)
建议资源
要了解有关使用提取文件的更多信息tar
,请参见man tar
。
如果存档已存在.tar.bz2
,则应使用j
代替z
。如果是的话.xz
,您可以J
改用。有关所有其他信息,请参见该手册页。
要了解更多关于在Ubuntu执行管理任务,请参阅社区文档sudo
和root
,也man sudo
和man gksu
(或man kdesudo
如果你使用Kubuntu的)。
值得一读的有关文件压缩的社区文档,以了解有关归档和文件压缩的更多信息。(从技术上讲,这是两个相关且重叠但不同的事物。例如:.tar
文件是归档文件。.gz
文件被压缩。)
在大多数情况下,您tar
可能不会使用它来创建和还原备份,但这样做可能会很有用,此外,了解它的工作原理有助于您更好地了解tar
可以做什么和不能做什么以及如何使用它。如果您对此感兴趣,请参阅有关使用备份系统tar
的社区文档。
sudo tar -xzvf example.tar.bz
,您真的无法通过谷歌搜索找到它吗?:P