chown
マンページから:
The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect.
-H if a command line argument is a symbolic link to a directory, traverse it
-L traverse every symbolic link to a directory encountered
-P do not traverse any symbolic links (default)
-H
とオプションの正確な違いは何ですか-L
?私が理解しているように、ディレクトリ-H
シンボリックリンクナビゲーションは、そのディレクトリが引数として指定されている場合にのみ許可され、-L
いずれの場合でもすべてのディレクトリシンボリックリンクがナビゲートされます。 (このオプションは、chown
このオプションを使用して再帰的に呼び出された場合にのみ適用されます-R
。非再帰モードでは、引数で指定されたディレクトリシンボリックリンクは常に巡回されます。)これは正しいですか?
答え1
あなたの理解は正確です。このオプションは同じです。オプションfind
。
だから
chown -R .
または
chown -R -P .
シンボリックリンクを逆参照せずに所有者を再帰的に変更します。
chown -R -H *
所有者を再帰的に変更して、現在のディレクトリ内のすべてのシンボリックリンクを逆参照します(これは引数の一部になるため)。
chown -R -H .
それでもシンボリックリンクは逆参照されていません。
chown -R -L .
chown -R -L *
どちらも逆参照記号です。
(上記の例とは別に、シェルのワイルドカードオプションに従って、.
そして*
必ずしも同じ結果を生成するわけではありません。*
通常はドットファイルと一致しません。)