GNU/Linux >> Linux の 問題 >  >> Linux

アクセス許可を特定のファイル パターン/拡張子に変更するには?

検索を使用:

find . -name "*.sh" -exec chmod +x {} \;

find と xargs の見事な組み合わせを試してみてください。

find . -iname \*.sh -print0 | xargs -r0 chmod +x

. 開始するディレクトリです。この場合は作業ディレクトリです。


find の最新バージョンで 、あなたは xargs の利点を得る コマンドへの複数の呼び出しを回避するアプローチ (chmod )。コマンドはわずかに異なります。

find . -name "*.sh" -exec chmod +x {} +

find からの抜粋 Arch 2015.09.01 のドキュメント (強調 私が追加):

<ブロック引用>

-exec command {} +

-exec のこの変種 アクションは、選択されたファイルに対して指定されたコマンドを実行しますが、コマンド ラインは、選択された各ファイル名を最後に追加することによって構築されます。コマンドの呼び出しの総数は、一致したファイルの数よりもはるかに少なくなります .コマンドラインは xargs とほぼ同じ方法で構築されています コマンドラインをビルドします。 {} の 1 つのインスタンスのみ コマンド内で使用できます。コマンドは開始ディレクトリで実行されます。


Linux
  1. 検索コマンドの後にMvコマンドを統合する方法は?

  2. Fat32ドライブのファイルパーミッションを変更するには??

  3. find でディレクトリを除外する方法。指図

  1. コマンドラインからアクセス許可と所有者を変更する方法

  2. CentOSで特定のコマンドが属するパッケージを見つける方法は?

  3. 「tar」コマンドと「find」コマンドを組み合わせる方法

  1. Linuxでファイルを見つける方法

  2. findコマンドを使用して権限を監査する方法

  3. cPanelファイルマネージャーでファイルのアクセス許可を変更する方法