chmodやchownのreferenceオプションを知った時は目から鱗だった話

元々ホスティング会社で働いていたので、その特性上ownerやpermissionを色々と弄る事が多く、数年前の社会人時代にchmodやchownをもっと楽に使えないかなぁと調べた時に目から鱗だったのがchmodやchownのreferenceオプションでした。

今回は単にreferenceオプション楽ですよね、という記事なのでご存知の方は退屈な記事だと思いますが、まわりに聞いてみた所意外と知られていなかったりしたので、ブログエントリにしておこうと思います。

referenceオプションを使うと、任意のファイルを指定することで、変更対象のownerやpermissionを指定したファイルと同じ設定にすることができます。

例えば、/bin/pingみたいなpermissionって僕は覚えられなくて通常の実行方法ではわりと面倒だと思うのですが、それと同じowner、permissionにしたい場合は、

[program lang=”bash” escaped=”true”]

$ ls -l /bin/ping
-rwsr-xr-x 1 root root 44168 May  7 14:51 /bin/ping
$ touch myprogram
$ ls -l myprogram
-rw-rw-r--  1 matsumotory matsumotory         0 Jun 22 21:10 myprogram
$ sudo chown --reference=/bin/ping myprogram
$ sudo chmod --reference=/bin/ping myprogram
$ ls -l myprogram
-rwsr-xr-x 1 root root 0 Jun 22 21:05 myprogram

[/program]

みたいな事ができるので、大変楽になります。本来は、chmodとchownを使いまわす際に755とかmatsumotry.matsumotryとか引数を書きなおして実行する必要があったのに対し、referenceオプションを使うとchownとchmodのown文字列とmod文字列を3文字変更するだけで達成したい変更処理が実現できるのも、キーボード的にも省エネで気に入っています。

というわけで、単なるネタ記事になってしまいましたが、どうぞreferenceオプションをよろしくお願いします。