« Googleロゴ - セサミストリート40周年 その2 | トップページ | Googleロゴ - セサミストリート40周年 その3 »

2009年11月 6日 (金)

ファイルのx権を削除する

WindowsからLinuxへ、Sambaを利用してファイルをコピーすると、ファイルやディレクトリにx権が付加される。

これがいやならSambaの「create mask」パラメータあたりを設定すれば解決するが、デフォルトが「0744」なので、ちょっとLinuxをインストールして、ちょっとSambaを使ったときなど、設定し忘れる。

また、すでに付加されたファイルに対しては、x権を削除したい。

ってことで、コマンドで対処。

最初は、シェルスクリプトを作って、指定ディレクトリ以下のファイル一覧を取得し、ディレクトリなら再帰呼び出し、ファイルならchmod、なんてことをしていたが、何か別のことを調べているときに、とっても便利なコマンドを発見してしまった。

「find」コマンド。findコマンドは、ファイルを探すときなどに使うが、それ以上のことができてしまう、とってもすごいコマンドだった。

findコマンドは、ファイル/ディレクトリの種別指定ができる。「-type」オプション。「-type f」ならファイルのみが処理対象で、「-type d」ならディレクトリのみ。

findコマンドは、検索したファイルを画面表示する以外に、検索したファイルに対してコマンドを実行できる。「-exec」オプション。

したがって、カレントディレクトリ以下のファイルのみに対して、x権を削除するfindコマンドは、次のようになる。

find . -type f -exec chmod a-x {} \;

{}は、検索したファイル名が入る部分。また「\;」はコマンドラインの終了を示す。

外部リンク:
ちょっとだけカッコよく find(1) を使う (findコマンドの説明が、非常に分かりやすいページ) - Studio Sixnine.

« Googleロゴ - セサミストリート40周年 その2 | トップページ | Googleロゴ - セサミストリート40周年 その3 »

Linux」カテゴリの記事

2019年11月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Amazonリンク

ダイビング写真(swf)

ブログ内検索

  • Google
    WWW を検索
    ブログ内を検索

リンク(いつもお世話さま)

  • ソニーストア
     iTunes Store(Japan)
    Just MyShop(ジャストシステム)
    ブックオフオンライン
無料ブログはココログ