システムへの変更に関してこれら2つのコマンドmkdir -p
の違いは何ですか?install -d
答え1
mkdir -p
との主な違いは、install -d
ディレクトリがすでに存在する場合install -d
所有権とファイルモードビットのみを設定しようとします。。
install -d
make_dir_parents
通話をpreserve_existing
次に設定します。false
mkdir -p
make_dir_parents
呼び出しをpreserve_existing
に設定しますtrue
。
preserve_existing
もしそうなら、ディレクトリがすでに存在する場合、関数は所有true
権とファイルモードのビットを設定しようとしません。
mkdir -p
そしてinstall -d
coreutilsで同じ関数を呼び出しますmake_dir_parents
。
Coreutil ソース:
答え2
まず、mkdir -p
POSIXですが、そうではinstall
ありません。それから、私たちは始めていますGNUinstall
ドキュメント:
--directory
()オプションを付与すると、-d
install
目次そして欠けている親ディレクトリ。オプションや現在のumaskにu=rwx,go=rx
関係なく、-m
親ディレクトリは ""(755)モードを使用して作成されます。バラよりディレクトリ Setuid と Setgid、親ディレクトリからset-user-IDおよびset-group-IDビットを継承する方法を学びます。
そして:
'
-d
'
'欠落している親ディレクトリを作成し、デフォルトの--directory
プロパティ
を提供します。次に、指定された各ディレクトリが作成され、その所有者、グループ、およびモードがコマンドラインで指定されたディレクトリまたはデフォルトに設定されます。
だから:
- GNU の場合、
install
親ディレクトリの権限が異なる場合があります。 install
リーフディレクトリの所有権を設定できます。