方法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/pixmapsas 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