如何将zip文件解压缩到指定文件夹?

我有一个zip文件,需要解压到另一个文件夹中。当我设置解压到该文件夹时,显示“权限被拒绝”。我在这里阅读了如何以root和超级用户身份登录终端,但找不到任何帮助我的内容。
我需要将一个文件从我的“下载”目录解压到“/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins”。
请说明如何将zip文件解压到正确的文件夹中。

你只能使用命令行吗?你试图解压到哪个文件夹?文件的扩展名是.zip吗? - Dan
是的,扩展名是.zip。我正在尝试将这个zip文件解压到Plex媒体服务器插件中...它在我的下载文件夹里,但当我尝试解压到新目录时,它显示我没有权限。 - Tj Cooke
你试图将它提取到哪个文件夹中? - Parto
我希望它确切地放在/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins这个位置。 - Tj Cooke
3个回答

我们将提取到一个不同的文件夹,以确保权限不会成为阻碍。
  1. 打开终端(按下Ctrl+Alt+T应该可以)。

  2. 现在创建一个临时文件夹来解压文件:

    mkdir temp_for_zip_extract
  3. 让我们将zip文件解压到那个文件夹中:

    unzip /path/to/file.zip -d temp_for_zip_extract
你现在应该有你的zip文件temp_for_zip_extract的内容,并且可以将它们复制到所需的文件夹中。
如果你无法将文件复制到你的文件夹中,请检查目标文件夹的权限。
下载文件夹的路径取决于你用来下载的方式,尝试使用~/Downloads。如果找不到,请在终端中尝试以下命令:
cd ~;  find -name 'filename.zip'

当然,您也可以使用文件管理器。根据您的环境,有Nautilus、Nemo、Thunar等多种选择。启动文件管理器,双击您的zip文件,就像在Windows中一样。

好的,现在我猜我输入了错误的路径名...感觉很愚蠢问这个问题,但在终端中我的下载文件夹的默认路径是什么? - Tj Cooke
基本上,我想给我的Plex媒体服务器添加一个插件,我只需要将这个bundle添加到里面,这样就可以在服务器上安装频道了。 - Tj Cooke
请看一下我的修改,以了解如何找到你的文件。我相信你只是遇到了权限问题。 - Jan
是的,这是一个权限问题,我在终端中找不到它,但我可以在文件夹下的我的名字/home/Downloads中看到它,但在终端中找不到,显示没有这个文件或目录。 - Tj Cooke
有没有一个程序或者什么东西可以直接解压到适当的文件夹,并且已经设置好了权限? - Tj Cooke
关于文件管理器的附加信息已添加 - Jan
好的,我已经用文件压缩器打开了它,但在提取时出现了权限问题...你能推荐一个简单快捷的文件管理器供我安装和使用吗? - Tj Cooke
以超级用户身份打开Nautilus。 gksudo nautilus - Dan
好了,就这样吧!非常感谢,这真是有点令人困惑,但是根据我所看到的,它已经安装好并且运行正常了,哈哈笑。 - Tj Cooke
谢谢。选项在命令帮助的右侧部分。这就是为什么我没有看到它。 - Peter Chaula
我第二次还是没有找到它。 - Peter Chaula
从文档(man unzip)中:默认行为(没有选项)是将指定的ZIP归档文件中的所有文件提取到当前目录(及其下面的子目录)中。 - Timo
我刚得到一个包含一个目录(旧名称)的目录。我该如何删除这个层级? - user677955
你可以缩短你的答案并将其作为第一行添加:使用“-d”标志提取到给定目录 - Timo
不需要执行mkdir temp_for_zip_extract,因为解压缩的第一步就是creating: temp_for_zip_extract,或者如果有子文件夹的话可能是creating: temp_for_zip_extract/some_subfolder - undefined

你的目标目录是由root所有(/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins),因此你不能像普通用户一样写入它。

不要试图修改权限,你可以使用sudo以超级用户身份解压缩。

sudo unzip ~/Downloads/whatever.zip -d "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins"

我建议你先将这些文件放到一个临时目录中,以确保它们符合你的预期,并且不会损坏/破坏你的 Plex 安装。
unzip ~/Downloads/whatever.zip -d /tmp/whatever

然后在终端输入cd /tmp/whatever,并验证内容是否符合预期。如果是的话,就可以继续执行我上面展示的sudo命令。

1我最终得到的是/tmp/whatever/whatever,其中实际包含了所有文件。如果我不知道第二个whatever的名称,我该如何删除它? - user677955

试试这个: 解压到当前目录,然后移动到你想要的目录: ls 压缩文件夹 输出:
- folder1
- file1
- file2
...

unzip zipped_folder.zip;
mv zipped_folder destination_folder/;

运行命令ls destination_folder将会返回以下结果:
zipped_folder
- folder1
- file1
- file2
...
existing_folder
- ...
- ...
existing_file1
existing_file2
...