我将如何 tar 提取管道 cd?

How would I tar extract pipe cd?

所以我发现我可以通过管道传输以下两个命令:

sudo wget https://example.com/folder.tar.gz
sudo tar xzvf folder.tar.gz

像这样:

sudo wget -q http://example.com/folder.tar.gz -O - | tar xzvf -

所以现在我想知道如何 cd 进入这个文件夹。

我猜的:

sudo wget -q http://example.com/folder.tar.gz -O - | tar xzvf - | cd
# and
sudo wget -q http://example.com/folder.tar.gz -O - | tar xzvf - | cd -

但这两个不起作用。我很确定我对管道不是很了解。

通过管道 link 将一个程序的输出传送到另一个程序的输入 - 这就是管道如何将花园水龙头(水龙头)的输出传送到草坪洒水器的方式。

减号 (-) 是表示输入或输出的快捷方式 - 具体取决于 position/context。

您的 wget 命令从网络上抓取一些数据,并且由于 -,通过管道将其发送到 tar

tar 命令从管道中读取数据,因为它 -,并创建一些文件和目录。

tar 命令不会向任何进一步的管道发送任何内容,因此 cd 不会读取任何内容。您也不知道要前往的目录名称。如果你这样做了,你可以像这样去那里作为后续行动:

wget ... - | tar ... - ; cd SOMEWHERE

或者您可以使用 tar 命令 运行 成功地使其成为条件:

wget ... - | tar ... - && cd SOMEWHERE