`command.*` は親ディレクトリで動作します。

`command.*` は親ディレクトリで動作します。

私たちのチームの誰かがユーザーのホームディレクトリ内のすべての隠しディレクトリに対するユーザー権限を繰り返し変更しようとしています。この目的のために、彼は次のコマンドを実行しました。

cd /home/username
chown -R username:groupname .*

私たちは、彼が実際に/ home内のすべてのユーザーディレクトリの権限を繰り返し変更したことを知って非常に驚きました。なぜならやはり.*同じだからです。..Linuxでこれらの動作を期待しましたか?

ベストアンサー1

.*を使って何かをしようとすると、いつもやけどをして、ずっと前に文字クラスを使うように切り替えました。

chown -R username.groupname .[A-Za-z]*

それが私がすることです。

編集:誰かが例えばドットファイルを取得できないと指摘しました._Library。たとえば、使用するすべての文字クラスをキャプチャすることは次のとおりです。

chown -R username.groupname .[A-Za-z0-9_-]*

おすすめ記事