ターミナルコマンドを学ぶためのガイドに従っていますが、Playgroundディレクトリで "file-A"という名前のすべてのファイルを見つけるために、次のコマンドでstdinを参照するためにハイフンを使用することがわかりました。私はfindコマンドで見つけたファイルを参照する使い方を理解しています。もちろん、tarにパイプされ、--files-from =オプションを使用してファイルに読み込まれるように設定されています。 gzipコマンドで名前を変更する前に、アーカイブの中間名を定義する方法を理解できません。
find ./playground -name 'file-A' | tar -cf - --files-from=- | gzip playground.tgz
stdinの値はstdinファイルで定義されているパスのリストではありませんか?それでは、これはどのように受け入れ可能なアーカイブ名になりますか?
ありがとう
答え1
マニュアルに見つかりませんtar
。ただし、-
ツールでは、これをstdinまたはstdoutを参照する擬似ファイル名として使用することがよくあります。tar
どちらもifを使用します。-f -
出力を話し、からstdout
ファイル--files-from=-
名のリストを取得するように言いますstdin
。 in と out は暗黙的であり、これらのオプションにはそれぞれ出力と入力が必要です。
また、gzip
名前を変更するものではありません。そして一時ファイルはなく、データはパイプを介して渡されます。