我是新手Linux
,目前正在尝试执行以下操作:
- 将 wordpress-4.1.1.zip 的内容解压缩到其所在目录,即 /my-test-site/wordpress-4.1.1.zip
据我所知,unzip
我可以从目录中运行此命令:
unzip wordpress-4.1.1.zip
但这给我留下了一个名为 wordpress 的子目录。然后,我可以进入子目录并运行此命令,以便将文件上移一个级别:
mv * ../
如果我这样做,我就会在 my-test-site 目录中拥有我想要的所有 WordPress 核心文件。但我想知道是否可以运行 unzip 命令,将内容直接提取到 my-test-site 目录中,并且不创建包含文件的子目录?
谢谢
答案1
您可以使用两个命令行选项来unzip
获得所需的结果,前提是 zip 不包含子目录。
unzip -j -d /my-test-site wordpress-4.1.1.zip
请注意,如果您的邮政编码是这样的:
foo
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
├── 9
└── bar
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
└── 9
使用此选项意味着 中包含的文件foo/bar
将破坏(替换其内容)位于 中的所有文件foo
。即,该-j
选项删除全部相对于 zip 中文件位置的路径,并将它们放入当前目录(默认)或选项指定的目录中-d
。
如果您的 zip 有子目录,您的方法将是提取该 zip 文件的方法。
您始终可以为该命令设置别名:
alias wp_unzip='mv wordpress-4.1.1.zip /my-test-site && \
cd /my-test-site && unzip wordpress-4.1.1.zip && \
mv wordpress/* . && rmdir wordpress'