Debian コンピュータに Dropbox をインストールしようとしているときに指示がありました。
cd ~ && wget -O - "some website leading to the download of a tar file" | tar xzf -
しかし、私がしたことは、次のように入力しただけでした。
wget -O - "some website leading to the download of a tar file"
ターミナルにゴミが多すぎます。どういう wget -O -
意味ですか?私のコンピュータに損傷を与えますか?
答え1
マニュアルページを確認してくださいwget
。
-O file
--output-document=file
The documents will not be written to the appropriate files, but all
will be concatenated together and written to file. If - is used as
file, documents will be printed to standard output, disabling link
conversion. (Use ./- to print to a file literally named -.)
Use of -O is not intended to mean simply "use the name file instead
of the one in the URL;" rather, it is analogous to shell redirection:
wget -O file http://foo is intended to work like
wget -O - http://foo > file; file will be truncated immediately, and
all downloaded content will be written there.
したがって、次のコマンドを使用して「URL」の内容をファイルにダウンロードするか、-O somefile
その内容をダウンロードしてSTDOUTを介して他のツールにリダイレクトすることで操作を実行できます。この場合、彼らがやっていることはまさにそれです| tar xvf -
。
あなたの命令:
$ cd ~ && wget -O - "some website leading to the download of a tar file" | tar xzf -
tar
上記は「URL」からtarballをインポートし、ダウンロード時にファイルシステムに解凍できるようにコマンドにリダイレクトします。
答え2
wget -O - <url>
wgetはURLをダウンロードし、ファイルをSTDOUTとして印刷するので、端末にゴミがあることを意味します。完全なコマンドは出力をパイプして有用tar xzf
なファイルを抽出して生成します。
答え3
wget -O | gzip -c > file_name.gz
つまり、wgetは型に関係なくwwwからデータを取得します。そしてファイルを出力します。 HTMLでも、FTPのファイルでもかまいません。
gzipはファイルを圧縮形式で作成します。
詳しくはヘルプをご覧ください。
$ man wget
$ man gzip
$ wget --help ( for just option of the wget)
$ gzip --help
答え4
以下は理解するためのユースケースですwget -O
。
単一ファイルのダウンロード
wget http://machineintellect.cn/testfile.zip
このコマンドはファイルをダウンロードし、testfile.zip
最後のファイル名にちなんで名前を付けます。/
しかし、wget
このようなURLに直接使用すると
wget http://machineintellect.cn/download?id=1
ダウンロードしたファイルの名前はdownload.aspx?id=1080
目的の名前ではありません。
-O
したがって、次のようにターゲットローカルファイル名を指定するために使用できます。
wget -O target-local.zip http://machineintellect.cn/download.aspx?id=1080
このコマンドは target-local.zip という ua ファイルを提供します。