GNU "install" -dフラグ - どのように機能しますか?

GNU "install" -dフラグ - どのように機能しますか?

私はディレクトリをコピーしてその構造を維持するメイクファイルルールを作成しようとしています。メイクファイルの他のすべてのルールはinstallそれを使用するので、一貫性を維持したいと思います。

マンページには次のように記載されています。

要約

   install [OPTION]... [-T] SOURCE DEST
   install [OPTION]... SOURCE... DIRECTORY
   install [OPTION]... -t DIRECTORY SOURCE...
   install [OPTION]... -d DIRECTORY...

   -d, --directory
          treat all arguments as directory names; create all components of
          the specified directories

さて、それが私に必要なようですが…フラグは言うことができません。インストールするターゲットディレクトリをどのように指定しますか?

ローカルハードドライブにランダムなディレクトリ構造を作成して基本テストを試しました。

~>tree test
test
├── a
│   └── b
│       └── c
│           └── e.txt
└── d

4 directories, 1 file

次に、実行してinstall -d何が作成されたかを確認します。

~>install -d test test2
~>tree test2
test2

0 directories, 0 files

何もしません!

誰もが正しい方向に私を指すことができますか? "gnu install -dフラグ"を検索してもあまり役に立ちません。

答え1

install -Dこのコマンドは実際に私が望むようです。

マンページ:

-D最後のコンポーネントを除いて、DESTのすべての主要コンポーネントを作成し、SOURCEをDESTにコピーします。

各ファイルを個別に指定しないと、うまく機能します。

答え2

install -dディレクトリの作成にのみ使用されます。 2つのディレクトリを作成するtestように指示しますtest2。使用する必要があるかもしれませんtesttest2installcp

答え3

一般的に望むのは、何も繰り返すことなくファイルを正しいフォルダにインストールすることです。検索とインストールを使用して、インストールスクリプトをより乾燥させることができます。

find SOURCE/ -type f -exec install -vDm 755 {} THERE/{} \;

関連情報