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

find コマンドの結果に基づいてファイルを chmod する方法

少しの間、あなたの要件について考えてみてください。ディレクトリ ツリーに実行可能ファイル (スクリプトまたはバイナリ) がありますか?その場合、実行権限を (自分自身からも) 削除しますか、それとも実行権限をそのままにしておきますか?実行権限を変更しない場合は、 chmod o-w を使用する必要があります 削除 (減算) w o からの儀式許可 これらのフィールドのみ。

また、Anthon が指摘するように、find 他の回答で指定されたコマンドは、chmod を実行します 見つけたすべてのユーザーが書き込み可能なファイルごとに 1 回プログラムします。と言う方が少し効率的です

find  top-level_directory  -perm -2  -type f  -exec chmod o-w {} +

これは chmod を実行します 一度に多くのファイルを処理し、exec の数を最小限に抑えます。

追記2 の先頭のゼロは必要ありません .


find /dir/stuct/path -perm -0002 -type f -exec chmod 664 {} \;

「{}」は、find によって見つかったファイルを表します。 「\;」実行する必要があるコマンドを終了します。


Linux
  1. コマンドラインでのファイルの検索(ハウツー)

  2. コマンドラインでCentOS8でファイルを検索する方法

  3. Linuxで重複ファイルを見つける方法は? fdupesコマンドのヘルプがここにあります!

  1. Linuxのchmodコマンドの概要

  2. Grepコマンドを使用してファイル内のテキストを検索する方法

  3. Linux で「find」の結果を mv にパイプする方法

  1. Linux の find コマンドを使用してファイルを検索する方法

  2. Ubuntu でゴミ箱からファイルを削除するにはどうすればよいですか?

  3. Windowsのコマンドラインからmysqlデータディレクトリを見つける方法